私は次のような状況にあります。
SSH経由で実行されているCentOS仮想マシンのディスク(sda、sdb)を「複製」する必要があります(次の手順に従ってこれを実行しました)。このガイド)VirtualBoxと同じ場所に配布してください。
試してみましたが、残念ながらsdaとsdbの生イメージを取得し、VBoxManageを使用してVHDに変換した後、それを新しいVMに追加し、起動時に「ブータブルメディアなし」というメッセージが表示されました。
コメントありますか?
自動回復のためにCentOS Live CDを試しましたが、回復可能なディスクが見つかりませんでした。また、情報を取得するためにfdiskを試してみましたが、残念ながらパーティションを読み取ることができないようです。
助けてくれてありがとう!
答え1
ネットワークアクセスを介してLive CDから起動できる場合は、次のことができます。
VirtualBox VMで実行されているLive CDからルートシェルをインポートする
必要に応じて仮想ディスクを分割してフォーマットします。 LVMツールがLive CDにある場合は、LVMを使用することもできます。
走る
mkdir -p /target
/targetに目的のrootfsをマウントし、マウントポイント(/target/home、/target/varなど)のディレクトリを作成し、適切なパーティションをマウントします。
cd /target
rsync -a --exclude proc/** --exclude sys/** --exclude dev/** root@remoteVM:/ ./
(rsyncコマンドには微調整が必要な場合があります。--dry-run
適切になるまでオプションを使用して実行してください)
for i in dev dev/pts proc sys ; do mount -o bind /$i /target/$i ; done
chroot /target
。/etc/fstab
/etc/default/grub
必要に応じて新しいシステムに合わせて編集します。update-grub
exit
/target およびその下のすべての項目をマウント解除します (上記のバインドマウントを含む)。
再起動。
または、をrsync
使用してtar
リモート仮想マシンのファイルシステムをバックアップし、Live CDから入手できる場所にtar.gzファイルを配置することもできます。バックアップから/proc、/dev、および/sysディレクトリを除外します。
注:mysql、postgres、またはdbファイルまたは他のプレーンテキストファイルに書き込むすべてのものを実行している場合は、rsync
データベースバックアップを実行する必要があります。すべてのデータベースをテキストにダンプするのも良い考えです。
rsync中にプレーンテキストファイル(ログファイルなど)に書き込むことは、rsyncを実行した後に発生したログエントリを失っても大丈夫であればそれほど危険ではありません。少なくともファイルが破損する可能性はありません。 。
systemdのログはバイナリです。したがって、systemdを実行している場合は、破損を防ぐためにログをオフにする必要があります。システムをシャットダウンせずにこれが可能かどうかわかりません。