文件系统:
文件系统是对一个存储设备上的数据和元数据进行组织的机制。
Linux通过文件系统管理文件及数据,磁盘或者分区需要创建文件系统之后才能被操作系统使用,创建文件系统的过程就是格式化的过程。
Windows常见文件系统:NTFS
Linux常见的文件系统:ext3、ext4
没有文件系统的设备成为裸设备,上一篇博客上创建了2个分区,但是并不能使用,此时就可以成为裸设备。例如装Oracle时有可能会用到裸设备
[root@gechong ~]# fdisk -l | grep sdb Disk /dev/sdb: 8589 MB, 8589934592 bytes /dev/sdb1 1 262 2104483+ 83 Linux /dev/sdb2 263 524 2104515 5 Extended /dev/sdb5 263 524 2104483+ 83 Linux
不同的文件系统之间的区别:日志、支持的分区大小、支持的单个文件大小不一样。
上一篇博客上创建了2个分区,但是并不能使用,此时就可以成为裸设备
创建文件系统:
1:mke2fs
[root@gechong ~]# mke2fs -t ext3 /dev/sda1
-b 指定文件系统块大小
-c 创建文件系统时检查坏块
-l 指定卷标。类似于Win默认的C盘、D盘我们手动改为系统盘、娱乐盘
-j 建立文件系统日志。ext2不带日志。ext3、ext4都带日志
[root@gechong ~]# mke2fs -t ext4 /dev/sdb1 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 131648 inodes, 526120 blocks 26306 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=541065216 17 block groups 32768 blocks per group, 32768 fragments per group 7744 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 正在写入inode表: 完成 Creating journal (16384 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 37 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 末段提示:每37次挂载或者180天后会自动检查 [root@gechong ~]# mke2fs -b 4096 -c -t ext4 /dev/sdb1
2:mkfs 创建文件系统稍微快点,但不能进行精细化处理
[root@gechong ~]# mkfs.ext4 /dev/sdb2
查看文件系统详细信息:
[root@gechong ~]# dumpe2fs /dev/sdb1
带日志的文件系统ext3、ext4拥有较强的稳定性,出错时可以恢复
1:带日志文件系统
在进行磁盘操作时,采用“两阶段提交的机制”
例如:有一段数据需要写到磁盘中
a:不带日志的文件系统,直接写。
b:带日志的文件系统,首先将要执行的事物先写入日志,写入数据,删除日志内容。
(防止意外断电、磁盘故障,此时可以利用磁盘日志进行恢复)
为文件系统添加标签
1:创建文件系统时用-l 选项
2:
[root@gechong ~]# e2label /dev/sdb1 gechong [root@gechong ~]# e2label /dev/sdb1 gechong [root@gechong ~]#
修复磁盘
fsck
用来检查并修复损坏的文件系统
[root@gechong ~]# fsck /dev/sdb1 fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) gechong: clean, 11/131648 files, 25432/526120 blocks
如果是clean状态说明文件系统没有问题
注意:检查文件系统时,该文件系统必须卸载。当出现错误时fsck会提示是否修复,可以用-y参数:不提示是否修复
fsck会自动检测文件系统类型,如果损坏比较严重最好加一个参数
[root@gechong ~]# fsck -t ext4 /dev/sdb1
损坏的数据fsck会放在/lost+found目录
系统启动时会自动对文件系统执行fsck操作,检查磁盘是否有误。