ext3 +日誌
ext4 相容 ext3, 2.6.28 開始, 支援大檔案系統及文件,效率,支援無日誌
-o noatime => 不存 access time 到 inode
-o discard
logical block:為了減少 bookkeeping,並以較大的傳送單位來增進速度,切成 logical block,通常為 4 KiB,跟 page size 一樣 (LBA block = 1024?)
block group:8x logic block byte 數的 logic block,所以通常有 32768 個 logic block = 128 MiB
block group 數目:全部大小/128 MiB
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout
簡歷
- 1991 Linus Torvalds 以 MINIX 作業系統發展原始 Linux kernel,初期沿用 MINIX 的檔案系統,檔名最多 14 字母,最大容量 64MB。1991 年典型的硬碟已經 40-140MB。
- 1992 ext 檔案系統,使用 Linux kernel 新的 virtual filesystem (VFS) abstraction layer,檔名可有 255 字母,容量達 2GB。主要問題是每個檔案只有一個 timestamping,而不是目前常見的有 inode 建立、檔案存取、和檔案修改三個 stamp。
- 1993 ext2 檔案系統改善並以商業等級來設計,容量達 TB 等級、檔案大小達 GB 等級,廣泛用在 Linux,移植回 MINIX,也可在 MacOS 和 Windows 使用。當時大多檔案系統當寫入時當機或斷電容易有檔案系統損壞的問題,以及用久後由於檔案儲存位置碎片分散化而造成效能變很差。
- 2001 加到 Linux 2.4.15。類似其它檔案系統,使用日誌 (journaling) 解決斷電損壞問題。寫入以 transaction 形式儲存,有完成才送交到檔案系統。沒完成,重啟發現 transaction 沒完成則恢復原狀。這樣只會損失一個檔案,不會造成整個檔案系統毀損。ext3 有三種日誌等級:journal、ordered、和 writeback。
- 使用 32-bit 定址,一般使用 4 KiB blocksize 時檔案大小達 2 TiB、容量達 16 TiB
- 2008 加到 Linux 2.6.28,和 ext3 很類似,支援更大檔案系統、改善 resistance to fragmentation、效能更好、改進 timestamps.
- 向後相容,可直接吃 ext3 檔案系統
- 使用 48-bit 定址,理論上檔案大小達 16 TiB、容量達 1,000,000 TiB (1 EiB)。
- http://e2fsprogs.sourceforge.net/ext2.html
- https://opensource.com/article/18/4/ext4-filesystem
- 典型用法是直接用在一個 block device 分割,或使用 loopback block device 連到一個檔案。
沒有留言:
張貼留言