OSWikiHK: 請協力 GPLv3 的中文翻譯工作。
Ext4
OSWikiHK,自由中文開源知識庫
Ext4 (Fourth extended filesystem) 是 ext3 的後繼日誌式檔案系統。
Ext4 第一個正式穩定版收錄在 2009 年年尾推出的 Linux 2.6.28 並在 2009 年中開始被包括 Fedora 11 和 Ubuntu 9.10 等各主要 GNU/Linux 採用作為預設檔案系統。
目录 |
特點
兼容 Ext3
正如 Ext3 成功之道在於和 Ext2 完全兼容,Ext4 同樣兼容 Ext3。 Ext3 的檔案系統被掛載成 Ext4,由 Ext3 升級至 Ext4 亦只是兩個簡單的命令,無需重新格式化檔案系統,無需移動舊檔案,完全無痛。
而 Ext4 的檔案系統如果沒有檔案使用 extent 方式存放,亦可以直接被掛載成 Ext3。
突破檔案系統、檔案大小和目錄大小限制
Ext4 的最大檔案系統大小由 2TB 大增至 1 EB (Extrabyte, 1000 Petabyte),足夠應付未來需要。最大檔案大小亦由 2TB 增至 16 TB,Ext2/Ext3 的目錄大小不可以最於多 32KB,Ext4 取消了這個限制。加上 B-Tree 目錄索引,大大減低在大目錄搜索檔案的時間。
支援 Extent
Ext4 其中一個最主要的改動就是支援 Extent,檔案的存放使用多個連續的區塊。記錄存放檔案內容的區塊就記錄每段 extent 的起始區塊位置和長度,而非傳統記錄每個區塊位置,節省不少 metadata 空間。加上讀取檔案內容和分配空間時可以一次處理多個區塊,減少輸入/輸出操作次數,大大加快系統效能。Extent 的使用亦減低 external fragmentation 的機會。
納秒級高精確時間
傳統 Ext2/Ext3 的檔案時間資料只以秒作最小單位。這本已足夠一般正常使用,但隨著多核 (multi-core) 和叢集 (clustering) 的技術發展,Ext4 把檔案時間資料的精確度提無至納秒 (nano second, 10-9s) ,時間範圍亦增加 2 個位元令 Ext4 的時間紀錄足夠未來 500 多年使用。
歷史
Ext4 原本只是一系列 Ext3 擴充元件以令 Ext3 支援 64-bit 儲存限制和其他效能上的改進。[1] 但部份 Linux 核心開發者以影響穩定為理由反對直接在 ext3 加入這些擴充[2],並建議分拆 ext3 的源碼作新擴充元件的開發,並改名為 ext4。最後,這建議被接納。2006 年 6 月 28 日,ext3 的管理者 Theodore Ts'o 宣佈 ext4 的開發計劃。[3]
一個初步的開發版本 ext4 被放入 Linux 2.6.19 中。2008 年 10 月 11 日,ext4 在 Linux 2.6.28 源碼上被標記為穩定[4],表示 ext4 的開發週期已完結並建議使用 ext4。而 Linux 2.6.28 亦在 2008 年 12 月 24 日平安夜正式被發佈。[5]
使用 Ext4
在 GNU/Linux 中,管理 Ext4 檔案系統的工作主要使用 e2fsprogs 中的一系列工具。
- 格式化存儲裝置成為 Ext4 檔案系統 - 可以使用命令 mke2fs -T ext4 或 mkfs.ext4。
- 升級 ext2/ext3 檔案系統至 ext4
- 使用外部日誌 (external journal) - 可以增加檔案系統效能。
- 檢查檔案系統 - 可以使用命令 e2fsck 或 fsck.ext4。
- 設定常規檔案系統檢查
- 設定檔案系統的系統管理員保留空間 - Ext4 檔案系統預設保留 5% 的空間給系統管理員工作之用,這空間大小可以使用命令 tune2fs -m 或 tune2fs -r 改變。
- 設定錯誤處理方案 - 可以使用命令 tune2fs -e 改變。
- 顯示檔案系統標簽 - 可以使用命令 e2label。
- 改變檔案系統標簽 - 可以使用命令 e2label 或 tune2fs -L。
- 設定檔案系統 UUID - 可以使用命令 tune2fs -U。
參考資料
- ↑ Mathur, Avantika, Cao, Mingming, Bhattacharya, Suparna, Dilger, Andreas, Tomas, Alex and Vivier, Laurent (Jun 2007). “The new ext4 filesystem: current status and future plans”. Proceedings of theLinux Symposium June 27–30, 2007, Ottawa, Ontario, Canada.
- ↑ Linus Torvalds (2006-06-09) “Re: [Ext2-devel] extents and 48bit ext3”. Linux Kernel Mailing List.
- ↑ Theodore Ts'o (2006-06-28). “Proposal and plan for ext2/3 future development work”. Linux Kernel Mailing List.
- ↑ Theodore Ts'o (2006-10-11). “ext4: Rename ext4dev to ext4”. Linux kernel tree.
- ↑ Leemhuis, Thorsten (Dec 23, 2008). “Higher and further: The innovations of Linux 2.6.28'”'. Heise Online.
請參看
- 其他 Linux 主要的檔案系統 - 包括 Ext2、Ext3、ReiserFS、JFS 和 XFS。
- 其他 GNU/Linux 支援的檔案系統 - 包括 procfs、tmpfs、JFFS2、UFS、FAT 和 NTFS。
- 置換空間 (Swap space)
外部連結
- 維基百科: Ext4 - 維基百科對 Ext4 的說明
- Ext4 (and Ext2/Ext3) Wiki
- Linux Kernel Newbies: Ext4
- IBM DeveloperWorks: “Anatomy of ext4” (M. Tim Jones 2009-02-17)
- Proceedings of the Linux Symposium June 27–30, 2007, Ottawa, Ontario, Canada: “The new ext4 filesystem: current status and future plans” (Avantika Mathur, Mingming Cao, Suparna Bhattacharya, Andreas Dilger, Alex Tomas & Laurent Vivier 2007-06)
- IBM DeveloperWorks: “Migrating to ext4: Preparing for the newest Linux file system” (Roderick W. Smith 2008-04-30)
页面分类: 未完成小作品 | Filesystem | Ext4

