LoginSignup
32
35

More than 1 year has passed since last update.

Proxmox VE7.0をインストールしクラスタを構築する

Last updated at Posted at 2021-09-05

Proxmox VE とは

ESXiみたいなOSSです。管理用のWebベースのGUIを持っている仮想化ハイパーバーザーで、ブラウザからVMの設定とか行えます。また、ハイパーバーザーの中身はDebianなのでSSHで入って色々できるそうです。

OSSなのでHAとか分散ストレージとか無料で利用できます。ESXiだとvSphere Centraとかに課金が必要ですがそういうのがないです。
有料のサポート版があり、サブスクリプションキーが無いと利用できなリポジトリ(ガチ安定版が配られると思われる)がありますが、商用リポジトリに入る前のアップデートが入るリポジトリ(開発版は別にリポジトリがあるのである程度安定してるバージョン)は無料で利用できます。
KVM + Debianでできていて、配布されているインストールイメージを利用してサーバーなりPCなりにインストールできます

クラスターとは

Proxmox VEをインストールしたノード同士でクラスターを構成する事ができます。
すべてのノードを単一のWeb画面から管理できたり、クラスター内でVMのマイグレーションを行ったりすることができます。

今回は3台のノードにProxmox VE 7.0をインストールしクラスターを構築したので、その忘備録として残します。

環境

ノード NEC iStorage NS100Tg
CPU Xeon E3-1220v5
メモリ 16GB
ストレージ そのへんに落ちてたSSD

x3台

クラスターの構築要件

  • 時刻・時間が同期されていること
  • rootユーザーのパスワードが設定されていること
  • HA機能を利用する場合は、3台以上のノードがクラスターに参加していること
  • Shared Storageを利用する場合は、クラスター間のトラフィックのために専用のNICを用意することが推奨されます

ネットワーク的な要件は

同じサブネットにノードを接続しておけば問題ないかと思います
詳細は以下の通りです。

  • UDP5404番ポート・UDP5405番ポートで通信が行えること(for corosync to work)
  • TCP22番ポートで通信が行えること(ノード間のSSH)
  • レイテンシが2ms以下であること  

ProxmoxVE のインストール

RufusでインストールUSBを作成します。このとき DDモードで作成する必要があります。
image.png

インストールUSBから起動しGUIのインストーラーに従って以下の設定を行います

  • インストール先のディスク選択・ファイルシステム選択
    • デフォルトのext4を選択
    • zfsとかも使えるので必要に応じて設定する
  • 場所(ミラーサーバーを選ぶのに選択, TimeZone, キーボードレイアウト)
    • 日本に設定
  • メールアドレス、rootユーザーのパスワード
  • ホスト名、IPアドレス、ゲートウェイ、DNSサーバーの設定
    • ホスト名はFQDNを設定する(host名.example.com みたいな形)よう求められます

インストールが完了し、インストールUSBを抜いて再起動を行うとproxmox VEが起動します。
https://<設定したIPアドレス>:8006で管理画面にアクセスできます。アカウントはroot/設定したパスワードでログインできます

image.png

リポジトリの設定

デフォルトの設定では有償のサブスクリプションがないと利用できないリポジトリが設定されているので、これを無効にしてサブスクリプション無しでも使えるリポジトリを追加します。
左のメニューのところからノードを選択し、Shellを選択するとそのノードのシェルが取れるのでここから設定していきます。

image.png

/etc/apt/sources.list を以下のように編集し、No-Subscription Repositoryを追加します。
Debianなので普通にviで編集できます

deb http://ftp.debian.org/debian bullseye main contrib
deb http://ftp.debian.org/debian bullseye-updates main contrib

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

# security updates
deb http://security.debian.org/debian-security bullseye-security main contrib

次にEnterprise Repository をコメントアウトして使用しないようにします。
/etc/apt/sources.list.d/pve-enterprise.list を開き、以下のように編集します

#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise

Repositoryを確認すると編集した内容が反映されていることが確認できます。

image.png

必要に応じてシェルからアップデートを行います

apt update
apt upgrade

参考

クラスターの構築

注意が必要なこととして、クラスター構成後各ノードのIPアドレスやホスト名を変更できなくなるとドキュメントに記載があります。
また、Cluster Nameを設定する必要がありますがこれも変更できません。

どれか一つのノードで、Datacenter>Cluster>Create Cluster からクラスターを作成します。
image.png
そして、Create Clusterを実行したノードで、Datacenter>Cluster>Join Information から、Join Informationの情報をコピーします。

次にまだクラスターに参加していないノードのDatacenter→Cluster→Join ClusterからCluster Joinのメニューを開きます。
image.png

コピーしたJoin InformationCreate Clusterを実行したノードのパスワード、Cluster Networkの項目でクラスター間の通信に使用するNICを選択し、Joinのボタンを押下しノードをクラスタへ参加させます。
Join Informationを入力するとPeer AddressとかFingerprintは自動で入力されます。

暫く待つとノードがクラスターに参加します。
ノードがクラスターに参加すると、その瞬間からログインしたセッションが切れてWebインターフェースが操作できなくなるので、リロード・再ログインを行う必要があります。
クラスターに参加済みの他のノードからもクラスタに当該のノードが参加したこと確認できるようになります。

image.png

参考

ハマったところ - IPアドレスの変更

インストール後にIPアドレスを変更した場合、以下のエラーが出てクラスターの構築に失敗する場合があります。

detected the following error(s):
* local node address: cannot use IP '<変更する前のIPアドレス>', not found on local node!

TASK ERROR: Check if node may join a cluster failed!

IPアドレスを変更する場合は、以下の2つの場所を編集する必要があるようです。
1だけではだめで忘れずにhostsファイルも編集しないとだめみたいです。

  1. ホスト→System→Network からNICを選択してIPアドレスを編集する
  2. ホスト→System→Hosts→Hosts からホスト名に紐付けられたIPアドレスを編集する

ハマったところその2 - ノード間で異なるファイルシステムを利用する

ext4のノード2台とzfsのノードを混ぜて最初クラスターを構築していたのですが、どうもあまり良くないみたいです・・・

ストレージに関する設定は/etc/pve/storage.cfgに記載されるようですが、ext4・LVMを利用する場合とzfsを利用する場合とで設定内容が異なるのですが、クラスターを構築するとこのファイルがすべてのノードで同期されるみたいです。
その結果、自分の場合はファイルシステムにzfsを利用するノードでVMの作成等が行えなくなりました・・・
大人しく当該ノードをクラスターから削除の上、ext4で再インストールし再度クラスターに参加させました。。。

https://pve.proxmox.com/wiki/Storage#_storage_configuration
https://forum.proxmox.com/threads/difference-between-raid1-zfs-and-ext4-option-on-installation-wizard.75909/
https://qiita.com/minoden_osaka/items/07e2cf3d1ef83638fb51

個人的なメモ(2021/10/31)

その1

webコンソールのshellからアップデートしたときに、入力待ちの画面を放置・タイムアウトさせてアップデートが失敗した場合、シェルが壊れてwebからコンソールが取れなくなったので注意する

32
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
35