外付けディスクからの起動成功 (KVM 11)

いろいろ試行錯誤の結果,うまくいきました.仮想マシンのKernelでvirtio_scsiが必要です.Kernelに焼き込んでも良いのですが,一応initrdにしました.例によって,依存のある他のmoduleを順序正しくloadする必要があります.とりあえずうまくいったのはこの順番でロードしました.

virtio.ko
virtio_ring.ko
virtio_pci.ko
virtio_scsi.ko

virtio_pciが必要なのかどうかは解りません.まあ,動けば良いんです^^;

virt-managerで既存のディスクとして,ホストで見たとおり,/dev/sde等として追加登録します.

ゲスト(仮想マシン)のkernelがvirtioをサポートしていれば,2番目のディスクならば/dev/sdbとして見えます.あとは,fstab等の修正をすれば良いわけです.

この起動可能な外付けディスクは,一部設定を変えれば,仮想マシンでなく,実マシンのboot driveとしても使えますね.

これで可能性が非常に広がりました.

外付けディスクをつなぐ (KVM 10)

NBDによる,仮想マシンのディスク操作は危険を伴うものでした.

これに変わる方法は何かないかと思っていましたが,ディスクイメージでなく,実ディスクをKVMから直接アクセスできれば,と思って調べてみたら,当然のようにできるようです.

今,USB3で接続した外付けディスクを,仮想マシンからマウントして,ディスクイメージ内のディスクを全部rsyncでコピーしてみています.コピーした外付けドライブから起動までできれば,

  1. ディスクイメージの内容を外付けドライブにコピー
  2. 外付けドライブの内容をホストマシンなどでいじる
  3. 外付けドライブを仮想マシンにつないで仮想マシンを外付けドライブから起動
  4. 外付けドライブの内容をディスクイメージにコピーバック

という,メンテナンス方法が可能と思われます.同じディスクを使えば,1と4の所要時間は2度目からはうんと短くなります.

試してみます.