概要
Parallels Desktopのpvmファイルで、消せないスナップショットがストレージを消費していました。
その消せないスナップショットをどうにかして消す方法を紹介します。
環境
- macOS Tahoe 26.3
- Parallels Desktop 26.2.2
何があったのか
Parallels Desktopを使って色々と作業をしていたら、なぜか仮想マシンのpvmファイルが合計200GBほどに肥大化していました。
仮想マシンとしてWindowsを使っていたので、エクスプローラーからストレージの消費量を確認したところ、100GBほどしか利用していません。
そのため、約2倍ほどのサイズになっています。
何にどれほどストレージを使用しているのか確認したかったので、Parallels Desktopのコントロールセンターから仮想マシンの構成を確認しました。 その結果、スナップショットで半分ほど消費していました。
スナップショットで消費しているので、スナップショットを削除することで解決すると考えたのですが、そもそもコントロールセンターからスナップショットを確認できませんでした。 つまり、Parallels Desktopではスナップショットが存在していないと判断されているということのようです。
今回、色々と調査を行い、次のような手順でこの問題を解決できました。
調査
調査の前に、あらかじめ仮想マシンをシャットダウンしてください。 これは、仮想マシンの不整合を発生させないためです。 さらに、バックアップをとっておいてください。 もし、復旧を間違えた場合でも復旧できるようにしておきます。
同じような問題に関する情報を調査したところ、まずは仮想マシンのファイルであるpvmファイルの整合性確認を行うとよいとありました。 pvmファイルのパスを使って次のコマンドを実行して、整合性確認ができます。
prl_disk_tool check --hdd "<pvmファイルのパス>"
私の場合は何も表示されず、エラーのようなものは発生していないと判断されました。
次に、Parallels Desktopのメニューから「ファイル」>「ディスク領域を解放」を選択されて表示されるウィンドウから、何かできないかを確認しました。 しかし、ここを確認してもスナップショットを削除できるようなことはありませんでした。
さらなる調査として、pvmファイルの中身を確認しました。 pvmファイルは、Finderではファイルとして認識されますが、実態はディレクトリです。 そのため、ディレクトリの中身を確認できます。
ls "<pvmファイルのパス>/<ディスク名>.hdd/"
harddisk.hddというディレクトリの中に、仮想マシンのストレージに関するファイルが置かれています。
その中にはスナップショットのファイルも含まれます。
実際に確認したところ、スナップショットに関連すると思われる、拡張子がhdsのファイルがありました。
おそらく、これらのhdsファイルがスナップショットとして認識されていると思われます。 スナップショットがない場合は、hdsファイルはひとつだけあれば良いようなので、hdsファイルが複数存在する時点で何かおかしいです。 このファイルをどうにかすることで問題は解決しそうです。
解決方法
複数のhdsファイルを統合するためのコマンドがあります。 そのコマンドを実行することで、hdsファイルが統合され、スナップショットも無くなるものと考えられます。
統合するコマンドをは次です。
prl_disk_tool merge --hdd "<pvmファイルのパス>/<ディスク名>.hdd"
データが大きいので、数分ほど時間がかかりました。
次に、スナップショットに関連するxmlファイルも削除します。
rm "<pvmファイルのパス>/<ディスク名>.hdd/Snapshots.xml"
さいごに、もし存在するならばですが、Snapshotsファイルも削除します。
rm -r "<pvmファイルのパス>/Snapshots/*"
この後に、コントロールセンターから仮想マシンの構成を確認すると、スナップショットのサイズが小さくなりました。
これで問題は解決しました。
さいごに
コマンドを実行しなければならなかったので、解決まで少し面倒でした。 また、情報もあまり無かったので解決まで時間がかかりました。
通常であれば、このような問題が発生することはないのと思います。 なぜこのような問題が発生したのかは不明です。
同じような問題に遭遇している方の参考になれば嬉しいです。