Mkfs

mkfs 非常慢

  • October 17, 2021

在我們的 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,請使用-KXFS 和-E nodiscardext4上的選項

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

引用自:https://unix.stackexchange.com/questions/344800