前言
磁盘分区完毕后自然就是要进行文件系统的格式化
格式化其实就是创建文件系统。命令就是===>mkfs(make fileststem),这个命令只是个综合命令。它会调用正确的文件系统格式化工具
一、mkfs命令
1.功能:mkfs是个综合命令
2.使用
mkfs [tab] [tab]:按下两下tab键查看系统支持哪些文件系统的格式化功能
mkfs -t [文件系统格式名]===>等同于mkfs.文件系统格式名
mkfs -t xfs 与 mkfs.xfs相同
二、格式化XFS文件系统(mkfs.xfs)
1.功能:创建xfs文件系统
2.格式
mkfs.xfs [-b 参数] [-d 参数] [-i 参数] [-l 参数] [-L 参数] [-f] [-r 参数] 设备名称
第一次执行mkfs.xfs可能需要安装:apt-get install xfsprogs
3.参数
-b的参数:后面接的是区块容量,范围是512B-64K。不过Linux最大为4K
-d的参数:后面接的是data section(数据区)的相关参数值agcount=数值
设置需要几个存储群组的意思(AG),通常与CPU有关
agsize=数值
每个AG设置为多少容量的意思。通常agcount/agsize只选一个设置
file
指的是格式化的设备是个文件而不是个设备的意思(例如虚拟磁盘)
size=数值
data section的容量。你可以设置大小
su=数值
当有RAID(磁盘列阵)时,代表stripe的数值大小,与下面的sw搭配使用
sw=数值
当有RAID时,用于保存数据的磁盘数量(需扣除备份盘与备用盘)
sunit=数值
与su意思相同。不过单位使用的是几个sector(512B)的意思(一个stripe由多少个扇区组成)
swidth=数值
就是su*sw的数值,但是以几个sector(512B)来设置-f:如果设备内已经有了文件系统,则需要使用-f强制格式化
-i的参数:与inode有较相关的设置size=数值
最小的是256B,最大是2K。一般使用256B就足够了
internal=[0/1]
log设备是否为内置。默认1为内置,如果使用外部设备,使用下面设置
logdev=设备名
log设备为后面接的那个设备上面的意思,需设置internal=0才可以
size=数值
指定这块登录区的容量,通常最小得要512个区块,大约2M=以上才行-L参数:后面接这个文件系统的标头名称Label name
-r参数:指定realtime section(实时运行区)的相关设置值extsize=数值
就是那个重要的extent区块数值,一般不需设置。但有RAID时,最好设置与swidth的数值相同较佳。最小为4K,最大为1G
4.事例
使用mkfs.xfs命令时,一般默认回车就可以了,使用系统默认的
①使用gdisk新建一个sda2新分区,并格式化成为xfs文件系统
②设置CPU的数量
有时我们为了使用多个数据流来读写系统,以增加速度,需要设置多个agcount数量,agcount与CPU的内核数有关
查看一下系统的CPU数量:grep 'processor' /proc/cpuinfo
如果需要两个线程的CPU数量时:mkfs.xfs -f -d agcount=2 /dev/sda2
XFS文件系统for RAID性能优化
1.磁盘列阵(RAID)
①特点
磁盘列阵是多块磁盘组成一块大磁盘的意思,利用同步写入到这块磁盘的技术,不但可以加快读写速度,还可以让某一块磁盘坏掉时,整个文件系统还是可以持续运行,这就是所谓的容错
②结构特点
stripe:磁盘列阵通过将文件先细分成为数个小型的分区区块(stripe)之后,然后将众多的stripes分别放到磁盘列阵里面的所有磁盘,所以一个文件是被同时写入到多个磁盘中,性能会好一些。stripe与你的文件数据容量以及性能相关性较高
stripe的大小:分区区块的数值介于4K-1M之间,这与你的磁盘列阵卡支持的选项有关。当你的系统多大是大型文件时,一般建议stripe大一些,如果小文件较多,建议设置64K左右
安全性:在这些磁盘里面,会保留数个校验磁盘(parity disk),以及可能会保留一个以上的备用磁盘(spare disk)。这些磁盘会占用总磁盘列阵的容量
2.事例:使用mkfs.xfs格式化磁盘列阵
我们假设
我有两个线程的CPU数量,所以agcount最好指定为2
RAID的stripe指定为256K,则su也指定为256K
磁盘列阵总共有8块,因为RAID 5标准的设置,有1个校验盘,所以指定sw为7
由上述可知,数据宽度(swidth)指定为256K*7=1792K,extsize=1792Kmkfs.xfs -f -d agcount=2,su=256k,sw=7 -r extsize=1792k /dev/sda2
承上,如果我们使用sunit与swidth来设置,则
sunit=256K/512B*1024B=512个sector
swidth=7个磁盘*sunit=7*512=3584个sectormkfs.xfs -f -d agcount=2,sunit=512,swidth=3584 -r extsize=1792k /dev/sda2
三、ext4文件系统格式化(mkfs.ext4)
1.功能:创建ext4文件系统
2.格式
mkfs.ext4 [-b 参数] [-L 参数] 设备名称
3.参数
-b的参数:后面设置区块的大小,有1K、2K、4K
-L的参数:后面接这个设备的标头名称Label name
4.提示
ext4的默认值已经相当合适我们系统使用,大部分的默认值写入至/etc/mke2fs.conf这个文件中
因此我们无需额外指定inode的容量,系统都帮我们做好了默认值,只需要知道uuid即可
5.事例
mkfs.ext4 /dev/sda2
四、其他文件系统格式化
mkswap 设备文件名:用于内存交换分区的格式化
mkfs.vfta 设备文件名:vfat文件系统格式的格式化