はじめに
VHIクラスターを構築する前に、まず以下のガイドを読むのがお勧めしております。
もちろん、前提知識がなくてもこのガイドを読めばVHIクラスターを作ることができます。
今回は、仮想サーバー3台を用意してVHIをインストールします。これは、いわゆるNested仮想化(または二重仮想化)環境となります。もし物理サーバーをお持ちの場合は、ぜひ物理サーバーでインストールしてください。
Nested仮想化環境でもVHIは動作しますが、正式にサポートされていないため、ご注意ください。
また、Nested仮想化が利用できるのは、VMwareとVHIのみです。AWSなどのパブリッククラウドでは、現時点でNested仮想化は利用できないため、その点にもご注意ください。
もし物理サーバーを1台でもお持ちの場合は、まず物理サーバーにVHIをインストールしてみてください。インストールが完了したら、Nested仮想化を有効化にし、以下の手順で3台構成や5台構成を構築してみましょう。
物理サーバーを利用する方は、サーバーの初期設定を下記のガイドをご参考にしてください。
https://qiita.com/devjpjys/items/48de96458eb5b5fcaa3a
なお、VMwareを利用している場合は、適宜読み替えて進めてください。
また、下記のガイドもありますので、VMwareを利用する方は、下記のガイドも合わせてご参考にしていただければ幸いです。
https://qiita.com/devjpjys/items/4e4526c82c50dfc03c0e
今回はシンプルな構成でVHIをインストールします。大体以下のイメージです。
注:物理サーバーの場合、スイッチ1台でも問題ないです。また、以下の構成はネットワークの冗長性(ボンディング)を考慮していないシンプルな構成です。
事前準備
VHIをインストールする前に、まず必要な環境構成や設計をドキュメントにまとめましょう。これにより、頭の整理ができるだけでなく、スムーズな構築作業につながります。
また、前提知識がない場合は、なぜこの設計が必要なのかを意識しながら、一度全文を通して読むことをおすすめします。全体像を把握することで、理解が深まり、作業の流れがスムーズになります。
ネットワークの設計
まず、ネットワークについて、今回はシンプルなネットワーク構成にします。ネットワーク2つを使います。詳細についてこちらの資料もご確認ください。
Private: 内部通信用のネットワーク
Public: 外部サービス用のネットワーク
トラフィックに関して以下のようにアサインします。
注:各トラフィックの意味はこちらの資料もご参照ください。
上記の2つのネットワークを利用し、仮想サーバー(VM)のネットワークインターフェースとIPアドレスを定義します。
マネジメントHA用の仮想IPも事前も決めておきます。
HA IP address internal:マネジメントノードHAを有効化した後にインターナル管理用のIP(Privateネットワーク)
HA IP address public:マネジメントノードHAを有効化した後にアドミンなどにアクセスするためのIP(Publicネットワーク)
ストレージ設計
ストレージディスクの構成を決めたいと思います。今回の場合、各ノードには3基のディスクを用意します。仮想環境のため、VMのボリュームで代替えします。それぞれのディスクの種類、容量、ロール及びTierも事前に定義していきます。
今回仮想環境を利用するため、ディスクのタイプは指定できないですが、疑似的にSSD、HDD、NVMeのように分けをしています。それに合わせてディスクのロールとTierを決めます。
最後に、ストレージポリシーも2つ作成します。
Default: デフォルトで利用されるストレージポリシー
ハイパフォーマンス: ハイパフォーマンスを求める際に利用されるポリシー
上記の設計資料はこちらからダウンロードできます。VHIをサーバーにインストールする前に、この資料を事前に用意するのが良いでしょう。
仮想環境を準備する
では、仮想サーバー(VM)を3つ用意します。
サーバーのスペックは以下の通りです。
- CPU: 16core
- RAM: 32GB
- Disk:
- 1: system+metadata: 150GB
- 2: storage: 200GB
- 3: storage:300GB
- Nic
- Public: 172.16.50.0/24
- Private: 10.165.10.0/24
今回は既存のVHIの環境上で、上記の構成でVMを3つ作成していきます。
まず、上で事前に設計したネットワークインターフェース2つを作成します。
「ネットワーク」ー>「ネットワークを作成」の順にクリックし、下記の画面にて、「名前」に任意のネットワークインターフェース名を記入と「IPアドレス管理」を有効します。完了したら、「次へ」クリックします。
「追加」をクリックし、「IPv4サブネット」を選択します。以下のように設定したら、「追加」をクリックします。
サマリー画面にて、設定を確認し、問題なかったら、「仮想ネットワークを作成」をクリックします。
上記の手順と同様にPrivateネットワークを作成します。作成できたら、以下のようになっているはずです。
注: Privateネットワークは、外部通信しないため、GatewayとDNSサーバーいらないので、入力しなくても結構です。
では、仮想マシンを作成します。
注:VHIのISOイメージを事前にダウンロードし、VHI環境にアップロードしておく必要があります。こちらでは、vz-platform 6.2をアップロードしています。ISO持っていない方はこちらのフォームからダウンロードしてください。96コアと1TB以内であればサーバー台数無制限に無償に使えます。
ネットワークの設定は以下の通りです。
注:セキュリティグループとなりすまし保護を選択しないでください。(なりすまし保護の無効化について、セキュリティグループのチェックを外さないと設定できないです)
全部できたら、以下のキャプチャーの通りになっているはずです。「デプロイ」をクリックし、仮想マシンを作成します。
同様に2台目、3台目も同じような感じで作成していきます。
ISOをインストール
まず、1台目test-node1のVNCコンソールから入ります。「test-node1」をクリックし、「コンソール」から入ります。
注:物理サーバーの場合、AMD-VまたはIntel VTプロセッサーのハードウェア仮想環境拡張機能を事前に有効にしてください。
チェックボックスをチェックして、「Next」をクリックします。
ens4とens5二つのネットワークインターフェースがあるはずです。
どちらがtest-privateかtest-publicか分からないので、VHI上で先ほど作成したVMのMACアドレスを確認します。(右下)
注:VM作成した後に、MACアドレスを上記の設計資料に入れておくのが便利です
これで、ens4はpublic用で、ens5はprivate用が分かりました。
ens4を設定します。右下の「Configure」をクリックします。
「Ethernet」タブにて、MTUを設定します。物理サーバーを利用されている場合、実際のHWのMTUに合わせて入れてください。
「Save」をクリックし保存します。できたら、右上の接続ボタンを有効にしてください。そうしたら、下記のように設定した値が出てきます。また、「connected」というステータスになるはずです。
最後に、「Host Name」を入力し、「Apply」をクリックします。ここでは、「testvhi」にしています。できたら、「Next」をクリックします。
注:ホスト名を後で変えられないです。本当はtestvhi1にしたかったです。
ネットワーク時間を設定します。こちらでは標準の東京時間を指定しています。NTPサーバーを持っている場合、そちらに指定することも可能です。「Next」をクリックします。
今インストールしているのが最初のノードなので、「Yes, create a new cluster」を選択し、「Next」をクリックして次へ進みます。
注:2番目以降のノードは「No, add it to an existing cluster」を選択してください。
以下のように、
Internal Management Network->ens5 Private用
Admin panel network->ens4 Public用
ネットワークをアサインします。
また、アドミンパネルのログインパスワードを設定します。「Next」をクリックします。
OSがインストールされるディスクを指定する画面です。ここでは150Gibのディスクを選択します。
注:どのディスクが分からない場合、マウスをディスクに置くとIDが出るので、それで識別も可能です。今回は容量で識別できています。
また、2枚のディスクも選択可能です。2枚のシステムディスクを選択すると、ソフトRAIDすることができます。もちろん、あらかじめハードRAID1を組んでからも可能です。
「Next」をクリックします。
VHIコンソールのRootユーザーのPasswordを設定します。「Start installation」をクリックして、インストールが走ります。10分程度でインストールが完了される予定です。完了したら、右下の「Reboot system」をクリックし、再起動します。
待っている間に、test-node2,test-node3も同様にインストールしていきます。
再起動した後に、以下の画面が表示されていたら、成功です。
先ほど設定されたrootユーザーでコンソールにログインできます。
また、下記、管理パネルのアドレス
http://172.16.50.11:8888
がコンソール上に出ていますが、これはプライベートのIPのため、同じネットワークの下のPCでないとアクセスできないです。そのため、172.16.50.0/24の下に踏み台のVMを1つ作ってそこからアクセスするかパブリックIPを割り当ててアクセスする必要があります。
今回は、VHI上でフローティングIPを利用し、アクセスします。フローティングIPは、パブリックからアクセスするためのIPアドレスです。物理のネットワークからIPアドレスをピックアップしています。通常、ISPからパブリックIPブロックを購入して、フローティングIPという仕組みでVMにアサインしています。
フローティングIPを作成する前に、まずVHI上で、仮想ルーターを作成する必要があります。
「ルーター」ー>「ルーターを追加」の順にクリックし、下記のように設定します。
これでtest-publicというネットワークは物理ネットワークPublicを通して外部の世界に行けるようになりました。
続きまして、フローティングIPを設定します。
「フローティングIP」ー>「フローティングIPを追加」の順にクリックし、下記のように設定します。これでフローティングIPは、(プライマリー)172.16.50.11というインターフェースにアタッチされますが、VMからは分からないです。
作成したフローティングIPを利用し、アドミンパネルにアクセスします。
https://94.242.242.159:8888
先ほど設定されているIDとPasswordでログインします。
これで今の画面になっているはずです。今は、testvhi1台のノードしかない状態です。
続きまして、2台目移行のインストールを行います。
「ノードを接続」をクリックします。トークンとIPアドレスを控えましょう。
トークン: 046334d1
管理パネルIP: 10.165.10.11
では、2台目のノードもインストールしていきます。ここまでの手順は上記と一緒です。
IPとTokenを正しく設定し、「Next」をクリックしてノードを追加します。
後ろの手順は一緒です。完了したら、「Reboot System」をクリックし、再起動してください。
3台目も同じようにインストールしてください。全部完了したら、以下の状態になります。
完了したら、以下の手順でコンフィギュレーションを行います。
コンフィギュレーション
ネットワーク設定の確認
まず、1台目testvhiをクリックし「ネットワークインターフェース」タブを開きます。
下図のようにens4がPublicで、ens5がPrivateにアサインされていることが分かります。
vhitest2とvhitest3も同様に確認します。
ens4がネットワークにアサインされていないことが分かります。
各ノートのネットワークインターフェースの割り当て
該当ネットワークインターフェースを編集します。下記のように、「Public」を選択し、保存します。
ネットワークトラフィックの割り当て
事前に作成した資料をベースにネットワークトラフィックを正しく割り当てます。割り当てできたら、以下のようになっているはずです。
ストレージクラスターの構築
ノードの画面に戻ります。右上の「ストレージクラスターを作成」をクリックしてください。
「クラスター名」を入力し、vhitestノードが選択した状態で「次へ」をクリックします。
ロール、ティア、とチェックサムの設定を行い、「作成」をクリックして次へ進みます。
以下の画面が表示されます。ステータスは「失敗」になっていますが、これは後で、成功に変わります。
testvhi2とtestvhi3は以下の手順が同じです。
クラスターの結合をクリックして、ストレージクラスター構築の画面に入ります。
しばらくしたら、以下の画面になっているはずです。これでストレージクラスターの作成が完了です。
左側に、ストレージサービスというメニューを新たに追加されましたので、それを開いて確認しましょう。
マネジメントノートHAの設定
[設定] > [システム設定] > [管理ノードの高可用性] に移動して、[HA設定を作成] をクリックします。[HA設定を作成] ウィンドウで3つのノードを選択し、[次へ] をクリックします。
ネットワーク構成で、高可用性の管理者パネル、コンピュートAPIエンドポイント、およびインターサービスメッセージの一意の静的IPアドレスを1つまたは複数指定します。[作成] をクリックします。
計算クラスターの構築
「コンピュートクラスターを作成」をクリックします。
ノードが全部選択されていることを確認し、「次へ」をクリックします。
物理のネットワークを作成します。物理のネットワークをVM Publicというトラフィックがアサインされているネットワークからしか作成できないです。ここでは、VM PublicがPublicネットワークにアサインされているので、表示されています。今回の場合、VLAN使えないので、タグなしのネットワークを利用します。「ゲートウェイ」を入力し、「次へ」をクリックします。
以下のようにDHCPを有効し、割り当てプールを設定します。こちらの割り当てプールはVMのネットワークを作成する際に決めた割り当てプールのレンジ以内にするようにする必要があります。気をつけてください。「次へ」をクリックします。
アドオンサービスを必要に応じて有効にしていきます。こちらでは、K8sとLBを有効にしています。
以下のように事前に定義した内容にしたがって、デフォルトのストレージポリシーを作成していきます。
最後に確認し、問題なければ「クラスターを作成」をクリックし、実行します。
以下のように作成プロセスが走ります。完了までおよそ40分前後かかります。
コンピュートクラスターの作成が完了したら、以下のようにコンピュートの画面からVMの作成ができるようになります。VMを1つ作成してみてください。
まとめ
ここまで、VHIのインストール手順を詳しく解説しました。少しでも参考になれば幸いです!