この簡単なガイドでは、 Virt-rescueとは何かについて説明します。 、LinuxオペレーティングシステムでVirt-rescueコマンドラインユーティリティを使用して仮想マシンをレスキューする方法。
Virt-rescueとは何ですか?
Virt-rescue レスキューCDのようなものですが、仮想マシン専用です。シンプルなレスキューシェルと、仮想マシンまたはディスクイメージの問題を検査および修正するためのいくつかのリカバリツールを提供します。
Virt-rescueはguestfishとは異なりますのでご注意ください。 Guestfishは、仮想マシンとディスクイメージを編集および変更するためのインタラクティブなシェルです。
対照的に、Virt-rescueは、起動に失敗した仮想マシンをレスキューするのに特に適しています。 VMが起動しない場合は、virt-rescueを使用してVMまたはディスクイメージでレスキューシェルを起動し、標準のLinuxコマンドを使用して修正を試みることができます。
virt-rescueは、仮想マシンだけでなく、任意のディスクイメージファイルまたはデバイスで使用できます。たとえば、USBドライブ、SDカード、ハードディスクで使用できます。ディスクイメージを開くためにrootが必要でない限り、root権限は必要ありません。
Virt-rescueはlibguestfsの一部です これは、仮想マシンのディスクイメージにアクセスして変更するための多くのコマンドラインユーティリティを提供します。
Virt-rescueを使用して仮想マシンをレスキューする
仮想マシンがオフになっていることを確認してください。 ライブでレスキューシェルを実行しないでください 仮想マシンまたはディスクイメージ。
問題のある仮想マシンでレスキューシェルを実行するには、次の手順を実行します。
$ virt-rescue -d centos8-uefi -i
"centos8-uefi"
を置き換えます 仮想マシンの名前を使用します。 "virsh list --all"
を使用して、使用可能なVMのリストを見つけることができます。 コマンド。
以下のように、任意のディスクイメージでレスキューシェルを直接実行することもできます。
$ virt-rescue -a CentOS_8_Server.img -i
ここでは、 -i
(--inspector
)フラグは、仮想マシンのファイルシステムを自動的にマウントするために使用されます。使用しない場合は、仮想マシンのファイルシステムを /sysroot
という空のディレクトリに手動でマウントする必要があります。 。
これで、多くの通常のLinuxコマンドを使用して仮想マシンをレスキューできるインタラクティブなbashシェルに到達します。
[...] Welcome to virt-rescue, the libguestfs rescue shell. Note: The contents of / (root) are the rescue appliance. Use 'cd /sysroot' or 'chroot /sysroot' to see guest filesystems. groups: cannot find name for group ID 0 ><rescue> The virt-rescue escape key is ‘^]’. Type ‘^] h’ for help.
レスキューシェルから、従来のLinuxコマンドを使用してVMを修正することができます。
上記のように、ゲストマシンのファイルシステムは/sysroot
にマウントされます ディレクトリ。
"ls"
で確認できます コマンド:
><rescue> ls /sysroot/ bin dev home lib64 mnt proc run srv tmp var boot etc lib media opt root sbin sys usr
/sysroot
にchrootするには 最初のディレクトリ:
><rescue> chroot /sysroot
レスキューシェルを終了するには、 exit
と入力します Enterキーを押すか、 Ctrl+d
を押します 。
VMを読み取り専用モードで起動
前に述べたように、ライブVMでレスキューシェルを実行しないでください。ただし、それでも何らかの理由でそれを実行したい場合は、 --ro
を使用してください "virt-rescue"
を使用するオプション ライブディスクイメージまたはVMで安全に。
$ virt-rescue -d centos8-uefi -i --ro
または、
$ virt-rescue -a CentOS_8_Server.img -i --ro
--ro
オプションは、VMまたはディスクイメージを読み取り専用モードで起動します。 VMまたはディスクイメージの実験に最適です。変更は実際には保存されません。シェルを終了すると、すべての変更が失われます!
VMのネットワークアクセスを有効にする
ファイルまたはパッケージを仮想マシンにダウンロードする場合は、 --network
を使用できます。 virt-rescueコマンドの実行中のオプション:
$ virt-rescue -d centos8-uefi -i --network
または、
$ virt-rescue -a CentOS_8_Server.img -i --network
このオプションを使用すると、レスキューシェル内でネットワークにアクセスできるため、インターネットからコンテンツをダウンロードできます。
Virt-rescueには多くのオプションがあります。詳細については、manページを参照してください:
$ man virt-rescue
MiguelÁによる注目の画像。パドリニャン ペクセルから 。