Proxmox VE 高度な実務:クラスター・HA・Ceph・API

4 min read

環境が1台のマシンから複数台のマシンに変わると、運用の焦点は「動けばいい」から「可用性・スケーラビリティ・自動化」に移ります。この記事はソロダンジョンからレイドへのアップグレードです。

クラスター構築

適用シナリオ:集中管理・クロスノードスケジューリング・移行をしたい場合はクラスターから始める。

# 最初のノードでクラスターを作成
pvecm create my-cluster
 
# 他のノードが参加(マスター IP を実際のものに変更)
pvecm add <cluster-master-ip>
 
# 状態確認
pvecm status

クラスター構築後はノードのホスト名をできるだけ変更しない;参加前に DNS・時刻同期・ネットワークが正常かを確認 — そうしないと謎の問題が発生します。

HA(高可用性)の設定

適用シナリオ:あるノードが落ちたとき、VM が別のノードで自動的に起動し、サービスが中断しない。

前提条件:

  • クラスターが存在する
  • VM のディスクが共有ストレージ上にある
  • 正しい fencing メカニズムがあり、スプリットブレインを防ぐ(両方が自分がリーダーだと思う状況)
# VM 100 を HA 管理下に置く
ha-manager add vm:100 --maxrestart 3 --maxrelocate 5

HA が正しく設定されていれば、単一ノードの障害時もユーザーはほぼ気づかない — 猫が常に別の寝場所を確保しているようなもの。

Ceph ハイパーコンバージドストレージ

適用シナリオ:複数ノードで共有ストレージと高可用性の両方が必要 — Ceph で一緒に解決。

推奨前提条件:

  • 少なくとも 3 ノード(Ceph は単一点が苦手)
  • 各ノードに複数の専用ディスク
  • 専用ストレージネットワークがあればさらに良い
# Ceph を初期化
pveceph init --network 10.0.0.0/24
 
# 各データディスクに OSD を作成
pveceph osd create /dev/sdX
 
# Pool を作成して PVE に接続
pveceph pool create vm-data --add_storages

Ceph はベアディスクを直接管理することを推奨 — ハードウェア RAID を重ねないように。それだと Ceph のデータ保護と観測性が半減します。

ストレージ複製

適用シナリオ:クロスノードの冗長性、障害時の迅速な引き継ぎ。

pvesr create-local-job 100 local-zfs remote-zfs --schedule "0 2 * * *"

API と自動化の統合

適用シナリオ:スクリプトでの操作・CI/CD・他のプラットフォームとの統合。API トークンを使うことを推奨 — root パスワードをあちこちに貼り付けない。

# API トークンで VM リストを取得
curl -k \
  -H "Authorization: PVEAPIToken=user@realm!tokenid=secret" \
  "https://<PVE-IP>:8006/api2/json/nodes/<node>/qemu"

自動化が整ったら、繰り返し作業はスクリプトに任せて、あなたはコーヒーと猫を楽しめます。

次のステップ

高度な機能を習得したら、運用規則でリスクを抑えましょう: 👉 ベストプラクティス