TL;DR
- PVE上のVMで、状態io-errorになっているVMがいるぞ?
- 原因はLVMの使いすぎ!
- VMの復旧方法
- 対象VMを単純削除出来なかったので手順のメモ。
概要
先ほどまで利用できていたVMが、以下のようにIOエラー状態に。
IOエラーになればもちろんVMの利用はできません。
原因
ディスクの使いすぎですね…
ディスク容量を意識しないで色々作りすぎました。
マニュアルにも以下記載があります。
今回VMに割り当て元のストレージはLVM-Thinです。
動的割り当てされますので、実際の容量以上に割り当てることが可能です。
だからといって大量に割り当てたりすると、今回のような事象につながります。
以下マニュアルより抜粋。
7.1.1. シンプロビジョニング
注意 ストレージがいっぱいになると、そのストレージ上のボリュームを使用しているすべてのゲストがIOエラーを受け取ります。
これはファイルシステムの不整合を引き起こし、データの破損につながる可能性があります。
そのため、ストレージリソースの過剰なプロビジョニングを避けるか、あるいは自由なスペースを注意深く監視して、このような状況を避けることが推奨されます。
対処
今回は不要なVMごと削除しました。
VMは一度停止しないと削除できないのですが、IOエラー状態のVMの削除に関してTips。
- IOエラーVMは停止しないと削除できない。が…
- 左ペインで対象VMを右クリックからは停止は不可。
- 左ペインで対象VMを左クリック-右ペインのシャットダウン配下のメニューからは停止が可能。
そのほか
テンプレートもリソースを割り当てられていた
VMを増やしたり、割り当てディスクを大きくもしたのですが、上限いっぱいになるほどしたっけ?とは疑問に思っていました。
テンプレート、という名前先行でリソースを保持せずに、VM新規構築時に参照される設定群ぐらいに思って、大量にテンプレート作っていたのですが、テンプレートもリソースを割り当てられていることに気が付きました。
テンプレートについてはテンプレートとクローン、完全なクローンとリンククローンの違いと合わせて別途整理したいと思います。
参考