Nutanix LCM用Webサーバーの構築【Linux編】
どうしてもインターネットにアクセスできない環境下で、Nutanixを最新の状態に保つためには、社内にLCM用のWebサーバーを別途構築する必要があります。
今回、サポートで提供する手順をもとに実際に構築して動かすところまでを手順化しました。
手順の前に、LCM用Webサーバーを構築して使ってみた感想…
従来のNutanixポータルサイトを参照と繋いでアップデートする方法と比べると運用の負担はだいぶ増えそうです。外部と通信する際にプロキシサーバーを指定することもできますので、運用操作の観点では従来の直接接続する方法を強くおすすめしたいです。
それはなぜかというと、このWebサーバーもまたNutanixポータルサイトと通信するわけではありませので、仮に管理者がAOSのアップグレードをしたい場合、AOSがバンドルされたファイルを手動でWebサーバーにアップロードする必要があるためです。
コンポーネントはAOS以外にも多く存在するため、これらを毎回ダウンロード→解凍→アップロードするのは管理者の負担を上げてしまいますので、どうしてもインターネットに出られない環境でのみご使用ください。
参考ドキュメント
今回はLCMバージョン2.5の構築手順をもとに実施しています。
Linux CentOS 7版 Nutanix LCM用Webサーバー構築
1 Cent OSメディア入手
CentOS 7をインストールするためのisoメディアをダウンロードします。
本手順では、以下のサイトから「CentOS-7-x86_64-DVD-2009.iso」をダウンロードしています。
http://ftp.iij.ad.jp/pub/linux/centos/7.9.2009/isos/x86_64/
2 Cent OSインストール
入手したメディアを使ってCent OSをインストールします。
インストールするマシンは、物理/仮想を問いません。本手順では、AHV上の仮想マシンを使用しており、スペックは以下のとおりです。
2.1 仮想マシンスペック
特にNutanixから要件指示は見当たらないため、必要最低限のスペックですが十分動きます。不可検証は未実施です。
・CPU…1コア
・メモリ…2GB
・ディスク…100GB
・NIC…1個(yum updateのため、インターネットアクセス可能なネットワーク)
2.2 OSインストール
ドキュメント記載のとおり、GUI仕様にする必要があるようです。
インストールが完了し、OS再起動しましたら、rootユーザーでログインします。
ログインしましたら、ターミナル(端末)を起動します。
ターミナルが起動しましたら、nmtui コマンドを実行し、ネットワークマネジメント UI を起動します。「接続の編集」を選択し、Enterを押下します。
# nmtui
Ethernet アダプタに対し、IPアドレス/ゲートウェイ/DNS サーバーを設定します。
・ここではeth0 対して設定しています。
・この後、yum updateでインターネット接続が必要となるため、DNSサーバーも設定しておくと良いです。
IPアドレス設定反映のため、サービス再起動します。
# systemctl restart NetworkManager
# systemctl restart network
ip addrコマンドを実行し、eth0 に IPアドレスが付与されたことを確認します。
3 Webサーバーの構築
ネットワーク通信が可能になったここからは、SSHクライントから操作を続けます。
yumレポジトリを最新にアップデートします。はじめての実行では完了までに十数分かかります。
# sudo yum update –y
httpdをインストールします。
# sudo yum install httpd -y
SELinuxが有効になっていることを確認します。
結果がEnforceであれば、次に進みます。Disableの場合は
#setenforce 1 で有効にします。
# getenforce
Apache アクセスを許可するようにファイアウォールを設定します。
# sudo firewall-cmd --permanent --zone=public --add-service=http
ファイアウォールをリロードして、変更を有効にします。
#sudo firewall-cmd –reload
viエディタでhttpd.confを開きます。
・次の文字列が含まれていることを確認します。コメントアウトされている場合、#を外します。
ServerRoot "/etc/httpd“
・次の文字列が含まれていることを確認します。コメントアウトされている場合、#を外します。
DocumentRoot “/var/www/html”
・次の文字列が含まれていることを確認します。コメントアウトされている場合、#を外します。
また、
ServerName <nameserviceが有効な場合、IPアドレス または FQDN>
・次の文字列が含まれていることを確認します。コメントアウトされている場合、#を外します。また、自身のIPアドレスが空白の場合は、自身のIPアドレスを手入力します。
Listen <自身のIPアドレス>:port
# vi /etc/httpd/conf/httpd.conf
httpdを再起動します。
# sudo systemctl restart httpd
システム起動時に Apache が起動するようにします。
# sudo systemctl enable httpd
クライアントPCのウェブブラウザから、LCMウェブサーバーにアクセスし、ウェブページ「Testing 123..」が表示されることを確認します。
/var/www/htmlの下にreleaseというディレクトリを作成し、cdで移動します。
# mkdir -p -m 755 /var/www/html/release
# cd /var/www/html/release
4 LCMバンドルファイルのアップロード
NutanixサポートページからLCMバンドルファイルを取得します。
本手順では、LCMそのものをアップデート可能な LCM Framework Bundle と NXモデルのファームウェアをアップデート可能な NX Firmware LCM Bundle をダウンロードします。
https://portal.nutanix.com/page/downloads?product=lcm
上記以外のコンポーネントのLCMバンドルファイルもまた、ダウンロードページから入手できます。ダウンロードページ内の該当するコンポーネントに進み、LCMバンドルファイルをダウンロードしてください。
https://portal.nutanix.com/page/downloads/list
入手したLCMバンドルファイルを SCP などを使用して、/tmp ディレクトリに格納します。
# cd /tmp
[tmp]# ls | grep lcm
lcm_dark_site_bundle_2.5.0.2.32663.tar.gz
lcm_nx_2.16.0.tar.gz
配置したLCMバンドルファイルを解凍し、/var/www/html/release/ ディレクトリに格納します。
# tar xvf /tmp/lcm_dark_site_bundle_2.5.0.2.32663.tar.gz -C /var/www/html/release/
# tar xvf /tmp/lcm_nx_2.16.0.tar.gz -C /var/www/html/release/
クライアントPCのウェブブラウザから、http://<IPアドレスまたはFQDN>/release にアクセスし、ディレクトリ内に格納したファイルが表示されることを確認します。
5 Webサーバーを指定したLCMインベントリ情報の取得
Prismにログインします。
LCM画面の Settings から、Souce プルダウンにて「Dark Site (Local Web Server)Local ServerでWebサーバーを指定します。
http://<IPアドレスまたはFQDN>/release
入力したら Save をクリックし、設定を保存します。
設定が完了した場合、特にGUI上に反応がなくせいぜい Save ボタンが非活性になる程度です。
設定に問題があった場合にはエラーメッセージが表示され、設定は保存されません。
Webサーバーにアクセスしてインベントリ情報を取得します。
LCM画面の Inventory から、「Perform Inventory」をクリックしてインベントリの取得を開始します。
インベントリ情報の取得が正常に終了しました。
ここからは、コンポーネントのアップデートになります。
Updates をクリックして該当のコンポーネントを選択してアップデートを開始してください。
最後に
Linux CentOS 7で作るLCM用Webサーバーの手順は以上です。
Webサーバーを1度作成した以降は、項番4以降を繰り返して最新のLCMバンドルファイルをアップロードする流れになります。
Nutanixポータルへの直接接続ができればこのような運用もWebサーバー構築の必要もありません。最新のインベントリ情報も自動で取得してくれますのでとても楽ちんです。
もしどうしてもインターネットアクセスできない場合は本手順が参考になれば幸いです。
以上です。