①ESXi 8.0u3のVM用にqemuをソースコンパイル https://wiki.qemu.org/Hosts/Linux -> Alma Linux 10 でやった -> QEMUのサイトに載っている「必要な追加パッケージ」のみ入れた -> ./configure --prefix=/usr/local/qemu ※ほかに何をenableなどにするか分からなかったので、一旦これでやった。 -> 時間かかるので make は並列でする( make -j xx ) -> qemuはv11.0.0にした。可能な限りAlma 10にあわせたVerにした方がよかったかな。 ただ、Almaがどうコンパイルしているかもあるので、無理に合わせなかった。 ②ソールコンパイルしたqemuでvmxnet3使用可能か確認 -> /usr/local/qemu/bin/qemu-system-x86_64 -net nic,model=? ⇒OK ③ESXi VM の定義変更(xml) -> virsh edit ・エミュレーター「/usr/local/qemu/bin/qemu-system-x86_64」 ・マシンタイプ「pc-i440fx-11.0」※ソースコンパイル版で対応するマシンタイプの中から選んだ ・nic をvmxnet3に変更 ・その他、virsh edit で保存したときに文句言われたことに対処(大半、定義から消した。調べるのめんどいから。。。) -> cocklit からESXi VMが消えた ④ESXi 起動 -> virsh start ⇒OK ⑤ほかのWinVMからESXiのWebUIにアクセス -> wiresharkで確認 ⇒以前と違ってきれいなものだ。 ★cocklit からESXi VMが消えた件 cockpitの画面をF5すると、journalctlに以下出てくる。 virtqemud[48838]: 無効な引数: マシン 'pc-i440fx-11.0' は、エミュレーター '/usr/libexec/qemu-kvm' ではサポートされません virtqemud[48838]: 無効な引数: マシン 'pc-i440fx-11.0' は、エミュレーター '/usr/libexec/qemu-kvm' ではサポートされません <ログ確認> ・「マシン 'pc-i440fx-11.0' 」は、virsh edit で書き換えたものなのでOK ・「エミュレーター '/usr/libexec/qemu-kvm'」はパッケージ版のqemuでソースコンパイル版のqemu(/usr/local/qemu/bin/qemu-system-x86_64)の表示ではない。 ⇒ESXi VM の定義変更のうち、マシンタイプは正しく認識しているが、なぜかエミュレーターはパッケージ版の認識のまま。 で、パッケージ版のエミュレーターではマシンタイプの名前に「rhel」が必ず付くものしか対応していないが、 ESXi VM の定義では「rhel」がないものにしたため、上記ログのようにサポートされていないとの判断になるよう。 (ソースコンパイル版のqemuのマシンタイプでは「rhel」がつかない) <その他確認> ・virsh capabilitiesでホストの機能を表示すると、エミュレーターは「/usr/libexec/qemu-kvm」しかなかった。 エミュレーターはそのパスしかだめなような気がする。 <切り分け> ・試しに、パッケージ版のqemu(/usr/libexec/qemu-kvm)をmvして、ソースコンパイル版のqemuのリンクにすると、 cockpit でESXi VMが表示できた。が、他のVMが表示されなくなった。 ⇒/usr/libexec/qemu-kvmの実態はソースコンパイル版のqemuとなる。で、そのqemuはマシンタイプ「pc-i440fx-11.0」に対応しているので 問題はクリアになって、cockpit でESXi VMが表示できたよう。 ただ、他のVMの定義ではマシンタイプがパッケージ版を想定して入っていて「rhel」が入っている。で、ソースコンパイル版のqemuでは マシンタイプの名前に「rhel」がついていなく、結果、他のVMがサポートされていない組み合わせとなり、cockpitに表示されなくなった。。逆転。。。 ⇒ESXi VMだけの影響範囲としたいが、そうするにはソースコンパイル版のqemuで「rhel」つきのマシンタイプがないといけないように思える。 ただ、それをするにはソースをいじらないといけないだろうし、無理。あきらめる。。。