LoginSignup
0
0

More than 1 year has passed since last update.

Anthos for 逸般の誤家庭でライブマイグレーションができた

Posted at

先日書いた Anthos for 逸般の誤家庭: ~Anthos VM Runtimeで遊ぶ~ の続きです。
VMのライブマイグレーションができなかったのですが、できるようになったのでその顛末。

何がまずかったのか

こんなオチでしたよ・・・

そのせいで

internal error: Attempt to migrate guest to the same host 03000200-0400-0500-0006-000700080009

というエラーが出て virt-launcherが落ちていました。はじめは、同じホストにマイグレートしようとしている?なに言ってんだこいつ?ぐらいに思っていたのですが・・・

というわけでどうにかしなければならない

通常物理ホストでlibvirtdを起動する際は、ホストのUUIDをどこから拾ってくるかは /etc/libvirt/libvirtd.conf で指定できます。以下のように親切な説明書きもあります。

libvirtd.conf
###################################################################
# UUID of the host:
# Host UUID is read from one of the sources specified in host_uuid_source.
#
# - 'smbios': fetch the UUID from 'dmidecode -s system-uuid'
# - 'machine-id': fetch the UUID from /etc/machine-id
#
# The host_uuid_source default is 'smbios'. If 'dmidecode' does not provide
# a valid UUID a temporary UUID will be generated.
#
# Another option is to specify host UUID in host_uuid.
#
# Keep the format of the example UUID below. UUID must not have all digits
# be the same.

# NB This default all-zeros UUID will not work. Replace
# it with the output of the 'uuidgen' command and then
# uncomment this entry
#host_uuid = "00000000-0000-0000-0000-000000000000"
#host_uuid_source = "smbios"

ですがKubeVirtのvirt-launcherのコンテナにはそういう選択肢はなく、dmidecode -s system-uuid の出力が使用されるようです。したがって

  • DMIを書き換える
  • コンテナを改造する

の2択となります。いや正しくは UUIDが重複しているようなあやしい製品を使うな という話なんですが。

なにをしたか

いろいろ紆余曲折を経て、最終的にはAMI(このPCのBIOS)のDMIを書き換えるEFIツールを入手して、UUIDの書き換えに成功しました。ライセンス的に微妙かもしれないので詳しくは書きませんが、成功したツールは AMIDEFIx64.EFI というものです。これをUSBに入れてEFIシェルに入り

AMIDEFIx64.EFI /SU "AUTO"

でランダム生成されたUUIDがセットされました。
image.png

でライブマイグレーション

VM自体は前の記事でライブマイグレーションできるように作っていたので、

kubectl virt migrate <VM名>

とやるだけです。すんなり動きました。SSH接続も切れません。

ちなみにWindowsの仮想マシンも作ってみました。

で、負荷がかかった状態でもライブマイグレーションは動作するのかを確かめるべく、リモートデスクトップ接続したVM上のChromeでヒカキンのYouTubeを見ている状態でライブマイグレーションを発動させるというアホなことをやってみたのですが、さすがにこれは多少時間がかかり、RDP接続も切れました。切れてから再接続できるまで1分ぐらいかな。再接続したらChromeのプロセスも終了していました。

結論

  • ライブマイグレーションは動作する
  • どこまで「ライブ」かは状況による

良いお年を。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0