GMKtec ミニPCでProxmoxクラスターを構築
Table of Contents
先日、GMKtecのミニPC(M7 Ryzen 7 PRO 6850H)を購入して、既存のProxmoxサーバと組み合わせて2台構成のクラスターを構築しました。
今回はその過程を、購入したミニPCのハードウェアの紹介から、Proxmoxのインストール、クラスター構築、そして既存VMのライブマイグレーションまで紹介しようと思います。
1. 新規ハードウェアの紹介
今回購入したのは、GMKtecのM7 Ryzen 7 PRO 6850Hです。 楽天市場でセールがやっていたので購入しました。(セールで買うのがデフォルトみたいな感じですが)
スペックは大体こんな感じです:
- CPU: AMD Ryzen 7 PRO 6850H (8コア/16スレッド)
- RAM: 32GB DDR5
- Storage: 1TB NVMe SSD
- Network: 2.5Gb Ethernet × 2
それでは早速開封していきましょう。

コンパクトなパッケージに入っています。箱はちょっと凹んでいましたが、中身は綺麗です。付属品は電源アダプタとHDMI/USBケーブル類。

筐体を開けてボードを確認してみました。

コンパクトにまとまっていて、NVMeスロットが2つ(1つは空きスロット)、SO-DIMMスロットが2つ(16GB x2)あります。 SSDは最大4TBまで、メモリは最大64GBまで増設可能らしいので、足りなくなったら換装もできます。
ではProxmoxをインストール、、、といきたい所ですが、その前にBIOS設定だけ少しいじります。

CPU Power Modeを “Performance” に設定して、電力効率や静音よりもパフォーマンスを優先する構成にしました。
2. Proxmoxのインストール
続いて、Proxmox VEをインストールしていきます。
執筆時点の最新バージョンは 9.0 でしたが、既存のProxmox Nodeが8.4で動いていたため、合わせて8.4をインストールします。 Proxmoxの公式ドキュメントを参考にして、こちらのページ からProxmox VE 8.4のISOイメージをダウンロードしました。
次に、Zennの記事を参考にして、balenaEtcherを使用してISOイメージをUSBメモリに書き込みます。

書き込んだUSBメモリをミニPCに刺して、Proxmoxインストーラーを起動します。

ひとまず memtest を実行しておきます。


memtestが無事完了し、メモリに初期不良がないことを確認できました。
インストーラーでネットワーク設定やディスク設定を行い、Proxmoxをインストールします。


無事にProxmoxが起動しました。 これで、同じLANに接続しているPCからHTTPSでProxmoxのWebインターフェースにアクセスできるようになります。
3. Proxmoxクラスターの構築
今回は既存のProxmox Node(pve01)と、今回追加する新規のNode(pve02)で2台構成のクラスターを構築します。
(VMネットワーク、管理ネットワークと書いてあるのはProxmox上のk8sクラスタで構築する予定のOpenStackの話なので、今回は気にしなくて大丈夫です。)
Before:

AFTER:

3.1 既存 Node でのクラスター作成
まず、既存Node側でクラスターを作成します。 Proxmox Webインターフェースから「Datacenter」→「Cluster」→「Create Cluster」を選択し、Cluster Nameと使用するネットワークインターフェースを指定してクラスターを作成します。
クラスター作成が完了したら、「Cluster」→「Join Information」から新規Nodeを参加させるための情報を取得します。

Join Information は base64 エンコーディングされた文字列のようだったので、デコードしてみると以下のような JSON でした。
{
"ipAddress": "192.168.1.12",
"fingerprint": "97:58:69:80:2C:42:08:67:F4:94:F7:C4:09:28:9E:FD:D5:69:23:EC:C7:57:76:3B:8D:C6:17:9A:A8:FA:43:29",
"peerLinks": {
"0": "192.168.1.12"
},
"ring_addr": [
"192.168.1.12"
],
"totem": {
"cluster_name": "wakapi",
"ip_version": "ipv4-6",
"config_version": "2",
"interface": {
"0": {
"linknumber": "0"
}
},
"version": "2",
"secauth": "on",
"link_mode": "passive"
}
}
既存Nodeのネットワークインターフェース情報や検証用のフィンガープリント、またクラスター内通信の設定などが含まれているのが分かります。
3.2 新規 Node の Join
新規Node側で「Cluster」→「Join Cluster」を開き、取得したJoin情報をペーストします。

既存Nodeのrootユーザーパスワードやネットワークインターフェースを設定してJoinを実行します。
Joinが完了するとクラスターに2台のNodeが表示されており、クラスターが正常に構築されていることが確認できます。 画面左側のタブにも、2台のNodeが表示されています。

4. ライブマイグレーション
せっかくクラスターが構築できたので、既存Nodeから新規NodeへVMのライブマイグレーションを試してみました。
ライブマイグレーションはVMを稼働させたまま別のNodeに移行する機能で、サービスをほとんど停止することなく筐体間でNodeを移動することができます。
マイグレーションは数分で完了し、VMが新規Node上で動作することを確認できました。
マイグレーション中に対象VMにpingを打ち続けていましたが、3回だけパケットロスが発生していました。
5. まとめ
今回は、GMKtec M7を使った2台構成のProxmoxクラスター構築を行いました。 Proxmoxはインストールからクラスターの構築、マイグレーションまで直感的なUIで簡単に操作することができ、やっぱり非常に扱いやすいなと感じました。
今後は、Proxmox上のk8sクラスターでOpenStackを構築するなど、さらに色々と試してみようと思います。
最後まで読んでいただき、ありがとうございました。