自宅鯖の仮想化プラットフォームを長らくお世話になったVMware ESXiからProxmox VEに移行した。
創世と破壊 pic.twitter.com/M4nvuxhTmP
— ほみるん (@h0mirun_deux) November 19, 2022
移行の経緯
現在の構成での運用はすでに5年ほど経っており、メンテナンスもかなり雑だった。更に、すべてのVMが温かみのある手動での構築だったため、自宅サーバーのメリットである「検証してだめだったら破壊してやり直す」というループを回すのも一苦労。特にk3sはmy-home AZでクラスタが完結していたことから、自宅の電源が失われるとクラスタが完全崩壊するという問題があった。これを手動せ戻すのがかなりしんどかった。
自宅リージョン全ての障害だったのでk3sが死んでdeploymentがうまく上がらなくなった
— ほみるん (@h0mirun_deux) September 6, 2021
ということで、インフラをコード管理したかったのである。
そこで、今年の夏にESXi上のVMをTerraformで管理しようと画策したことがあった。その時は、利用していた無償版ESXiではVMのあれこれを操作できるAPIが利用できなかったため、ESXiにSSHしてそこから操作をしてくれるterraform-provider-esxiを利用した。しかしながら、自分の環境ではterraform apply
中に必ずESXiとの接続が切れてしまう問題に当たってしまった。
terraform-provider-esxiがうまく動かなくてうーんつってる
— ほみるん (@h0mirun_deux) August 12, 2022
この後、一旦コード管理のモチベを落としてしまったが、先日ふとESXiやめてProxmox VEとかに移行すればカオスなVMを破壊できるし、コード管理もできそうだし良さそうということを思ったのであった。
Proxmox VEを入れる
善は急げということで、翌日にコロワク4回目を控えていながら深夜1:30から作業を開始した。
まずは、公式(https://www.proxmox.com/en/downloads/category/iso-images-pve)からイメージを引っ張ってくる。
引っ張ってきたイメージを、この時代OSインストールぐらいでしか利用しないUSBメモリへよしなに焼く。(diskutil、ddコマンド、ImgBurnなど宗派に合ったものを利用する)
あとは普通にUSB Bootしてウィザード通りに進めたらおしまい。
Proxmox VE、普通にDebianの上で動いているので、追加のストレージをmountコマンドでマウントして利用するということをするので面白いなぁというのが最初の感想だった。
さて、この後TerraformとAnsibleでガチャガチャしたりk0s建てたりしたが、今日はもう疲れたので今回のこれは技術的なにかというよりは日記ということにして、残りの話は別の機会にまとめようと思う。