Linux文件系统

文件系统:

文件系统是对一个存储设备上的数据和元数据进行组织的机制。

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操作,检查磁盘是否有误。

原文地址:https://www.cnblogs.com/xiaoit/p/3409128.html