Virtualboxハイパーバイザーでは、ubuntu 16.04でxfsボリュームをフォーマットするのは非常に遅いですが、Nutanix内で実行されている仮想マシンではそうではありません。
Virtualbox
100GB =>秒
2TB =>秒
Nutanix(ハイパーコンバージド)
100GB => 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
もう一方のハイパーバイザーではすぐにフォーマットされるのはなぜですか?
答え1
これは、ハイパーコンバージドハイパーバイザーがSSDを使用しているためです。 mkfsコマンドは、デフォルトでNODISCARD(TRIMとも呼ばれる)形式を使用します。
トリムなしでmkfsを実行するには、-K
XFSとext4-E nodiscard
でこのオプションを使用します。
XFS
mkfs.xfs -K /dev/sdx
外部4
mkfs.ext4 -E nodiscard
警告:既存のデータがない新しいボリュームにのみ-Kまたは-Eを使用してください。
既存のデータを含むドライブで-Kまたは-Eオプションを使用すると、データが上書きされるまでスペースが無駄になります。
答え2
公式のRed Hatプロセス(Red Hat System Administration II - RH134)で、以下のようにmkfs.xfsを使用してVDOボリュームをフォーマットする場合:
# mkfs.xfs -K /dev/mapper/vdo1
明確に定義された:
「以前のmkfs.xfsコマンドの-Kオプションは、ファイルシステムで未使用のブロックがすぐに削除されるのを防ぎ、コマンドがより速く返されるようにします。」
答え3
mkfs -t xfs /dev/md6 このコマンドはUbuntuでは時間がかかり、RHELでは非常に高速です。
mkfs.xfs -K /dev/sdx 非常に高速なようですが...情報だけを出力するようです。
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 メタデータ=/dev/md6 isize=512 agcount=32, agsize=24416912 blks=sectsz=512 attr=2, projid32bit=1=crc=1 finobt= = 0 データ = bsize = 4096 チャンク = 781340832, imaxpct = 5 = sunit = 16 swidth = 32 blks 命名 = バージョン 2 bsize = 4096 ascii-ci = 0 ftype = 1 ログ = 内部ログ bsize = 4096 = 2 = sectsz=512 sunit=16 blks, 遅延カウント=1 realtime=none extsz=4096 ブロック=0, rtextents=0
実際の0m0.572sユーザー0m0.000sシステム0m0.188s
答え4
RHEL 7.9で同じ問題が発生しました。 Mpath で外部ストレージ SAN を使用する場合 SAN の場合 BOND または NIC チームを使用する場合、mkfs.xfx は非常に遅くなります。別のバージョンのRHEL 7.5を使用してOSを再度2回再インストールしました。同じ設定でRHEL本番に複数のサーバーがありますが、NICチーム化(ループ)はありません。新しい(問題)サーバーから削除し、完全に機能するサーバーを試してみました。 mkfsコマンドを実行すると、LUNのチャンクが削除され、実行がループで発生し、接続が外部リポジトリに変更され続けるため、非常に遅いようです。一週間インターネットで検索してRHELサポートポータルを確認しましたが、運がありませんでした。最後に、ニックチームを削除して動作しました。