
Linux常见的文件系统有ext2, ext3, ext4, xfs
ext2文件系统
重点:
- 采用索引节点的系统存储文件和目录信息
- 为防止数据碎片化, 采用区块群组来减轻
缺点:
- ext2文件系统格式化时间巨长
- ext2文件系统容器因为系统奔溃导致文件系统损坏
日志文件系统
原理: 将数据写入存储设备之前, 先将文件的更改写入日志中, 数据成功写入后删除日志相关内容.
三种广泛使用的日志方法
| 方法 | 描述 |
|---|---|
| 数据模式 | 索引节点和文件都会被写入日志, 丢失数据风险低但性能差 |
| 有序模式 | 只有索引节点会写入日志, 只有数据写入成功后删除索引节点 |
| 回写模式 | 索引节点写入日志,但不控制文件数据何时写入 |
写时复制文件系统
copy-on-write, COW技术
原理: 当写入数据时, 会使用克隆或可写快照.修改过的数据并不会直接覆盖当前数据而是被放入文件系统中的另一个位置上.
ZFS文件系统和Btrf文件系统
文件系统操作
格式化文件系统和挂载
- 创建文件系统 mkfs.ext4 /dev/sdb1
不同的文件系统使用不同的工具创建
| 工具 | 用途 |
|---|---|
| mkefs | ext文件系统 |
| mke2fs | ext2文件系统 |
| mkfs.ext3 | ext3 |
| mkfs.ext4 | ext4 |
| mkreiserfs | ReiserFS |
| jfs_mkfs | JFS |
| mkfs.xfs | XFS |
| mkfs.zfs | ZFS |
| mkfs.btrfs | Btrfs |
- 挂载到虚拟目录下某个挂载点/mnt/my_partition
mount -t ext4 /dev/sdb1 /mnt/my_partition
这种挂载文件系统的方法只能临时挂载文件系统, 重启后不会自动挂载. 强制自动挂载需要添加到/etc/fstab文件中
文件系统的检查与修复
fsck命令
xfs文件系统
mkfs.xfs格式化文件系统
xfs_admin
修改xfs文件系统配置参数
示例:
xfs_admin -L data /dev/sdc1 #给文件系统设置标识
