概述
操作系统通过文件系统管理文件及数据,
磁盘或分区需要创建文件系统后才能被OS使用,
创建文件系统的过程称之为 格式化
裸(raw)设备 : 没有文件系统的设备
常见文件系统: Fat32 NTFS Ext2 Ext3 Ext4 xfs HFS 等
文件系统之间的区别: 日志 支持的分区大小 支持的单个文件大小 性能 等等
windows下的主流文件系统: NTFS
Linux下的主流文件系统: Ext3 Ext4
Linux支持的文件系统
ext2 ext3 ext4
fat(msdos) vfat
nfs iso9660
proc
gfs
jfs
创建文件系统
命令 mke2fs
使用: mke2fs -t ext4 /dev/sdb1
常用参数
-b blocksize 指定文件系统块大小 (每次读写的最小空间)
-c 创建文件系统时检测块损坏
-L label 指定卷标(给卷起个名字, 如将windows的D盘取名为"游戏盘")
-j 建立文件系统日志(ext3 ext4 默认带日志)
示例
[root@wuqinfei wuqinfei]# mke2fs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
68272 inodes, 273072 blocks
13653 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
34 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
命令 mkfs
说明: mkfs 比 mke2fs 简单, 参数少 即 可设置的属性少
使用: mkfs.文件系统类型 磁盘或分区
示例
[root@wuqinfei wuqinfei]# ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb5
[root@wuqinfei wuqinfei]# mkfs.ext4 /dev/sdb5
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
68272 inodes, 273072 blocks
13653 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
34 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
查看文件系统
查看分区的文件系统信息, 用于调优. 信息非常详细(非常多)
示例: dumpe2fs /dev/sdb5 | less
[root@wuqinfei wuqinfei]# dumpe2fs /dev/sdb5 | less
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 73964815-f1c9-423c-907e-a3ebde980ba1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 68272
Block count: 273072
Reserved block count: 13653
Free blocks: 254191
Free inodes: 68261
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
日志journal
说明: 带日志的文件系统(ext3 ext4)拥有较强的稳定性, 出错时可恢复.
两阶段提交
说明: 带日志的文件系统会使用"两阶段提交"的方式进行磁盘操作
磁盘操作步骤
1) 文件系统将准备执行的 事务的具体内容 写入日志
2) 文件系统进行操作
3) 操作成功后, 将事务的具体内容从日志中删除
优点: 当事务执行过程出现意外(断电 磁盘故障 等), 可查询日志进行恢复操作
缺点: 额外的日志读写操作 会 损耗一定的性能
显示/设置 标签
说明: 为文件系统设置标签, 或为分区设置卷名.
注意: 标签名 通常为 大写字母
显示: e2label /dev/sdb1
设置: e2label /deb/sdb1 MYPARTITION
示例
[root@wuqinfei wuqinfei]# e2label /dev/sdb1
[root@wuqinfei wuqinfei]# e2label /dev/sdb1 MYPARTITION
[root@wuqinfei wuqinfei]# e2label /dev/sdb1
MYPARTITION
检查/修复 文件系统
命令: fsck /dev/sdb1 (fix sick, 检查并修复)
-y 参数: 不进行手动确认而直接进行修复
-t 参数: 指定文件系统类型.(当损坏较严重时, 需手动指定类型)
lost+found目录: 存放 无记录的损坏数据 (默认目录)
系统启动时会对磁盘进行fsck操作