CentOS 7文件系统

从centos7开始,默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛,作为虚拟化磁盘来源的大文件(单个文件几GB级别)越来越常见。

1.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中。
67版本区别:XFS每个单个文件系统量最大支持8eb**,单个文件可以支持16tb因此,centos7开始,默认的文件系统就从EXT4变为了XFSXFS是一个适合高容量磁盘与巨型文件的文件系统。**

2.XFS 文件系统相关查询命令:

①通过df -T命令查看已挂载分区的文件系统类型:

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

lsblk -f选项也可以查看设备的UUID。

③查看已挂载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:命名、版本信息等。

realtime:

extsz:extent的大小为4K目前并没有使用。

blkid 命令:列出设备的 UUID 等参数。

上面信息列出了:设备名称、UUID名称、文件系统类型。

3. 磁盘分区: gdisk fdisk

磁盘分区可以使用gdisk或fdisk命令,但要注意:MBR 使用 fdisk 命令进行分区。GPT分区表使用gdisk命令进行分区。两个命令不可混用,如果MBR分区表使用gdisk进行分区,那么会导致分区失败。反之亦然。

gdisk GPT 分区表。

命令格式:gdisk 设备文件完整路径

在分区完成后,保存退出的时候,gdisk会进行询问。是否确定修改,修改有几率造成数据丢失。y选项确认即可。

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

root@localhost \~\]# cat /proc/partitions major minor #blocks name 8 0 20971520 sda 8 1 204800 sda1 8 16 20971520 sdb 8 17 5242880 sdb1 8 18 2097152 sdb2 如果没见到修改过的分区,使用**partprobe -s**命令来更新Linux内核的分区表信息即可。 除此之外/proc目录还可以查看: **/proc/cpuinfo**:CPU相关详细信息。 **/proc/meminfo**:内存详细信息。 **/proc/version** **:** **内核版本** ## **4.** **磁盘格式化:** mkfs.xfs:创建xfs文件系统。 **\[root@localhost \~\]# mkfs.xfs /dev/sdb1** ## **5.** **文件系统挂载:** 挂载:mount 选项: -a:按照/etc/fstab文件,将所有磁盘进行挂载。 -t:指定文件系统类型来进行挂载。 -o:挂载特殊选项。 比如: remount:重新挂载。 async/sync(同步/异步):设置磁盘是否以异步的方式运行,默认为async(性能较佳)。 auto/noauto(自动/非自动):当执行mount -a时,此文件系统是否会被主动测试挂载,默认为auto。 rw/ro(可读写/只读):该分区以读写或只读的状态挂载,如果想要分享数据而不是想给用户随意变更那么可以设置为只读。设置只读之后不论在文件系统的文件是否具有w权限,都无法写入。 exec/noexec(可执行/不可执行):限制文件系统内是否可以进行"执行"的操作。如果该分区纯粹进行数据的存储那么,设置为noexec也是没关系的。不过此选项还是慎重适用为好。建议noexec设置到自定义目录中。 suid/nosuid(具有/没有SUID权限):该文件系统是否允许SUID存在。 ![](https://i-blog.csdnimg.cn/direct/17138625ce534c94bc1b0776cee69b19.png) ## **6.** **开机自动挂载:** 开机自动挂载需要写入配置文件/etc/fstab: ![](https://i-blog.csdnimg.cn/direct/9cac53c6f23b4e72bc0b66123a10e001.jpeg) 第一列:磁盘设备文件名或UUID。 第二列:挂载点。 第三列:磁盘分区的文件系统。 第四列:文件系统参数。 async/sync(同步/异步):设置磁盘是否以异步的方式运行,默认为async(性能较佳)。 auto/noauto(自动/非自动):当执行mount -a时,此文件系统是否会被主动测试挂载,默认为auto。 rw/ro(可读写/只读):该分区以读写或只读的状态挂载,如果想要分享数据而不是想给用户随意变更那么可以设置为只读。设置只读之后不论在文件系统的文件是否具有w权限,都无法写入。 exec/noexec(可执行/不可执行):限制文件系统内是否可以进行"执行"的操作。如果该分区纯粹进行数据的存储那么,设置为noexec也是没关系的。不过此选项还是慎重适用为好。建议noexec设置到自定义目录中。 suid/nosuid(具有/没有SUID权限):该文件系统是否允许SUID存在。 defaults:同时具有rw、suid、dev、exec、auto、async等功能。 第五列:能否被dump备份 第六列:是否以fsck校验扇区 在之前的启动流程中,会有一段时间用来检验本机的文件系统。判断文件系统是否完整。这个阶段主要是依靠fsck命令来完成。但是在XFS文件系统下并不适用,所以XFS文件系统写0即可。 **补充命令**: ![](https://i-blog.csdnimg.cn/direct/51afc3c9c25f4dc788a6fb0fdc2a8201.png) **#****stat****:文件名**、文件大小、占用block数量、单个block大小、所在设备编号、inode号、硬链接数、权限、属主、属组、**访问时间、数据修改时间、状态修改时间**。 文件有3个时间 ![](https://i-blog.csdnimg.cn/direct/572e2290857c4f46860cca178a2f0531.png) **执行查看** **修改****Access** **改内容** **修改****Modify** **改属性****chmod****修改****Change** **短时间重复修改,只记录第一次** **→(不变)保护机制**

相关推荐
程序员JerrySUN1 小时前
驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
java·linux·驱动开发
雨声不在2 小时前
debian切换用户
linux·服务器·debian
不知名。。。。。。。。2 小时前
Linux—— 版本控制器Git
linux·运维·git
遇到我又惊又喜2 小时前
佛山大旺高新区3650 M5 ERP服务器维修案例
运维·服务器
内网渗透2 小时前
OpenWrt 与 Docker:打造轻量级容器化应用平台技术分享
linux·docker·容器·openwrt·软路由
易保山3 小时前
MIT6.S081 - Lab11 networking(网络栈)
linux·操作系统·c
安全系统学习3 小时前
网络安全之红队LLM的大模型自动化越狱
运维·人工智能·安全·web安全·机器学习·php
2302_799525743 小时前
【Linux】第十二章 安装和更新软件包
linux·运维·服务器
qq_339282233 小时前
docker打开滚动日志
运维·docker·容器
ImAlex4 小时前
Linux脚本实现自动化运维任务实战案例:系统自动备份、日志轮转、系统更新、资源监控、自动化定时任务调度
linux·运维