CentOS7ではそのままでxfsによるフォーマットが利用できる
AFTの絡みがあるが、パーティションを作成後
[root@s ~]# mkfs.xfs -f /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=32, agsize=22892700 blks
= sectsz=4096 attr=2, projid32bit=0
data = bsize=4096 blocks=732566385, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=357698, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@s ~]#
とフォーマットする。
セクタサイズ(sectsz)の値はAFTから自動的に4096 Bが定義される。一応-s size=512と別の値は指定可能
xfsだからブロックサイズ(bsize)を 512B から 64kBまで変えられるので
[root@s ~]# mkfs.xfs -f -b size=64k /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=32, agsize=1430794 blks
= sectsz=4096 attr=2, projid32bit=0
data = bsize=65536 blocks=45785399, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=65536 ascii-ci=0
log =internal log bsize=65536 blocks=22356, version=2
= sectsz=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=65536 blocks=0, rtextents=0
[root@s ~]#
ブロックサイズ(bsize)を64kBでフォーマットして見たが、、、
[root@s ~]# LANG=C mount /dev/sdb1 /share
mount: Function not implemented
[root@s ~]#
とマウントできない....
OSのPAGE_SIZEの値より大きいとmountできないみたい。
[root@s ~]# getconf PAGE_SIZE
4096
[root@s ~]#
windowsだと「クラスター(アロケーションユニット)サイズ」とかでサイズを64kBにして用途限定の高速化などがあるのだが、、
HDDが12本でRAID6構成、そしてstripe unit sizeが64KBなら
mkfs.xfs -f -d su=64k,sw=10 /dev/sdb1
とする。suはstripe unit size、swはstripe width。
あとはラベルを付けて
xfs_admin -L "LV_180219" /dev/sdb1
このラベル名で/etc/fstabを修正する
LABEL=LV_180219 /data xfs defaults 0 0
*/dev/sdb1と指定するのもいいが、他のストレージを追加すると/dev/sdc1とかに変更になるので避けている
あとUUIDで/etc/fstabを記述できるが意味のないIDは不要かなと思っている