【XCP-ng 8.3】 Xen Orchestra(XOA)の展開とプール・ネットワークの設定手順

XCP-ng の管理ツール Xen Orchestra を、公式のアプライアンス(XOA)としてホスト上に展開し、3 台のホストをプール(クラスタ)にまとめる手順です。あわせて、ストレージ・ライブ マイグレーション用の NIC のボンド(冗長化)、iSCSI 用の IP アドレス、マルチパスを設定します。

目次

この記事の前提

参照した公式ドキュメント

構成

項目内容
ホストdoc-xcp1(192.168.1.131、プールのマスター)、doc-xcp2(.132)、doc-xcp3(.133)。インストール手順でインストール済み
XOA192.168.1.134(doc-xcp1 のローカル SR に展開)
プールdoc-pool
ネットワーク下の表のとおり
NICネットワーク名用途IP アドレス(doc-xcp1 の例)
eth0Management管理・仮想マシンの通信192.168.1.131
eth1iSCSI-AiSCSI の経路 A10.20.81.131
eth2iSCSI-BiSCSI の経路 B10.20.82.131
eth3+eth4(bond0)Storage-MigrationXOSTOR(HCI)とライブ マイグレーション。active-backup のボンドで冗長化10.20.83.131

XOA の展開

XOA は、Xen Orchestra を動かす仮想マシン(アプライアンス)です。ホストの 1 台に SSH でログインし、公式の展開スクリプトを実行します。ホストからインターネット(xoa.io)に接続できる必要があります。

(1) doc-xcp1 に root でログインし、次のコマンドを実行します。

bash -c "$(wget -qO- https://xoa.io/deploy)"

(2) 質問に答えます。XOA の IP アドレスを固定にする場合は、IP アドレス・ネットマスク・ゲートウェイ・DNS を入力します。

質問説明入力した値
IP address? [dhcp]XOA の IP アドレス。空のまま [Enter] で DHCP192.168.1.134
Netmask? [255.255.255.0]ネットマスク空のまま(255.255.255.0)
Gateway?ゲートウェイ192.168.1.1
dns? [8.8.8.8]DNS サーバー空のまま(8.8.8.8)
Custom NTP serversNTP サーバー(空なら既定)空のまま
xoa SSH account: Password?XOA の仮想マシンに SSH でログインするアカウント(xoa)のパスワード。空なら無効任意のパスワード

(3) XOA の仮想マシンのイメージ(約 1.9 GB)がダウンロード・インポートされ、起動します。「Your XOA is ready at https://192.168.1.134/」と表示されたら完了です。この環境では約 5 分 30 秒かかりました。

🟢 Your XOA is ready at https://192.168.1.134/
Default UI credentials: [email protected]/admin

Xen Orchestra へのログインとホストの登録

(1) ブラウザーで https://192.168.1.134/ を開きます(自己署名の証明書の警告が出るので、例外として許可します)。既定のアカウント([email protected]/admin)でサインインします。

サインイン

既定のパスワードは、画面左下のユーザーのアイコン(プロフィール)から変更してください。画面上部の「You are not registered」は XOA の登録(無償のアカウント)の案内です。登録しなくても、この記事の操作はできます(XOA 自体の更新には登録が必要です)。

(2) 初回は [Add server] と表示されます。クリックすると [Settings] → [Servers] の画面が開きます。

ホーム

(3) ホストの情報を入力して [Connect] をクリックします。ホストの証明書は自己署名なので、[Unauthorized Certificates] をオンにします。

ホストの登録
項目説明設定値
LabelXO 上の表示名doc-xcp1
Hostホストの IP アドレス192.168.1.131
Username/Passwordホストの root のアカウントroot/(インストール時のパスワード)
Unauthorized Certificates自己署名の証明書を許可するオン

(4) 同じように doc-xcp2・doc-xcp3 も登録します。[Status] が [Enabled] になれば接続できています。この時点では、ホストごとに別のプール(ホスト名と同じ名前)になっています。

登録したホスト

プールの作成

XCP-ng では、ホストは必ずどれかのプールに属します。doc-xcp1 のプールに、doc-xcp2・doc-xcp3 を参加させて 1 つのプールにします。プールのホストは、同じバージョンの XCP-ng にそろえます(CPU もできるだけ同じ世代にそろえるのが基本です)。

(1) [Settings] → [Servers] の [Pool] 列の doc-xcp1 をクリックしてプールの画面を開きます。プール名の部分をクリックすると編集できるので、「doc-pool」に変更して [Enter] キーを押します。

プール名の変更

(2) 右上のアイコンのうち [Add hosts] をクリックします。

Add hosts

(3) [Hosts] で参加させるホスト(doc-xcp3)を選んで [OK] をクリックします。ホストの XAPI が再起動し、プールに参加します。

ホストの追加

この検証環境の XO では、[Hosts] の選択欄で 1 台しか選べなかったため、1 台ずつ追加しました。doc-xcp2 は、ホストの CLI(公式ドキュメントの手順)で参加させました。参加させるホストで実行します。

xe pool-join master-address=192.168.1.131 master-username=root master-password=<パスワード>

(4) プールの [General] タブで、ホストが 3 台になったことを確認します。

3 台のプール

ネットワークの設定

(1) プールの [Network] タブを開くと、各 NIC のネットワーク(Pool-wide network 0〜4)が表示されます。名前は [Name] をクリックして変更できます。ここでは CLI で、eth0〜eth2 のネットワークに用途の名前を付けました。

for d in 0:Management 1:iSCSI-A 2:iSCSI-B; do
  N=$(xe pif-list device=eth${d%%:*} host-name-label=doc-xcp1 params=network-uuid --minimal)
  xe network-param-set uuid=$N name-label=${d#*:}
done
プールのネットワーク

(2) [Add a network] をクリックし、eth3 と eth4 をまとめたボンドのネットワークを作ります。プールのすべてのホストに、同じボンド(bond0)が作られます。

ボンドの作成
項目説明設定値
Bonded networkボンドにするオン
Interfaceボンドにする NIC(マスターのホストの NIC を選ぶ)eth3、eth4
Nameネットワーク名Storage-Migration
Description説明XOSTOR and live migration (bond eth3+eth4)
MTU空なら 1500空
Bond modeボンドの方式active-backup
Bond mode動作
balance-slb仮想マシンの通信を NIC に振り分けます(既定)。スイッチの設定は不要
active-backup1 本だけを使い、故障時にもう 1 本に切り替えます。スイッチの設定は不要
lacpLACP(802.3ad)。スイッチ側にも LACP の設定が必要

(3) 作成すると、ネットワークの一覧に Storage-Migration(PIF:bond0)が追加されます。

ボンドの作成後

(4) 各ホストの bond0(ストレージ・移行)と eth1・eth2(iSCSI)に IP アドレスを設定します。XO ではホストの [Network] タブの各 PIF の [IP configuration] から設定できます。ここではホスト 3 台分を CLI でまとめて設定しました(doc-xcp1 の例)。

H=$(xe host-list name-label=doc-xcp1 --minimal)
for d in bond0:83:Storage eth1:81:iSCSI-A eth2:82:iSCSI-B; do
  dev=${d%%:*}; r=${d#*:}; net=${r%%:*}; pur=${r#*:}
  P=$(xe pif-list host-uuid=$H device=$dev --minimal)
  xe pif-reconfigure-ip uuid=$P mode=static IP=10.20.$net.131 netmask=255.255.255.0
  xe pif-param-set uuid=$P disallow-unplug=true other-config:management_purpose=$pur
done

管理用ではない NIC に IP アドレスを付けた場合は、disallow-unplug=true にして、ストレージの接続中に NIC が切り離されないようにします(management_purpose は用途のメモです)。

マルチパスとマイグレーション用ネットワーク

(1) プールの [Advanced] タブの [Multipathing] で [Enable multipathing for all hosts] をクリックし、確認画面で [OK] をクリックします。

マルチパスの有効化

実行中の仮想マシンがあるホストでは、マルチパスを有効にできません。この検証では、XOA が動いている doc-xcp1 だけ有効にならなかったので、doc-xcp1 で次のコマンドを実行しました(共有ストレージをまだ接続していない状態なので、ホストを無効にして設定を変えるだけで済みます)。

H=$(xe host-list name-label=doc-xcp1 --minimal)
xe host-disable uuid=$H
xe host-param-set uuid=$H multipathing=true
xe host-enable uuid=$H

(2) すべてのホストで有効になると、[Enable multipathing for all hosts] は押せない状態になります。

マルチパスの有効化後

(3) 同じ画面の [Misc] → [Default migration network] をクリックし、[Storage-Migration] を選びます。ライブ マイグレーションの通信が、管理用のネットワークではなくボンドのネットワークを通るようになります。

マイグレーション用ネットワークの選択
マイグレーション用ネットワークの設定後

次の手順

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次