25.Linux自动挂载实战及XFS文件系统详解

目录

1.自动挂载实验:

2.模拟故障修复:

3.partprobe命令

4.XFS文件系统 

5.df -T 命令

1.自动挂载实验:

如果想要下次开机继续挂载还需要修改一下/etc/fstab文件。此文件为开机自动挂载文件

第一步:vim  /etc/fstab

第二步:修改文件

如:/dev/sr0    /mnt   iso9660   defaults   0  0

或:UUID(去掉双引号)    /mnt   iso9660   defaults  0  0

第三步:wq保存退出

第四步:mount -a检测是否会出现报错(很重要)

第五步:重启reboot。重启后df -h会看到sr0挂载到了/mnt 下。

第一列:设备文件名(UUID)

第二列:挂载点

第三列:文件系统类型

第四列:挂载特殊选项

第五列:是否备份:0不备份 1每天备份 2不定期备份

第六列:是否检查磁盘状态:0不检查 1启动时检查 2启动后检查

UUID:硬盘的唯一标识符,设备名称可能会重复但UUID不会重复。

查看UUID的方式:

dumpe2fs -h 分区设备名

blkid查看所有的ID

ls -l /dev/disk/by-uuid/

注意:在修改/etc/fstab的过程中UUID一定要填写正确,如果UUID出错会造成系统无法启动。

3.查看分区文件系统:df -T、mount

2.模拟故障修复:

随便在UUID行添加一个#,然后重启

重启后提示可以输入root的密码。输入后进入系统,看起来一切正常。但此时并不能直接修改/etc/fatab文件,此时用mount看分区是rw权限,但下面报错信息标注了read-only,所以不具有写权限。需要重新挂载添加写权限后进行修改。重新挂载成功,添加了rw的权限。接下来对配置文件进行修改后,修改后重启

补充命令:

有时候如果新分区不显示或者出现报警信息,用partprobe  /dev/sdb将信息通知到内核

3.partprobe命令

将磁盘分区变化信息通知内核,请求操作系统重新加载分区表。

-d:不更新内核。

-s:显示磁盘分区汇总信息。

-h:显示帮助信息。

-v:显示版本信息。

fsck:文件系统修复

格式:fsck -y 分区名

4.XFS文件系统 

从centos7开始,默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛,作为虚拟化磁盘来源的大文件(单 个文件几GB级别)越来越常见。XFS每个单个文件系统量最大支持8eb,单个文件可以支持16tb因此,centos7开始,默 认的文件系统就从EXT4变为了XFS。XFS是一个适合高容量磁盘与巨型文件的文件系统。

XFS文件系统在数据的分布上主要划分为三部分:数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)。

数据区(data section):

数据区和我们之前的EXT系列文件系统一样,包含inode、block、超级块等。并且数据区和EXT文件系统中的block group 概念类似,也是分为多个多个存储区组。此外,inode和block都是系统需要用到的时候才动态配置产生的,所以格式化的 过程比EXT系列文件系统要快很多。

文件系统活动登录区(log section):和日志一样

登录区域主要被用来记录文件系统的变化(和日志区域有些相像)。文件的变化会在这里记录下来,直到该变化完整的写 入数据区后,该条记录才会被结束。如果文件系统因为特殊原因损坏时(断电等原因),系统会用登录区来进行检验,查 看系统在意外关闭之前文件系统正在运行哪些操作。以快速的修复文件系统。

实时运行区(realtime section):

当有文件被建立时,XFS会在这个区段里找到一个或数个extent区块,将文件放置到这个区块内,等到分配inode和block 完毕后,在写入到date section(数据区)的inode和block中。 

5.df -T 命令

可以查看分区的文件系统类型:

#我们看到/boot分区文件系统类型行为XFS。

查看XFS文件系统命令:xfs_info 挂载点/设备文件名meta-data:

isize指的是inode号的容量,默认为256B。

agcount是我们前面说到数据区的存储群组个数,这里共有4个。

agsize是指每个存储区群组具有12800个block块。结合后面第四行中的每个数据块为4K,我们可以算出整个文件系统的 容量应当是4*12800*4K。

sectsz指逻辑扇区(sector)的容量为512B。

data:

bsize指每个数据块的容量,这里就是每个数据块大小为4K的意思,共有51200个数据块。

internal指这个登录区的位置在文件系统内,而不是外部设备。且占用了4K*853的大小。

naming:命名、版本信息等。  

在分区结束后,通过查看/proc/partitions来确定分区是否修改成功。

如果没见到修改过的分区,使用partprobe -s 命令来更新Linux内核的分区表信息即可

6.挂载注意事项: 

同一个文件系统不应该重复挂载在不同的挂载点。

同一个目录不应该重复挂载多个文件系统。

作为挂载点,一定要是空白目录。

rw/ro(可读写/只读):该分区以读写或只读的状态挂载,如果想要分享数据而不是想给用户随意变更那么可以设置为只读。设置只读之后不论在文件系统的文件是否具有w权限,都无法写入。

补充命令:

stat:文件命、文件大小、占用block数量、单个block大小、所在设备编号、inode号、硬链接数、权限、属主、属组、访问时间、数据修改时间、状态修改时间。


版权声明:本文为weixin_46659843原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。