blog

Libguestfsによる仮想マシンへの簡単で便利なアクセス

仮想マシンが起動できない場合でも、仮想マシンのディスクイメージファイルにアクセスする簡単な方法を提供します。管理者が仮想マシン ファイルにアクセスし、それらを微調整および救済することを可能にする豊富な...

Mar 28, 2025 · 3 min. read
シェア

Libguestfsは、仮想マシンが起動可能でない場合でも、仮想マシンのディスクイメージファイルにアクセスする簡単な方法を提供します。Libguestfsは、管理者が仮想マシンのファイルにアクセスしたり、それらを微調整したり、サルベージしたりすることを可能にする豊富なツールセットで構成されています。

Libguestfs の人気の理由の一つは、libvirt で管理されるすべての仮想マシンファイルにアクセスできることです。つまり、KVM、Xen、QEMU、その他の種類の仮想マシンを管理できます。また、Linux ファイルシステム、Windows ファイルシステム、MAC OS X、その他多くのベアファイル形式を含む、多くの種類のファイルシステムへのアクセスもサポートしています。

Libguestfs パッケージを Linux システムにインストールした後、2 つの方法で仮想マシンにアクセスできます。guestfishを使用します。guestfishはシェル環境で、仮想マシンのディスクファイルを調整するための多数のコマンドを提供します。または、ホストオペレーティングシステムにバイナリとしてインストールされるツールの1つを使用することもできます。

簡単な例から始めると、Virt-df ツールは仮想マシンで使用可能なディスク領域を表示します。実行中の仮想マシンまたは起動していない仮想マシンで使用できます。アクティブドメインに関する情報を取得するには、 virt-df -d sleslibguestfs -h コマンドを使用します。他の Libguestfs ツールを含むこのアプローチの利点は、仮想マシンのファイルをローカルにマウントされたファイルシステムであるかのようにアクセスできることです。

仮想マシン名でファイルにアクセスするだけでなく、イメージファイルを直接操作することもできます。このタイプの仮想マシンへのアクセスはより直接的ですが、エラーの確率も高くなります。例の仮想マシンが /dev/vgvms/lvsleslibguestfs-1 上にあるバックエンドストレージを使用している場合、virt-edit -a /dev/vgvms/lvsleslibguestfs-1 /etc/hosts コマンドを使用してファイルに直接アクセスして調整することもできます。仮想マシンファイルへのこのアクセスにより、損傷した仮想マシンを修復する方法に多くの柔軟性が与えられます。

Libguestfs における virt- の当初の出発点は、virt-edit や virt-df ツールを見ればわかるように、特定のタスクに向けた仮想マシンにアクセスする簡単な方法を開発することでした。 仮想マシンの DiskImage の内部ファイルにアクセスする、より直接的な方法が必要な場合は、代わりに guestfish や guestmount を使用することもできます。.

guestfish では、仮想マシンのディスクファイルに対して対話式シェルを開くことができ、仮想マシンのファイルを直接操作できますが、Libguestfs 環境のツールからのみ操作できます。つまり、guestfish環境では、ファイルのリストを表示するためにlsのような一般的なLinuxツールを直接使用することはできません。一方、guestmount では、ローカルで動作していない仮想マシンのディスクイメージをコンピューターのファイルシステムにマウントすることができます。

guestfish または guestmount は仮想マシン全体または特定のディスクイメージファイルの操作をサポートします。guestfish -i -a /dev/vgvms/lvsleslibguestfs-1 コマンドを使用して lvslesslibguestfs-1 イメージ上にあるファイルにアクセスするか、guestmount -i -a /dev/vgvms/lvsleslibguestfs-1 / mnt を使用して lvsleslibguestfs01 ディスクイメージ上のファイルを /mnt ディレクトリにマウントします。mnt を使用して、lvsleslibguestfs01 ディスクイメージ上のファイルを /mnt ディレクトリにマウントします。ここで、VMを起動できなくても、VMの管理タスクを実行できます。

*** virt-rescue を使用すると、仮想マシンの修復モードを有効にすることができます。そのツールモードは他の Libguestfs ツールと似ており、-d オプションでドメイン上で直接動作するか、-a オプションでイメージファイル上で動作します。repair モードで起動した後、まず mount-rootfs-and-do-chroot.sh コマンドを使用して仮想マシンのパーティションをマウントする必要があります。これが完了すると、仮想マシン上のすべてのファイルが repair シェルで利用可能になり、ファイルの解析と修復を開始できます。

Libguestfs ツールは、仮想マシンのディスクイメージファイルへの簡単で便利なダイレクトアクセスを提供します。これらのツールを使用することで、一般的なタスクを簡単かつ手間なく実行し、起動不能な仮想マシンの修復をサポートします。

Read next