バックアップから, 仮想ディスクを仕立てて,仮想マンシを起動するまでの手順をほぼ習熟しました.KVM/QEMUでもVMWare Fusionでもほとんど手順を間違えずに,あるいは間違えたとしてもすぐ修正して,仮想マシンが動きました.
一応これは実用的な訓練でしたが,あとは実用的な利用目的は考えつかないので,そろそろ箱庭遊びは切り上げます.
さて,次は何をしようかな😥
横断歩道での一時停止は善意ではなく義務 (Powered by WordPress)
バックアップから, 仮想ディスクを仕立てて,仮想マンシを起動するまでの手順をほぼ習熟しました.KVM/QEMUでもVMWare Fusionでもほとんど手順を間違えずに,あるいは間違えたとしてもすぐ修正して,仮想マシンが動きました.
一応これは実用的な訓練でしたが,あとは実用的な利用目的は考えつかないので,そろそろ箱庭遊びは切り上げます.
さて,次は何をしようかな😥
某所で動いている実用サーバーのバックアップから仮想ディスクを起こして起動させるテストの続きです.
一昨日うまく行かなかった理由はDebianのインストール用DVDイメージのRescueモードから,作った仮想ディスクにchrootしていたからです.この方法だとchrootの前のおまじないが足りないということは,随分前に経験済みだったのですが,同じところで一日はまり込んでいたわけです.
この日の作業では,まず上記Debianのインストールディスクでchrootしてうまく行っていなかった,DOSパーティションの仮想ディスクに,Gentoo方式で正しくchrootして,grub-install, grub-mkconfigを実行して,ちゃんとブートするようになりました.
次に,まっさらな仮想ディスクを仕立て,GPTパーティションとしてBIOS boot領域とルートの2パーティションにして,バックアップからコピーをして,同様にchrootしてgrub-install, grub-mkconfigをし,こちらもブートするようになりました.
どちらの仮想イメージについても,Bookwormに無事upgradeできました.
今日は都合によりいつも仮想マシン遊びをする第2 WS(workstation)でなくて,第3 WSの位置づけであるMacbookのVMWare Fusion 13 Player(以下 “VMWare”)で戦いの続きをすることにしました.
まずはVMWareで新規のマシンOther Linux Kernel 5.x (64bit)を作りました.インストール用DVD イメージはSlackware64 15.0のものを使いました.仮想ディスクは分割しない40GBです.
DVDイメージからブートして,仮想ディスクをfdiskで1つのパーティションのみのDOSパーティション(MBR)にしました.そして普通に,
mkfs.ext4 -j /dev/sda1
としてformatしました.
ここでいったん仮想マシンを終了させて,同じVMWareで動いているまともなLinuxの仮想マシンに,先程作った仮想ディスクを接続(元からは削除)してrsyncを使ってバックアップの内容をコピーしました.バックアップには/sys /proc /tmp /devがありませんからこれらを手で作ったり,/devに関してはコピーしました.
コピーが完了したら,もう一度その仮想ディスクを先程の仮想マシンに戻して,引き続きSlackware64 15.0のDVDイメージから起動して,いよいよchrootです.
今回は昨日の反省を踏まえて,ちゃんと手作業で準備をしてからchrootしました.これで,
grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg
として,今度は祈りながら仮想ディスクイメージからブートさせることで,ようやくディスクイメージからのブートに成功しました.
ネットワークの設定方法をすっかり忘れてしまっていましたが,実用マシンはスタティックなIPアドレスを使っていますが,そのままでは仮想環境から外に繋がらないので,/etc/network/interfacesをちょこっと編集しました.
これで外につながるようになったので,
apt update apt upgrade apt autoclean apt autoremove ここでリブートできればする 再度ログインして/etc/apt/sources.listのbullseyeをbookwormに書き換える apt update apt upgrade apt dist-upgrade apt autoclean apt autoremove
以上で無事にBookwormになりました.このVMareの仮想ディスクvmdkをqemu-imgでqcow2にコンバートすれば何もいじらずにKVM/QEMU環境で起動すると思いますが,練習を積むことも重要な目的なのでKVM/QEMU環境では仮想ディスクの作成からもう一度やってみます.
少し実用に近い作業をしていますが,昨日は使える時間をすべて使って取り組んだにも関わらず全く成果が得られませんでした.
何をしているかというと,某所で実用的に動いている仮想マシンが現在Debian 11.x Bullseyeのままなので,その某所のネットワーク管理者に叱られる前にDebian 12.x Bookwormにupgradeする必要があり,その下準備です.
その某所の仮想マシンについては,「ホストの管理者権限をもっていない」という大きな制約があります.したがって作業は慎重に慎重を重ねてやっていますが,これまで動かしてきた1年ちょっとの間に数回リブートできないトラブルに見舞われました.
そのうち1度はブートの仕組みをぶっ壊してしまい,手元にあるバックアップファイルから仮想ディスクを再構築して,仮想マシンのホストの管理者(以下「大家さん」)にSDカードに書き込んだ仮想ディスクを郵送して差し替えてもらいました.
残りのブート失敗はKVM/QEMUのバグで,何回かブートするとブートの一番最初のあたりで引っかかって先に進まないものです .このトラブルの場合には,大家さんに仮想マシンの強制リスタートをかけてもらえばたいていというかこれまでのところ全部解消してきました.
それで今回の話に戻りますが,しばらくその実用的なDebianの仮想マシンはいじっていないのて勘所をすっかり忘れています.そこで,そのマシンのバックアップから仮想ディスクを作り,仮想マシンとして起動して,Debian Bookwormまでupgradeをするという手順の確認と習熟を手持ちのマシンでするという非常に生産的な作業をしています.
最初は最新状態のManjaroで空の仮想ディスクを作ってext4にformatしてnbdでマウントしてバックアップをコピーし,Debian 12.1 (Bookworm)のインストールDVDイメージからchrootしてgrubのインストールを試みましたが,何度やっても自分で起動するようになりません.ときどき “unknown filesystem” っていうエラーメッセージが出ている事に気づきました.FEATURE_C12の呪いを忘れていました.
Debian 11.xの仮想ディスクはDebian 11.xでformatして作らないとNGです.
それを思い出してから作業をしていますが,Debian 11.xのインストールDVDから仮想ディスクイメージにchrootする選択をして,grub-installなりupdate-grubをするとエラーなくコマンドは通るのですが,いざ仮想ディスクイメージからブートしようとしてもgrubのrescueモードになってしまい,コマンドラインを打ち込んでもKernel Panicで止まってしまいます.
寝ながらいろいろ考えましたが,既に考え得ることは全てやり尽くしたように思います.しかし,昨年,確かにバックアップの内容から仮想ディスクを作り直し,その仮想ディスクで現在サーバーが稼働しているわけですから,できないはずはないです.
一つ可能性があるとしたら,Debianのインストール用DVDイメージのchrootで,必要なおまじないをしていないのかもしれません.
ということで,今日時間が取れたら,DVDイメージのRescue Modeから起動しても仮想とディスクへのchrootは自分でおまじないをしてからしてみる,というのを試みてみます.
うまく行かない最大の理由は,よく理解していないということなのはよくわかっています😓
箱庭遊びの範囲がそもそもの定義である「仮想マシン遊び」から,第2WSの第2OSのパーティションでの遊びまで広がってしまいました.第2OSのパーティションもほぼ制約なく書き換えたり消したりできますので,ここもなし崩し的に箱庭の範囲に含めてます.
さて,何がしたいかというと,第2WSに積んでいる3機のマスストレージの,第1OSのブート用SSDではないマスストレージにEFIのパーティションを設けて,そこから第2OSをブートさせるということです.これは今夏の箱庭遊びを始める前にはできていました.
ここ数日は,バックアップ用の2TB HDDに設けたEFIパーティションを現在第2OSにしているUbuntuの/boot/efiにマウントして,いろいろ試していますが,うまくいきません.
今日からはVMの仮想ディスク保存用のSSDでできないかやってみます.
一応この辺を参考にしています.