VMwareがBroadcomに買収され、人がバサバサ切られ、次は製品に大鉈が振られ、無償版のESXiも当たり前ながら終了となりました。
無償のESXiと言えば4.0か4.1くらいの頃に無償版が登場して、かれこれ15年くらい提供されてきたので、ちょっとしたサーバーインフラ好きなご家庭なら1つくらいESXi環境があったのではないでしょうか(ほんまか?)
うちの自宅も2013年の自作PC導入時のタイミングから10年ちょっと無償版ESXiのお世話になってきました。本当に、今までお世話になりました。
今後はvSphereのEssentials PlusとStandardが残りつつ、買い切りモデルからサブスクリプションモデルに移行するようですが、自宅サーバーをほそぼそやるには過剰なものになると思うので、別の環境への移行を考えないといけませんね。まあ、基本的にはLinux KVMのお世話になるんだと思っています。2013年より前はXenを使っていたので、久々のLinuxのハイパーバイザー環境に戻ることになりそうですね。
お仕事的にも、既存のお客さんとかどうなっていくんだろうなあと思うと、そのうちV2V案件とかあるんでしょうかね〜って雑談はしています。
現状のESXi使い込み具合
現状の自宅サーバーの使い込み具合を見てみましたが、それほどガッツリは作り込んでいませんでした。VLANもいまはやってないし、ストレージもローカルのSSD1発だし、そうすると考慮するのは以下の3〜4つくらいでした。
- ネットワークは10GbE + 1GbEでアクティブスタンバイのNICチーミングをする
- VMバックアップを毎日やる方法を確立しておく
- OSは基本UbuntuなのでOVAとかのクラウドイメージを使ってデプロイできると嬉しい
- NASのNFSにマウントして、ディスクイメージ置き場からOSインストールしたり、バックアップを置いたりしたい
ちなみに今のESXiはこんな感じ。いまだに6.7のままだったんですよね。7とか8にする前に終わっちまったぜ〜。
色々さわってみよう
問題はどの管理ソリューションを頼るかかなということで、いくつか思い浮かぶものを挙げてみました。
- Canonical MAAS
- Proxmox
- Cockpit
Canonical MAASは試すまでもなく社で使っているのですが、KVM Podsを使えばある程度やれそうな気はします。ただ、ネットワーク管理周りは癖があるかもという感じ。まあちょっと常用する気にはならないかも。
Proxmoxさわってみたけどチョットびみょい
たまによく聞くProxmoxをお試し。これも基本的には無償で触れるけどサブスクリプションしてねというもののよう。ログインすると毎回そう言うメッセージが出てきますが、スクリプトをいじれば消すこともできるそう。いやあ、それはそれでどうなんだっていう感じはします。
なんとなくVMwareとUIが似ているような似てないような感じはありますが、やれることはやれそうな印象。ただ、既存のNFSマウントしてその中のISOをマウントするなどはできず(マウントできるけど独自のディレクトリの配下しか参照しない)、最近のESXiで多用していたOVA/OVFファイルのインポートもおそらくなさそう。フーム。
OSのアップデートは、Debianベースなのでaptでできる模様。サブスクリプションしないと使えないProxmoxの部分のリポジトリは、ベータ的な無償リポジトリに書き換えればアップデートできるみたいです。
VMのバックアップが使えるのは好印象です。あと、LXCもあるので、物によってはこっちとうまく使い分けても良さそうです。
Cockpitもさわってみた。こっちのほうが好きかも
CockpitはRed Hatがスポンサーとなって開発しているLinuxのWeb管理ツールです。ネットワークの設定とかストレージの管理とかOSアップデートの作業がWebコンソールでできるというもの。仮想マシン管理機能も別パッケージで存在しており、これを追加するとLinux KVM環境がWebでそれなりにできます。コンテナー管理も同様に別パッケージで導入できますが、Red Hat色が強いのかPodmanのみのサポートです。後述の野良フォークを使えばDockerコンテナーも管理できます。
ところで、この計画をやるとしたらUbuntu Server 24.04がリリースされてからかなと思っているので、24.04のデイリービルドをダウンロードしてきて試しました。20.04の環境でもさわってはいたのですが、どうやら色々と機能が拡充されていて、欲しかった機能も増えていたので、24.04で作ろうという気持ちが強くなりました。
ネットワーク管理。NetworkManagerをWeb管理する作りになっているので、手作業でnetplanの設定に「renderer: NetworkManager」を入れて管理下に入れる必要があります。ブリッジ設定はもちろん、NICチーミングもできそうですね。20.04にはbondしかなかったので、チーミングできるようになったのはありがたいですね。
そして仮想マシン管理。リスト自体はこざっぱりしていて良いですね。
VMの作成画面。インストールタイプにクラウドベースイメージがあり、UbuntuのクラウドイメージファイルのOpenStackとかで使う形式のやつを食わせたら使えたので、UbuntuデプロイはこれでOKになりそうです。もちろんISOを指定して作ることも可能。
VMの画面。コンソールにすぐ触れるのはめっちゃ良いですね。作成画面では端折られていたCPUの設定もここで設定可能です。VMのその他の設定もここでできますし、USBデバイスのアタッチとか、スナップショットとかもできる模様。べんりやん……。
VMのバックアップに関してはUIではできないものの、virshコマンドでできそうということがわかったので、これも課題はクリアです。こんな感じのXMLファイルを書いてコマンドに食わせます。
<domainbackup> <disks> <disk name="vda" backup="yes" type="file"> <target file="/opt/aa-back.img" /> <driver type="qcow2" /> </disk> </disks> </domainbackup>
$ virsh backup-begin aa --backupxml a.xml
そして、コンテナー管理。CockpitとしてはPodman推しという、スポンサーの意向が見える方向性を取っていますが、有志がそれをforkしてDockerで使えるように書き換えたものを公開しています。作者いわく、仕事で使うからメンテしているので、仕事で使っているうちはメンテするよとのこと。
ソースコードからmakeしてインストールするとこんな感じで、Dockerコンテナーの管理画面が増えます。使い勝手が良いかと言われると、そこまでって感じはします。Docker Compose好きマンなので、これは見るだけにして、操作はコマンドでいいかなー、みたいな。
ところで、自宅のESXi上にはDockerホストVMが2つあるのですが、これらはLinuxに移行したらKVM環境と同居させてしまっていいかなと思っています。VMの数が減らせそうで良いですね。
長々書いてしまったけれど、Cockpitでやってみようかなと
というわけで、Cockpitが思いの外いい感じだったので、春になったらUbuntu 24.04 + Cockpit + KVM & Dockerな環境にで構築しようかなと思い始めているところです。VMの移行については、どのVMもUbuntu 20.04なので、基本的にはV2VせずにVM再構築のスタイルでやるつもりです。
マシンについては、組み直しはせずに続投にして、SSDだけ入れ替える感じでやれたらいいかなーと思ってます。そうすると過渡期をどうやるかが腕の見せどころ(?)になりそう。死蔵しているM75q-2を移行作業環境にしようかしら、とかですかね。
せっかくなので今後発売されるRaspberry Pi 5に乗せてみるってのもちょっと考えてみたんですが、さすがにRAMが足らないので、やめておこうかなーと。そういえばESXiのARMもどうなるんでしょうね。惜しいね。
ESXi、今までありがとうございました。まあ、終わるだろうと思って、わりと最近イメージと無償版ライセンスキーは入手しておいたんだけどね!笑
最後に、せっかくなら会社ブログに書けばええやんと思ったんですが、自宅のサーバーの話もあるので自分のブログに書き散らかしました。自宅でやって知見が溜まったら会社ブログにも出していきたいですね。