fstrimはXen PV dom0で切り取るバイトをどのように探し続けますか?

fstrimはXen PV dom0で切り取るバイトをどのように探し続けますか?

3.10カーネルでRHEL6を実行するXen PVノードがあります。ノードにはmdadm RAID1と次のパーティションがあります。

[root@node ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md1         15G  4.1G  9.9G  30% /
tmpfs           966M     0  966M   0% /dev/shm
/dev/md0        477M   84M  365M  19% /boot
xenstore        966M  184K  966M   1% /var/lib/xenstored

ノードには、SSDオーバープロビジョニングに割り当てられていないSSDの残りの部分(20GB未満)を占めるLVMもあります。

fstrim私は最近dom0で実行したときにいくつかの興味深い動作を見つけました。fstrimdom0でディスクアクティビティがあまり発生しない場合でも、バイトは切り捨てられます(夜間バックアップを除く)。 domUでは多くのディスクアクティビティが発生しますが、dom0ではほとんど発生しません。

次の各fstrimコマンドは、約2分の遅延で区切られます。

[root@node ~]# fstrim -v /
/: 10452664320 bytes were trimmed
[root@node ~]# fstrim -v /
/boot: 0 bytes were trimmed
[root@node ~]# fstrim -v /
/: 181784576 bytes were trimmed
[root@node ~]# fstrim -v /
/boot: 0 bytes were trimmed
[root@node ~]# fstrim -v /
/: 283222016 bytes were trimmed
[root@node ~]# fstrim -v /
/boot: 0 bytes were trimmed
[root@node ~]# fstrim -v /
/: 334065664 bytes were trimmed

最初のものfstrimはその日に実行された最初のページであり、予想どおり毎晩実行されるバックアップに関してクリーンアップが必要な約10 GBのページを見つけました。数分後にコマンドを実行すると、クリーンアップする内容は残りません。ただし、数分待ってから再度クリーンアップすると、常にクリーンアップするアイテムが見つかります。それほど重要ではない量のデータ(例:〜300 MB)でもありません。

前述したように、dom0 には夜間バックアップの実行以外にはディスクアクティビティがほとんどありません。 domUには多くのディスクアクティビティがありますが、dom0がdomUファイルシステムに関連するページをクリーンアップできるとは考えませんでした。

どちらの場合も、fstrimdom0で実行するとdomUのパフォーマンスが大幅に向上し、iowaitが低下します。

dom0にディスクアクティビティがほとんどない場合、dom0がどのように数百MBをクリーンアップできるかを知っている人はいますか?

ベストアンサー1

おすすめ記事