mkfs 非常慢
在我們的 Virtualbox 虛擬機管理程序中,在 ubuntu 16.04 上格式化 xfs 卷非常慢,但在 Nutanix 中執行的 vm 則不然。
Virtualbox
100 GB => 秒
2TB => 秒
Nutanix(超融合)
100 GB => 4 分鐘
2TB => 30 分鐘以上
parted -l -s | grep "Error: * unrecognised disk label" Error: /dev/sdg: unrecognised disk label parted /dev/sdg mklabel gpt Information: You may need to update /etc/fstab. parted -- /dev/sdg mkpart primary xfs 1 -1 Information: You may need to update /etc/fstab. time mkfs.xfs /dev/sdg1 meta-data=/dev/sdg1 isize=512 agcount=4, agsize=6553472 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0 data = bsize=4096 blocks=26213888, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=12799, version=2 = sectsz=4096 sunit=1 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 real 4m7.653s user 0m0.004s sys 0m0.028s
為什麼在一個管理程序中格式化驅動器需要這麼長時間
mkfs
,而在另一個管理程序中幾乎是即時的?
這是由於超融合管理程序使用 SSD 的事實。mkfs 命令格式預設為 NODISCARD(也稱為 TRIM)。
要在沒有修剪的情況下執行 mkfs,請使用
-K
XFS 和-E nodiscard
ext4上的選項XFS
mkfs.xfs -K /dev/sdx
EXT4
mkfs.ext4 -E nodiscard
警告:僅在沒有現有數據的新卷上使用 -K 或 -E。
在具有現有數據的驅動器上使用 -K 或 -E 選項將導致空間被浪費,直到數據被覆蓋。
mkfs -t xfs /dev/md6 這個命令在 Ubuntu 上需要 FOREVER 並且在 RHEL 上非常快。
mkfs.xfs -K /dev/sdx 似乎很快……但看起來它只輸出資訊.. 最好使用 time 命令查看是否確實完成了一些工作。
time mkfs.xfs -K /dev/md6 mkfs.xfs: /dev/md6 似乎包含一個現有的文件系統 (xfs)。mkfs.xfs:使用 -f 選項強制覆蓋。
實際 0m0.005s 使用者 0m0.000s 系統 0m0.000s
時間 mkfs.xfs -K /dev/md6 -f meta-data=/dev/md6 isize=512 agcount=32, agsize=24416912 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0 data = bsize=4096 blocks=781340832, imaxpct=5 = sunit=16 swidth=32 blks 命名=version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=381520, version =2 = sectsz=512 sunit=16 塊,惰性計數=1 實時 =none extsz=4096 塊=0,rtextents=0
真實 0m0.572s 使用者 0m0.000s 系統 0m0.188s