qemu-imgを使用したQCOW2ディスクエラー修復ガイド:Proxmox/KVMのクラッシュからデータを救出する

Virtualization tutorial - IT technology blog
Virtualization tutorial - IT technology blog

なぜ仮想マシンの運用にqemu-imgの知識が必要なのか?

サーバー運用やホームラボを構築している方なら、作業中の突然の停電やホストのフリーズ(kernel panic)を経験したことがあるでしょう。サーバーを再起動した際に、仮想マシン(VM)がI/Oエラーを吐いたり、ブート画面で止まったりするのは、まさに悪夢です。

私は12台のVMをProxmoxのホームラボで運用しています。ある時、Dellサーバーの古いSSDが、ちょうどブレーカーが落ちたタイミングで不調になりました。その結果、200GBあるデータベースの.qcow2ファイルが「破損(corrupt)」してしまいました。もしqemu-imgの使い道を知らなければ、直近のバックアップが古すぎたため、1週間分のデータを失うところでした。

QCOW2(QEMU Copy-On-Write)形式は、スナップショット機能の柔軟性からKVMやProxmoxで広く利用されています。しかし、階層構造でデータを保存する仕組み上、システムクラッシュ時に数ビットの書き込みミスが発生するだけで、ディスクファイル全体が不安定になることがあります。そんな時、qemu-imgツールセットは状況を打開するための「メス」となります。

qemu-imgツールのインストール

Ubuntu Server、Debian、Proxmoxなど、仮想化に特化したLinuxディストリビューションの多くには、このツールが標準で組み込まれています。データ救出のために別のワークステーションを使用する場合は、qemu-utilsパッケージをインストールしてください。

Ubuntu/Debian または Proxmox の場合:

sudo apt update && sudo apt install qemu-utils -y

CentOS/RHEL/AlmaLinux の場合:

sudo yum install qemu-img -y

qemu-img --versionコマンドで素早く確認できます。最新バージョンは、より効率的な圧縮アルゴリズムや修復機能をサポートしていることが多いです。

QCOW2ディスクのチェックと修復手順

Share: