Linux

/dev/vda1 為 ext3 時,為什麼 /sys/fs/ext4/vda1 存在?

  • May 29, 2015

我正在嘗試調整我的文件系統以進行一些涉及大量文件的操作。然後我對我什至使用的 FS 感到困惑。

tune2fs -l /dev/vda1包含:

Filesystem magic number:  0xEF53

這意味著它是 ext2、ext3 或 ext4,因為它們共享相同的幻數。

blkid /dev/vda1說:

/dev/vda1: UUID="c38b3343-603a-49d3-85e0-88af1c8617c5" TYPE="ext3" PARTUUID="1bf082a8-01"

/etc/fstab包含:

UUID=c38b3343-603a-49d3-85e0-88af1c8617c5 / ext3 (...)

**mount(和 /proc/mounts)**說:

/dev/vda1 on / type ext3 (rw,relatime,errors=remount-ro,data=ordered)

絕對好像我正在使用 ext3。

但隨後,不知從何而來

liam@lorenz /sys/fs % ls
cgroup  ext4  pstore

liam@lorenz /sys/fs % ls ext4
features  vda1

liam@lorenz /sys/fs % cd /proc/fs

liam@lorenz /proc/fs % ls
ext4 jbd2 nfsd

liam@lorenz /proc/fs % ls ext4
ext4

到底是怎麼回事?自建構此 VM 以來一直是 ext3,並且從未轉換或安裝為 ext4。

unname -a:

Linux lorenz 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) x86_64 GNU/Linux

發生的事情是 ext4 是 ext3 是 ext2。也就是說,它們是相同的文件系統,只是啟用了更新的功能。超級塊中描述了啟用了哪些功能。由於 ext4 驅動程序支持所有以前的功能,它可用於掛載所有啟用較少功能的舊文件系統。核心保留了 ext2 和 ext3 模組的原始程式碼,因此它可以用於掛載較舊的文件系統而無需啟用較新的功能,但也可以使用 ext4 模組,並且大多數現代發行版使用設置它的配置選項建構核心將 ext4 驅動程序用於所有 3 種文件系統風格,而不是攜帶較舊的、功能較弱的程式碼。

引用自:https://serverfault.com/questions/695137