——xfs文件系统 mkfs.xfs
常听说的格式化,其实就是创建文件系统的过程。使用的指令是 mkfs.xfs。
使用方法如下:
[root@study ~]# mkfs.xfs [-b bsize] [-d parms] [-i parms] [-l parms] [-L label] [-f] \
[-r parms] 设备名称
选项与参数:
单位:下面的“数值”,没有加单位则为 Bytes ,可以用 k,m,g,t,p (小写)等来解释,s 这个单位,它指的是sector(扇区) 的“个数”。
-b :后面接的是 block 容量,可由 512 到 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(512Bytes大小)”的意思
swidth=数值 :就是 su*sw 的数值,但是以“几个 sector(512Bytes大小)”来设置
-f :如果设备内已经有文件系统,则需要使用这个 -f 来强制格式化才行!
-i :与 inode 有较相关的设置,主要的设置值有:
size=数值 :最小是 256Bytes 最大是 2k,一般保留 256 就足够使用了!
internal=[0,1]:log 设备是否为内置?默认为 1 内置,如果要用外部设备,使用下面设置
logdev=device :log 设备为后面接的那个设备上头的意思,需设置 internal=0 才可!
size=数值 :指定这块登录区的容量,通常最小得要有 512 个 block,大约 2M 以上才行!
-L :后面接这个文件系统的标头名称 Label name 的意思!
-r :指定 realtime section 的相关设置值,常见的有:
extsize=数值 :就是那个重要的 extent 数值,一般不须设置,但有 RAID 时,
最好设置与 swidth 的数值相同!最小为 4K 最大为 1G 。
例如:
[root@study ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 1G 0 part /boot
├─sda3 8:3 0 30G 0 part
│ ├─centos-root 253:0 0 10G 0 lvm /
│ ├─centos-swap 253:1 0 1G 0 lvm [SWAP]
│ └─centos-home 253:2 0 5G 0 lvm /home
├─sda4 8:4 0 1G 0 part
├─sda5 8:5 0 1G 0 part
└─sda6 8:6 0 500M 0 part
sr0 11:0 1 4.3G 0 rom /run/media/fshiyu/CentOS 7 x86_64
# 例如:将上面的sda4格式化为xfs文件系统
[root@study ~]# mkfs.xfs /dev/sda4
meta-data=/dev/sda4 isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 命令未加参数,应该所有的值都为默认。较重要的是 inode 与 block 的值。
[root@study ~]# blkid /dev/sda4
/dev/sda4: UUID="3d62c0e7-0aba-468d-a744-b1878ff358d2" TYPE="xfs" PARTLABEL="Linux filesystem" PARTUUID="8917d3e9-4f50-4489-ada7-ea726719adf2"
xfs 可以使用多个数据流来读写系统,以增加速度,因此那个 agcount 可以跟 CPU 的核心数来做搭配! 也就是说,如果我的服务器仅有一颗 4 核心,但是有启动 Intel 超线程功能,则系统会仿真出 8 颗 CPU 时,那个 agcount 就可以设置为 8。
——EXT4 文件系统 mkfs.ext4
使用方法如下:
[root@study ~]# mkfs.ext4 [-b size] [-L label] 设备名称
选项与参数:
-b :设置 block 的大小,有 1K, 2K, 4K 的容量,
-L :后面接这个设备的标头名称。
ext4 的默认值已经相当适合我们系统使用,大部分的默认值写入于我们系统的/etc/mke2fs.conf 这个文件中。