自宅検証環境ではPacmekaerで冗長化したプロキシサーバ (兼DNS/メール/NTPサーバ) を構築している。このサーバは、PacmekaerでActive-Standby構成としていたが、ロードバランサを導入してActive-Active構成に変更したいと考えていた。
そんなことを計画しながら、OSSで使えそうなロードバランサを探していると、スペインに本社を置くZEVENET社の「ZEVENET」という製品を見つけることができた。
ZEVENET Enterprise EditionとZEVENET Community Editionの2つが用意されており、Community Editionであれば無償利用が可能となる。各エディションの差異は、以下公式サイトに情報がある。ちなみに、以下URLではクラスタ構成はEnterprise Editionのみ可能と読めるが、Community Editionであってもクラスタ構成は可能となる。
ZEVENETは残念ながら日本では人気がないらしく、ググっても日本語の情報はほとんどヒットしなかったが、マニュアル自体は充実しておりインストールと設定には困らなそうなので、自宅のESXi環境に、「ZEVENET Community Edition」を導入してみることにした。
以後、ZEVENET Community Editionの表記について、特に断りがない限りは単に「ZEVENET」として記載をすることにする。
環境
- ESXi 6.7 Update 3
- ZEVENET Community Edition 5.11
ダウンロード
1. ZEVENETのISOイメージをダウンロード
ダウンロードは以下サイトから実施する。ZEVENETは、ソースコード、ISOイメージ、Dockerイメージの3種類がダウンロードできる。今回は、ESXi上の仮想マシンとして構築することから「DOWNLOAD ISO IMAGE」を選択して、ISOイメージをダウンロードする。
2. 仮想マシンの作成
ZEVENETをインストールするための仮想マシンを作成する。以下構成で仮想マシンを作成する。インストール後にuname -a
で確認すると「Debian 4.19.67-2 (2019-08-28) x86_64
」と表示されるので、OS自体はどう見てもDebian 10ベースのようなだが、ゲストOSのバージョンは「その他のLinux」を選択する必要があるので注意。
設定項目 | 設定値 |
---|---|
ゲストOSのバージョン | その他の Linux 4.x 以降 (64 ビット) |
CPU | 1コア |
メモリ | 1GB |
ディスク | 8GB |
NIC | 1枚 ※VMXNET 3でOK |
CD/DVDドライブ | ZEVENETのISOイメージを指定 |
設定で来たら、仮想マシンをパワーオンし「Install」を選択してインストールを開始する。
インストール
1. 言語設定
「Select a Language」の画面では「日本語」を選択しておく。
2. ネットワーク設定
ZEVENETに割り当てるIPアドレス等を以下の通り指定する。
設定項目 | 設定値 |
---|---|
IPアドレス | ZEVENETに設定するIPアドレス。x.x.x.x/xの形式で記載する。x.x.x.xの形式で記載した場合は、次の画面でサブネットマスクの設定画面が表示される |
ゲートウェイ | ZEVENETに設定するデフォルトゲートウェイ。なお、ZEVENET Community Editionではスタティックルートの設定はできないので注意 |
ネームサーバアドレス | 空白でOK |
ホスト名 | ZEVENETに設定するホスト名 |
ドメイン名 | 空白でOK |
3. rootパスワード設定
rootパスワードの設定を聞かれるので、任意のパスワードを設定する。なお、ZEVENET Community Editionでは、rootユーザのみ設定が可能で、その他のユーザ作成を行うことはできない。
4. ディスクのパーティション設定
ディスクのパーティション設定は、以下の通りディスク全体を使う設定をすれば問題ない。
設定項目 | 設定値 |
---|---|
パーティショニングの方法 | ガイド - ディスク全体を使う |
パーティション設定の確認 | パーティショニングの終了とディスクへの変更の書き込み |
ディスクに変更を書き込みますか? | はい |
5. GRUBの設定
GRUB設定は以下の通り設定しておく。
設定項目 | 設定値 |
---|---|
GRUBをインストールするデバイス | /dev/sdaと/dev/sda1を選択 |
ブートローダをインストールするデバイス | /dev/sdaを選択 |
6. 管理GUIにログイン
以上でインストールは完了となる。再起動後、以下URLにアクセスするとログイン画面が表示されるはずだ。rootユーザと設定したパスワードを使ってログインしてみよう。
https://<ZEVENETのIPアドレス>:444
open-vm-toolsのインストール
ZEVENETは標準ではopen-vm-toolsがインストールされていないので、SSHでログインしたのち、手動でインストールを行う。いきなりインストールを試みると失敗するようなので、apt update
を1回実行してからインストールすること。
# apt update
# apt install open-vm-tools -y
ロードバランサ設定
1. Virtual Interfaceを設定
「Network」→「Virtual Interfaces」にてサービス提供用の仮想インタフェースを設定する。シングル構成で動作させる場合は設定しなくても動作させることはできるが、クラスタ構成として冗長化する場合も考慮して、仮想インタフェースの設定は実施することをお勧めする。
2. Farmを設定
ZEVENETでは負荷分散の設定を「Farm」という名前で設定する。Farmの設定には以下が含まれる。
- 使用する仮想インタフェースと待ち受けるポート番号
- 振り分け先サーバとポート番号
- 振り分け先サーバの監視方式 (PingチェックやTCPチェック等)
- 振り分けのアルゴリズム (Round Robin等)
- パーシステント方式 (送信元IPに応じて振り分け先を決定等)
設定方法は、「LSLB」→「Farms」で行う。「CREATE FARM」ボタンでFarmを作成したのち、鉛筆マークの「Edit」ボタンを押して、詳細な負荷分散の設定を行う。このあたりの設定の詳細は割愛するが、たとえば、メールサーバに対する振り分け設定は以下の通りとなる。
設定項目 | 設定値 |
---|---|
Load balancer Algorithm | Round Robin |
Persistence | No persistence |
Health Checks for backend | check_tcp |
Backend | メールサーバ2台を25番ポートで登録。PriorityとWeightはデフォルトの1を設定 |
まとめ
最後にまとめとして、ZEVENETのメリット・デメリットを以下に記載する。
メリット
- OSイメージが約570MBと軽量
- 軽量なため、少ないリソースでも十分に動作する
- 軽量なため、OSの起動がすごく早い
- Debianベースとなっているため、OSコマンドである程度対処ができる (
apt
によるパッケージ管理やsystemd
によるサービス管理など) - ZEVENET公式のマニュアルが比較的充実
- 良くも悪くもCommunity Editionでは設定項目が必要最低限に絞られているので、マニュアル見なくてもあまり迷うことなく直感的に設定できる
- Community Editionでもクラスタ構成が組める
デメリット
- UIを日本語に変更できるが、翻訳が直訳で雑 (Farmが農場と翻訳されていたりする)
- 公式サイトも日本語サイトがあるが、機械翻訳によるものとなっており、あやしさが漂う
- 【参考】ZEVENET | 限りなく成長
- おそらく日本国内の人気は低く、日本語で記載されたブログ等の情報は皆無
- Community Editionであってもクラスタによる冗長化が組めるが、GUIからは実施できない
- スタティックルートが設定できない
0 件のコメント:
コメントを投稿