宅鯖をESXiからProxmox VEに移行した

ESXiで度々PSoDすることがあって毎回キレていたんだけど、VMに負荷をかけると死にやすくなっていたのでProxmox VE(以下PVE)に移行した。
やっぱりESXiを推奨ハードウェア以外で動かすのはやめようね!

以下、詰まった部分の備忘録。

インストール

オンボードグラフィックがRadeon 3000なんだけど、PVEのインストーラーだと解像度がおかしくなってインストールできなかった。
DebianをインストールしてからPVEをインストールする作戦にした。

やり方はInstall Proxmox VE on Debian Busterに詳しく書いてある。
要するにAPTにリポジトリを追加してパッケージを入れるだけ。
超簡単。

VMインポート

ESXiからVMの引っ越すにしても、ESXiは.ovaでエスクポートできないし、PVEも.ovaをインポートできない。
結局.vmdkをscpでコピーして、ダミーディスクを指定してVMを作ってから、

sudo qm importdisk VMのID disk-1.vmdk ディスク名 -format qcow2

でチマチマやった。
温かみのある職人技はやめようね!

WebUIが :8006 で待ち受けてウザい

PVEはWebUIのポートを変える設定を用意していない。

Access webui without port address

sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8006

して無理やり:443でもアクセスできるようにする。

iptablesの設定永続化のために、iptables-persistentを入れておくといい。

sudo apt install -y iptables-persistent

Let's Encryptの証明書が発行できない

CloudflareでDNS-01な感じで証明書を取ろうとしても、エラーを吐きまくって憤死する。
[SOLVED] Error add txt for domain failed: exit code 1にあるように、dns_cf.shを更新してあげればいい。

cd /usr/share/proxmox-acme/dnsapi/
mv dns_cf.sh dns_cf.sh.bkp
wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/dnsapi/dns_cf.sh