2015年1月24日 星期六

ext4

ext2:限制 2 TB, 1018files
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 使用。當時大多檔案系統當寫入時當機或斷電容易有檔案系統損壞的問題,以及用久後由於檔案儲存位置碎片分散化而造成效能變很差。
ext3
  • 2001 加到 Linux 2.4.15。類似其它檔案系統,使用日誌 (journaling) 解決斷電損壞問題。寫入以 transaction 形式儲存,有完成才送交到檔案系統。沒完成,重啟發現 transaction 沒完成則恢復原狀。這樣只會損失一個檔案,不會造成整個檔案系統毀損。ext3 有三種日誌等級:journal、ordered、和 writeback。
  • 使用 32-bit 定址,一般使用 4 KiB blocksize 時檔案大小達 2 TiB、容量達 16 TiB
ext4
  • 2008 加到 Linux 2.6.28,和 ext3 很類似,支援更大檔案系統、改善 resistance to fragmentation、效能更好、改進 timestamps.
  • 向後相容,可直接吃 ext3 檔案系統
  • 使用 48-bit 定址,理論上檔案大小達 16 TiB、容量達 1,000,000 TiB (1 EiB)。
參考
  1. http://e2fsprogs.sourceforge.net/ext2.html
  2. https://opensource.com/article/18/4/ext4-filesystem
  3. 典型用法是直接用在一個 block device 分割,或使用 loopback block device 連到一個檔案。

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...