libvirt: monolithic vs modular

libvirt(d)のドキュメントなどを少し読んでます.

もともとlibvirtdは,1つのデーモンで何でもこなすようになっていたようですが,最近では,機能別にモジュール化したデーモンを使う方向に移行しているそうです.

QEMUをhypervisorとするときの担当daemonは,virtqemudだということです.Gentoo(AMD64)の/usr/sbinを覗くと,

ls -l /usr/sbin/virt*
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtinterfaced
-rwxr-xr-x 1 root root  81272 Feb  7 09:09 /usr/sbin/virtlockd
-rwxr-xr-x 1 root root  81080 Feb  7 09:09 /usr/sbin/virtlogd
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtnetworkd
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtnodedevd
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtnwfilterd
-rwxr-xr-x 1 root root 486616 Feb  7 09:09 /usr/sbin/virtproxyd
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtqemud
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtsecretd
-rwxr-xr-x 1 root root 482520 Feb  7 09:09 /usr/sbin/virtstoraged

てな具合です.一方,macOSでは,

ls -l /opt/local/sbin/virt*
-rwxr-xr-x 1 root admin 79152 8 4 2020 /opt/local/sbin/virtlockd
-rwxr-xr-x 1 root admin 80424 8 4 2020 /opt/local/sbin/virtlogd
-rwxr-xr-x 1 root admin 439400 8 4 2020 /opt/local/sbin/virtproxyd
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtsecretd
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtstoraged
-rwxr-xr-x 1 root admin 434832 8 4 2020 /opt/local/sbin/virtvboxd

です.virtqemudやvirtnetworkdなどがありません.当然,同時にbuildされた,monolithicなlibvirtdにも,virtqemudなどの機能は含まれていないと想像できます.

macOSで,KVMが機能しないのは解りますが,QEMUも動かないんでしょうか.かつて,Qという,QEMUのアプリがありましたからそうではないと思います.が,MacPortsの中身がさっぱり解らないので,お手上げです.

VirtualBoxは削除

ちなみに,VirtualBoxで動くGentooは,あいかわらずSegfault乱発で,まともに動いてくれないので,削除しました.

MacでQEMUは難航

MacPortsもなんにも知らないで使ってきたのですが,GentooのUSEflagに似たような,Variantというのがあるのを知りました.

MacPortsでは,理由は知りませんが,Apple謹製のXQuartzに変えて,MacPortsによるXorgの移植品を使う方向に切り替えつつあるようです(当社調べ).

で,どうも,Virt-Managerに関連したソフトの一つが,もはやXQuartzをサポートせず,Xorgのみに対応しているようです.そこで,

/opt/local/etc/macports/variants.conf

に,なんやかんや書くようなのですが,どうしたわけか,記憶と実態とが違っているので,中身を掲載するのはやめます(あとで,はっきり理由がわかったら掲載します).

で,なんやかんや書いて,virt-managerまでbuildできて動くのですが,libvirtdを動かしているにもかかわらず,virt-managerで接続しようとしても,繋がりません.

macOSで,virsh uriをroot権限で実行すると,

virsh uri
error: failed to connect to the hypervisor
error: internal error: Failed to create vbox driver object.

という具合にエラーになります.Gentooの実マシンで同様にvirsh uriを実行すると,

virsh uri
qemu:///system

と,教科書通りに出ます.

virsh -Vは,macOSでは,

virsh -V
Virsh command line tool of libvirt 6.6.0
See web site at https://libvirt.org/

Compiled with support for:
Hypervisors: VMware VirtualBox ESX Test
Networking: Remote
Storage: Dir
Miscellaneous: Daemon Secrets Debug Readline

となり,一方Gentooの実マシンは,

virsh -V
Virsh command line tool of libvirt 6.8.0
See web site at https://libvirt.org/

Compiled with support for:
Hypervisors: QEMU/KVM VMware ESX Test
Networking: Remote Network Bridging Interface udev Nwfilter VirtualPort
Storage: Dir Filesystem SCSI
Miscellaneous: Daemon Nodedev Secrets Debug Readline

大きな違いは,MacPort (macOS)のほうは,HypervisorsにQEMUが含まれていないことでしょう.

これが,virsh uriでエラーになり,virt-managerが接続できない原因でしょう.

さて,どうしていいか,さっぱりわからない😥

いろいろ扱いにくいんでしょうね.知らんけど.

Gentoo (35) macOSでQEMU/Virt-Manager

仮想マシンのほうがなかなからちがあきません.まともに動くのがありません.

Linux + QEMU/libvirt/Virt-Manger

仮想マシン自体の動作には全く問題がありませんが,Virt-mangerのバグのため,スナップショットのマネージメントができません

macOS + VMWare Fusion

画面の解像度が800×600でしか動きません

macOS + VirtualBox

CPUの温度が上がったり,全く原因不明だったりしますが,segmentation fault (segfault)が頻発して,使い物になりません.


そこで考えたのですが,macOSでQEMU,libvirt,Virt-Mangerをインストールできないかということです.利用しているMacPortsには,一通りそろっています.

QEMUとlibvirtは問題なくintallできましたが,Virt-mangerはNGです.バグのようです.

#62064 assigned defect

virt-manager @2.2.1_3+x11 Configure error – build failure: “gtksourceview4 must be installed with +x11 and without +quartz”

このバグか解消されるのを気長に待ちましょう.

Gentoo (34) VM絶滅

仮想マシン(AMD64.以下 “VM”)がことごとく壊れてしまいました.リアルのマシン(Main Linux Workstation,以下 “WS”)も1度壊れて,バックアップから復元していますので,全く扱いにくいdistroです.

仮想マシンに関しては,あいかわらずVirtualBoxが不安定で,起動後いきなり落ちるようなエラーが出て,ホストマシンのMacを再起動すると直るような場合はVirtalBoxの責任だと解りますが,そうでないエラーではホスト(VirtalBox)が悪いのかゲスト(VMのGentoo)が悪いのかよく解りません.

WSの破損時も大昔にリバートしなければならなくなって懲りたので,毎日バックアップを取ることにしました.

仮想マシンは,Mac miniのVMWareとVirtualBox,MacbookのVirtualBoxの3つを飼っています(が壊滅状態😓).頃合いを見て,リアルマシンからクローニングすることにします.

追記

Mac miniのVMWareで飼っているGentoo AMD64 (x86_64)のVMは,少し前のsnapshotから復元することで,なんとかemergeも機能するようになったので,OKのようです.

残る問題のVMは,2台のMacでそれぞれ飼っているVirtualBoxのVMです.

Gentoo RPi (13) やっとKDEが動く

いやはや,なんとも.やっとPlasma (KDE)が動くようになりました.AMD64 (x86_64)の時と違って,plasma-desktopまで,明示的にインストール(emerge)しないとならないようでした(どこかで手順を間違えているに違いないです😓).まだ,システム設定とか何にもなくて,それらもこれから,明示的にemergeします.

ちなみに,ログインは,lightdmが機能しますが,SDDMはあいかわらずだめです

そうでした,Firefox-binもないから,ソースからのbuildをかけて今夜は寝ます.

systemctl status sddmで,動いていることになっているけど,画面表示が出ない.