箱庭遊び2: 実Debianの仮想化は成功

うまく行かなかった,Debianの実マシンの仮想化はその後成功しました.

まっさらなqcow2の仮想ディスクイメージに実マシンのディスクの内容をコピーするという正攻法がうまく行かなかったので,Plan Bとして,仮想マシンとして動いているDebianの仮想ディスクイメージを複製し,

rsync -artlvd --sparse --inplace --delete /実マシンの/ディスクの/マウントポイント/ /仮想ディスクの/マウントポイント/

を実行しました.

--sparseオプションは,いくつか仮想ディスクイメージがあるから指定しています.また,ないとは思いますが,ディスクがオーバーフローしないように,--inplaceも指定しています

このコピーの後,コピー先の/etc/fstabの内容を,実情に合うようにします.とはいえ,ルートだけで,UUIDなり,/dev/sda3なり,/dev/vda3と指定します

そして,VMmanagerで,コピーしてできたqcow2を含んだ仮想マシンをでっちあげます.

さて,これでもまだコピーしてできた仮想ディスクイメージからブートはできませんので,DebianのインストールDVDイメージから新しく作った仮想マシン起動して,Rescueモードでなんやかんやしたらgrubで無事起動するようになりました.

結局どこが悪かったかわからないままですが,動けばいいんです.

ちなみに,この方法では一つだけ問題があります.それは,同じUUIDを持つパーティションがこの世に2つ存在することです.2つのディスクイメージを同じ仮想マシンに同時に装着して,UUIDを指定してパーティションをマウントしなければ問題になりませんが.

これも元をたどれば実マシンのDebian.ただし,いつ頃コピーしたかは不明.
UUIDの場合はもうひと手間必要ですが省略します😓
新規に作ったqcow2のパーティショニングかフォーマットあたりでしょうが.
今後同じ方法で複製をすれば,さらに増える😓

箱庭遊び1: Debianの実マシンが仮想化できない

そういう訳で久しぶりに始めた箱庭遊びですが,まず少しでも実用性のある遊びにしようと,実マシンのバックアップを取る意味で仮想マシン化する作業をしてみました.

先日ファイルシステムがぶっ壊れたDebianの実マシンを仮想化しようとはじめましたが,うまくいきません.

全部作業がエラーなく完了したはずなのですが,ブートしてもgrubが, “unknown filesystem” エラーを出して先に進みません.DVDイメージのレスキューモードからgrubを再三再四インストールし直しましたが,NGです.

もう一度一からやり直します.

箱庭遊び

ホスティングサービスなどでは仮想マシンは実用的な技術ですが,個人では作っては崩しを繰り返す箱庭遊びみたいなもんです.それでも実マシンから仮想マシンへ,あるいはその反対方向へ,またはKVM/QEMUからVMWareといった具合に違うシステムのホストの間で,と移転させるのには若干のノウハウが必要です.

時々思い出しては遊びますが,じきに飽きます.

しかし今回実マシンを破壊してしまって仮想マシンから “復元” することになりました.その際1年間のブランクのため,無駄な試行錯誤が必要でした.

これからは時々は箱庭遊びをして勘所を忘れないようにしたいと思います.

定期的に実マシンを仮想マシンに移転するのがバックアップの意義があって良さそうですが,新しく移転したら “かわいがってきた” 古い仮想マシンを未練なく消せるのか,という問題もあってちょっと考えなければなりません.

最終的には実マシンのbackupから本当の復元ができました.
仮想マシンの仮想ディスクは数十GBの実ディスク容量を専有しますから,無制限には残せません.

Debian実マシンをぶっ壊す (3) いちおう復旧

もとの実マシンでなく仮想マシンから持ってきたので,厳密な意味での “復旧” ではありません.しかし,Debianの実マシンが復活したので,広い意味での復旧ということにします

結局最終的に成功したのは,Manjaroの実マシンにDebianのパーティションを適当な場所(たとえば/mnt/hd)にマウントして,

root #mount --types proc /proc /mnt/hd/proc
root #mount --rbind /sys /mnt/hd/sys
root #mount --make-rslave /mnt/hd/sys
root #mount --rbind /dev /mnt/hd/dev
root #mount --make-rslave /mnt/hd/dev
root #mount --bind /run /mnt/hd/run
root #mount --make-slave /mnt/hd/run 

という具合にお膳立てしてから,

root #chroot /mnt/hd /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

として,さらにDebian実マシン用のEFIにしている/dev/sda1を/boot/efiにマウントしてから,UEFI+Grub2の手順にしたがって,EFIとGrubをインストールしました.

一年前の実マシンのバックアップからの復旧も試してみます.

このページの内容は固定ページに収録します.

利用した仮想マシンはもともと実マシンのクローンとして作成したので “復元” に近いといえます.

Debian実マシンをぶっ壊す (2) 進展なし

昨夜も2時間ほどあがきましたが進展なしです.

まずはぶっ壊したパーティションに,生きているDebian AMD64 bookworm (12.1)の仮想マシンの仮想ディスクの内容をコピーしました.これは内容量があまり多くなかったこともあり思ったより短時間ですみました.

引き続き自分で書いたメモに従い,DebianのインストールDVDイメージをUSBメモリーに焼いてレスキューモードからターゲットパーティションをchrootでマウントするという手軽な方法をとりましたが,それから先が進みません.EFIの設定もGrubの設定もエラーが出てできません.

お手軽なchrootがいけないのかもしれないので,手で設定してからchrootするManjaroの方法を今夜試してみます.

厳密には,空いている手頃なUSBメモリーがなかったので,16GBのSDカードに焼いて,USB-SDカードアダプターに差しました.