理论:
1. 常见文件系统
Linux 文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap(交换分区)iso9660(光盘)
- Windows:fat32, ntfs
- Unix: FFS, UFS, JFS2
网络文件系统: NFS, CIFS
集群文件系统: GFS2, OCFS2
分布式文件系统: ceph, moosefs, mogilefs, GlusterFS, Lustre
在 centos7 上, 查看支持的文件系统: cat /proc/filesystems 其中没写 nodev 的为正在使用的文件系统
2. 根据其是否支持 "journal"(日志) 功能分类:
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
3. 文件系统的组成部分:
内核中的模块: ext4, xfs, vfat
用户空间的管理工具: mkfs.ext4, mkfs.xfs, mkfs.vfat
说明: 用户空间的管理工具调用内核中的模块, 来实现文件系统的管理功能
4.Linux 的虚拟文件系统: VFS
为了方便开发人员面对那么多文件系统开发, 统一了接口
实践:
(一) 创建文件系统常用工具:
1. mkfs 命令:
用法 1:
mkfs.FS_TYPE /dev/DEVICE
常用 FS_TYPE:
- ext4
- xfs
- btrfs
- vfat
用法 2:# mkfs -t FS_TYPE /dev/DEVICE
2. mke2fs:ext 系列文件系统专用管理工具
选项:
-t {ext2|ext3|ext4}
-b {1024|2048|4096} 指明块大小
-L LABEL 卷标
-j: 相当于 -t ext3
-i 数字: 为数据空间中每多少个字节创建一个 inode; 此大小不应该小于 block 的大小;
-N 数字: 为数据空间创建个多少个 inode;
-m 数字: 为管理人员预留的空间占据的百分比;
-O FEATURE[,...]: 启用指定特性
-O ^FEATURE: 关闭指定特性
老实说, 如果没有特殊需求的话, 使用 mkfs -t ext3... 不但容易记忆, 而且非常好用
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
例子:
把这个文件系统的卷标设置为: xxl ; 我的 block 指定为 2048 大小; 每 8192byte 分配一个 inode ; 构建 ext3 文件系统
3. mkswap: 创建交换分区
- mkswap [options] device
- -L LABEL
* 前提: 调整其分区的 ID 为 82;
其它常用工具:
4.blkid: 块设备属性信息查看
blkid [OPTION]... [DEVICE]
-U UUID: 根据指定的 UUID 来查找对应的设备
-L LABEL: 根据指定的 LABEL 来查找对应的设备
5.e2label: 管理 ext 系列文件系统的 LABEL
#e2label DEVICE[LABEL]
6.tune2fs: 重新设定 ext 系列文件系统可调整参数的值
-l: 查看指定文件系统超级块信息; super block
-L LABEL: 修改卷标
-m #: 修预留给管理员的空间百分比
-j: 将 ext2 升级为 ext3
-O: 文件系统属性启用或禁用
-o: 调整文件系统的默认挂载选项
-U UUID: 修改 UUID 号;
7.dumpe2fs:
-h: 查看超级块信息
(二) 文件系统检测:
- fsck: File System CheCk
- fsck.FS_TYPE
- fsck -t FS_TYPE
-a: 自动修复错误
-r: 交互式修复错误
注意: FS_TYPE 一定要与分区上已经文件类型相同;
e2fsck:ext 系列文件专用的检测修复工具
-y: 自动回答为 yes;
-f: 强制修复;
来源: http://www.bubuko.com/infodetail-2497075.html