Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

「Hyper-V」(Win11Pro 25H2)のディスクオーバコミットでまだゲストのディスク使用量は少ないのにホストがもう枯渇しそう?!

解決したいこと

Windows 11 Pro 25H2 の Hyper-V のVMマシン運用で、ホストのディスク枯渇を解決したい。

  • 次の点は注意して運用および設定はしました。
    • 運用中VMのチェックポイントは一切利用していない。
    • 設定で「自動チェックポイント」は外している。
    • 設定で自動停止アクションは「ゲストのシャットダウン」を選択している。

・・・残るは、VMマシンのディスクをオーバーコミットさせてるだけなのですが、これが原因で肥大化しますか?
※VMマシン(Ubuntu Server 24.04 LTS)のdf -hは肥大化していないのです。

$ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              593M  1.5M  592M   1% /run
efivarfs                           128M   36K  128M   1% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv  341G   19G  305G   6% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  177M  1.7G  10% /boot
/dev/sda1                          1.1G  6.2M  1.1G   1% /boot/efi
tmpfs                              593M   12K  593M   1% /run/user/1000
  • df -hの結果からVMマシンでの利用は 約19.2GB 程度。
  • 対して可変容量仮想ディスクは現在 122.91GB ←←

※前世でも同じ事象だったので、
今世ではWinOSクリーンインストールでDドライブを分割させて、そこをVMの仮想ディスク置き場として試しているところです。

発生している問題・エラー

1.昨日:Hyper-Vゲスト利用直後の様子
1.昨日:Hyper-Vゲスト利用直後の様子.png
Dドライブ(ゲストのVHDX配置先)
空き領域 114GB/174GB

仮想ハードディスクのプロパティ
現在のファイルサイズ:38.32GB
最大ディスクサイズ:350GB
2. 今日:1日稼働した時の様子
2. 今日:1日稼働した時の様子.png
Dドライブ(ゲストのVHDX配置先)
空き領域 34.7GB/174GB

仮想ハードディスクのプロパティ
現在のファイルサイズ:122.91GB
最大ディスクサイズ:350GB

自分で実施したこと

VMマシンをシャットダウンして、肥大化した可変容量ディスクに、Hyper-VのUIから最適化は行ってみましたがディスク容量の変化は無かった。

VMマシン設定

3. VMマシン設定.png

  • 設定で「自動チェックポイント」は外している。
  • 設定で自動停止アクションは「ゲストのシャットダウン」を選択している。

※運用中VMのチェックポイントは一切利用していない。

ご質問事項

  • どうすれば解決できますか?
  • ディスクのオーバーコミットで可変容量ディスクは肥大化しますか?
  • VMマシンではディスク消費していないように見えるが可変容量ディスクが肥大化するのは何故でしょうか?
  • VMマシン上では40GB程度のデータを1時間毎に削除→再び蓄積を繰り返す運用ですが、もしかするとこの影響で可変容量ディスクが肥大化しますか?何かディスク容量最適化のPSコマンドなどの定期実行が必要ですか?

以上です。
よろしくお願いします。

0 likes

2Answer

VMマシン上では40GB程度のデータを1時間毎に削除→再び蓄積を繰り返す運用ですが、もしかするとこの影響で可変容量ディスクが肥大化しますか?

おそらくこれが原因です。
基本的にはVHDXとゲストOS(Ubuntu)のファイルシステム/ブロックデバイスは連携していないので、ゲストOSのファイルシステム上で未使用になった領域もVHDX上はデータが存在している状態となります。
また、ファイルシステムも毎回同じブロックを利用するわけではないのでファイルが作られる際に未使用ブロックへの書き込みが行われればVHDXの容量が増えていくことになります。

何かディスク容量最適化のPSコマンドなどの定期実行が必要ですか?

VHDX(Hyper-V)とゲストOSのファイルシステムを連携させる方法は hyper-v vhdx ubuntu trim で検索すると見つかると思いますが、手間などを考えると個人的にはあまりお勧めしません。

私としては40GBのデータを書き込む場所をVHDXの固定容量ディスクにすることをお勧めします。
固定容量ディスクであれば、ファイルシステムがブロックを再利用しますので固定容量以上はに増えることがありません。
LVM経由で利用すれば、容量が足りなくなった際も新たに固定容量ディスクを追加することで解決できます。

手順的には、

  1. VHDX(固定容量)を作成し仮想マシンに追加
  2. Ubuntu上で新たなVG/LVを作成し、VGに追加したディスクを追加
  3. LV上にファイルシステムを作成し、データ書き込みカ所にマウント

で問題ないはずです。

1Like

Comments

  1. @hiro-matsumoto

    Questioner

    「固定容量ディスク」でOK!・・・と思っていたら、チェックディスクの運用外し忘れて「一時停止:重大なI/Oエラー」(ホストディスク表示が真っ赤々)発生。。。

    ・・・いやまあ、迂闊なミスでしたが。。
    うっかり構築過程のチェックディスクが残っていたら、固定容量+チェックディスク分で肥大したようで。。
    ※これまたチェックディスクを削除して(あの凄く長い)統合処理は終わったのに、空き容量が戻ってこない、、最適化かけても、OS再起動しても、枯渇(真っ赤々表示)のまま。。
    (えっ、どこに肥大した情報が残っていますか??これもPSコマンドで解決が必要ですか?)
    この様なうっかりミスも防ぐためには、
    「固定容量ディスク+同じ容量の空き領域」は必要ですかね?
    (例:50GBの固定容量ディスク作ったら、余裕で50GBも確保して、合計100GBは要る、みたいな?)

    とりあえず今は「物理ディスク」のマウント(ホストでオフラインさせる。完全にゲストにディスク管理を移譲する)で試用開始していますが、折角のHyper-Vなのでやっぱり(一時的な)チェックポイントは使いたいし、、

This answer has been deleted for violation of our Terms of Service.

Your answer might help someone💌