タイトルのとおりですが、ハズレでした。なんですって。
OVAインポートは便利
おもにUbuntuやRHELなどのLinuxのVMをデプロイするときは、インストーラーをポチポチするよりも、Cloud Imageがあればそれをデプロイしてラクをしたい派の私は、VMwareでもKVMでもProxmox(8.3以降)でも、OVAやqcow2イメージを使ってVMをデプロイしています。cloud-initの入ったISOをアタッチして起動すれば、SSH鍵とかユーザー名とかIPアドレスとかをある程度設定できるので、起動したらすぐにOSを使い始められるので便利です。
Ubuntuであればこちらから入手できます。qcow2やOVAなど様々な形式のイメージが提供されています。
RHELであればこちらのVirtualization Imagesが該当しますが、qcow2のみの提供のようです。
https://access.redhat.com/downloads/content/rhel
ProxmoxでUbuntuのOVAイメージからデプロイしたVMが起動しない
今日は久々にProxmox上でUbuntu VMを作成したくなり、OVAイメージからVMを作成して起動しようとしましたが、あれ、起動しない。このあたりまでメッセージが出たところで止まってしまいました。Grubのメニューに入ることもできず、調べることもできない、ぐぬぬ。
ストレージコントローラー?
ネットワークで詰まっている?いや、他のVMは同じブリッジで動いてるもんな?と思いながら社内のSlackに投げてみたところ、ストレージコントローラーでは?とのコメントが。
本当かしら?というわけでデフォルト値のLSI 53C895AからVirtIOに変更しました。たしかに、ドライバーがあるならVirtIOを選択したほうが良いでしょうが、でもデフォルトで動かないなんてこと……
ありました。えぇ〜。
Cloud Imageは仮想マシンとして動く前提のイメージなので、仮想環境で一般に使われるドライバー以外は削られている可能性が考えられますが、Proxmoxが想定するデフォルトに相当するLSI 53C895Aドライバーがないのは意外でした。
Ubuntuのデプロイ時はデフォルト値から変更しよう
というわけで、Ubuntu Cloud Imageのデプロイに関しては、デフォルト値でデプロイをすると起動に失敗するということがわかりました。OVAからインポートするときのデフォルト値は、ストレージはLSI 53C895A、ネットワークはVMware vmxnet3になっていますが、どちらもVirtIOにすると良いでしょう。
ストレージコントローラーの動作を全部確認してみた結果がこちら。二重丸がこれにしておけばOKというVirtIOのやつです。LSIは全滅でした。Oh。
ネットワークは全部試すことはしていませんが、こちらもわざわざIntelやRTL8139などにしなくとも、VirtIOで良いでしょう。