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** **短时间重复修改,只记录第一次** **→(不变)保护机制**

相关推荐
夕泠爱吃糖9 分钟前
Linux 文件内容的查询与统计
android·linux·c#
love530love11 分钟前
【笔记】NVIDIA AI Workbench 中安装 cuDNN 9.10.2
linux·人工智能·windows·笔记·python·深度学习
果子⌂16 分钟前
PostgreSQL --数据库操作
linux·数据库·postgresql
倔强的石头1061 小时前
【Linux指南】文件系统基础操作与路径管理
linux·运维·服务器
中科三方2 小时前
如何通过DNS解析实现负载均衡?有哪些优势?
运维·负载均衡
安科瑞刘鸿鹏2 小时前
双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
大数据·运维·物联网·安全·能源
小呆瓜历险记2 小时前
ubuntu 22.04搭建SOC开发环境
linux·运维·ubuntu
码农101号2 小时前
Linux中shell流程控制语句
linux·运维·服务器
ajassi20002 小时前
开源 java android app 开发(十二)封库.aar
android·java·linux·开源
聪明小萝卜2 小时前
无法与IP建立连接,未能下载VSCode服务器
运维·服务器