目录
一、XFS文件系统:
1、数据区(data section)
2、文件系统活动登录区(log section)
3、实时运行区(realtime section)
二、通过df -T 查看分区的文件系统类型:
三、通过XFS文件系统命令:
1)meta-data:
2)data:
3)realtime:
4、查看分区状态命令
五、gdisk:GPT分区表
1、LBA0:
2、LBA1:
3、LBA2-23
六、磁盘格式化:
挂载:mount
开机自动挂载:
七、swap分区扩容:
从centos7开始,默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛,作为虚拟化磁盘来源的大文件(单个文件几GB级别)越来越常见。XFS每个单个文件系统量最大支持8eb,单个文件可以支持16tb因此,centos7开始,默认的文件系统就从EXT4变为了XFS。XFS是一个适合高容量磁盘与巨型文件的文件系统。
XFS文件系统在数据的分布上主要划分为三部分:数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)。
数据区和我们之前的EXT系列文件系统一样,包含inode、block、超级块等。并且数据区和EXT文件系统中的block group概念类似,也是分为多个多个存储区组。此外,inode和block都是系统需要用到的时候才动态配置产生的,所以格式化的过程比EXT系列文件系统要快很多。
登录区域主要被用来记录文件系统的变化(和日志区域有些相像)。文件的变化会在这里记录下来,直到该变化完整的写入数据区后,该条记录才会被结束。如果文件系统因为特殊原因损坏时(断电等原因),系统会用登录区来进行检验,查看系统在意外关闭之前文件系统正在运行哪些操作。以快速的修复文件系统。
当有文件被建立时,XFS会在这个区段里找到一个或数个extent区块,将文件放置到这个区块内,等到分配inode和block完毕后,在写入到date section(数据区)的inode和block中。
isize:指的是inode号的容量,默认为256B。
agcount:是我们前面说到数据区的存储群组个数,这里共有4个。
agsize:是指每个存储区群组具有12800个block块。结合后面第四行中的每个数据块为4K,我们可以算出整个文件系统的容量应当是4*12800*4K。
sectsz指逻辑扇区(sector)的容量为512B。
bsize:指每个数据块的容量,这里就是每个数据块大小为4K的意思,共有51200个数据块。
internal:指这个登录区的位置在文件系统内,而不是外部设备。且占用了4K*853的大小。
naming:命名、版本信息等。
extsz:extent的大小为4K目前并没有使用。
blkid:列出设备的UUID等参数
在使用lsblk -f选项也可以得到设备的UUID。
mount 也可以
磁盘分区:gdisk和fdisk
磁盘分区可以使用gdisk或fdisk命令,但要注意:MBR使用fdisk命令进行分区。GPT分区表使用gdisk命令进行分区。两个命令不可混用,如果MBR分区表使用gdisk进行分区,那么会导致分区失败。反之亦然。
GPT分区表可分为三部分:
GPT分区的最开头,考虑兼容性问题,开头仍然存放MBR分区表,只是里面存放的是指向GPT的指针。防止有一些系统不识别GPT分区表。
存储了硬盘的总空间,以及GPT分区表的信息,定义最多能创建128个分区,每个分区信息占用的空间是128个字节,128个分区有一个是用来存储备份分区表的,所有可以手动指定的分区数为127个分区。
每个分区信息存放的位置,上边提到每个分区信息占用的空间是128字节,16384/128=128个分区一个系统保留分区用于备份分区表,127可手动指定。
注:LBA(logica block address)中文名称为逻辑区块地址,即扇区,默认512字节。
命令格式:gdisk 设备文件完整路径
在分区完成后,保存退出的时候,gdisk会进行询问。是否确定修改,修改有几率造成数据丢失。y选项确认即可。
在分区结束后,通过查看/proc/partitions来确定分区是否修改成功。
【】# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda8 1 204800 sda1
8 2 20765696 sda2
8 16 20971520 sdb
8 17 5242880 sdb1
8 18 2097152 sdb2
8 19 2097152 sdb3
8 20 2097152 sdb4
如果没见到修改过的分区,使用partprobe -s 命令来更新Linux内核的分区表信息即可。
随着硬盘的容量逐渐加大(2TB以上很常见,而MBR不支持2TB以上的硬盘)所以使用GPT分区方式是一个必然的趋势。
mkfs.xfs:创建xfs文件系统。
【】# mkfs.xfs /dev/sdb1
文件系统挂载:
挂载注意事项:
同一个文件系统不应该重复挂载在不同的挂载点。
同一个目录不应该重复挂载多个文件系统。
作为挂载点,一定要是空白目录。
选项:
-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存在。
开机自动挂载需要写入配置文件/etc/fstab:
第一列:磁盘设备文件名或UUID。
第二列:挂载点。
第三列:磁盘分区的文件系统。
第四列:文件系统参数。
第五列:能否被dump备份
第六列:是否以fsck校验扇区
在之前的启动流程中,会有一段时间用来检验本机的文件系统。判断文件系统是否完整。这个阶段主要是依靠fsck命令来完成。但是在XFS文件系统下并不适用,所以XFS文件系统写0即可。
命令free 查看swap分区
-m 以mb为单位显示
-k 以kb为单位显示
1.添加硬盘后fdisk或gdisk /硬盘路径
先l查看swap 盘号
t更改已有分区id可以将已有的更改也可以新建
2.mkswap 写入swap
swapon
swapoff