- Linux的ext2文件系统
虚拟机的磁盘通常为 /dev/vd[a-p] 的格式。 若有使用到软件磁盘阵列的话,还有 /dev/md[0-128] 的磁盘文件名。使用的是 LVM 时,文件名则为 /dev/VGNAME/LVNAME 等格式。
Ext2 文件系统在格式化的时候基本上是区分为多个区块群组 (block group) 的,每个区块群组都有独立的 inode/block/superblock 系统。
- Data block
data block 是用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种。由于 block 大小的差异,会导致该文件系统能够支持的最大磁 盘容量与最大单一文件大小并不相同。
基本限制:
- Inode
Ext4 文件系统的 inode 容量已经可以扩大到 256Bytes 了,更大的 inode 容量,可以纪录更多的文件系统信息,包括新的 ACL 以及 SELinux 类型等, 当然,可以纪录的单一文件大小达 16TB 且单一文件系统总容量可达 1EB。
- Superblock
记录的主要信息有:
- 文件系统描述说明
- Block bitmap(区块对照表)
记录空闲block号码。
- Inode bitmap
记录空闲inode 号码。
可以使用dumpe2fs查看ext文件系统信息。
- 与目录树的关系
可以使用ls -I 指令查看文件夹内文件的inode号码,目录并不一定只占用一个block。
- EXT2/EXT3/EXT4 文件的存取与日志式文件系统的功能
新增一个文件的流程:
日志文件系统,避免数据不一致性。
- Linux支持的其他文件系统和VFS
使用以下命令查看系统支持的文件系统
查看系统已载入内存中支持的文件系统:
- VFS(Virtual Filesystem Switch)
整个 Linux 的系统都是通过一个名为 Virtual Filesystem Switch 的核心功能去读取 filesystem 的,使用者并不需要知道具体的文件系统是什么即可读取文件。
- xfs文件系统
ext家族支持度最广,但格式化慢。xfs 文件系统在数据的分佈上,主要规划为三个部份,一个数据区 (data section)、一个文件系统活动登录区 (log section)以及一个实时运行区 (realtime section)。
- 数据区
- 文件系统活动登录区
- 实时运行区
- 使用xfs_info查看文件系统数据