ベアメタルサーバー構築手順

Smart Data Platform で提供しているオフィシャルテンプレートからインスタンス(ベアメタルサーバー)を作成する方法について説明します。 またオフィシャルテンプレートからサーバーインスタンスを作成した場合、ライセンスのアクティベーションを実施する必要があります。

ここでは、本サービスで提供しているオフィシャルテンプレート、CentOSを使用したインスタンス作成、ライセンスのアクティベーション、Webサーバの構築を行います。

本項では図中の赤枠部分を構築していきます。

../../../_images/modelC_BARESV.png

図に使用される表記の凡例は 凡例一覧 を参照してください。


1. キーペアの作成

初めにサーバーインスタンスへのログイン時に使用するキーペアを作成します。

左ペインのメニューから「サーバーインスタンス」→「インスタンス」→「キーペア」を選択します。

../../../_images/modelC_BR-cent-keypair1.png

「キーペア」画面から「キーペアの作成」をクリックします。

../../../_images/modelC_BR-cent-keypair2.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-keypair3.png
キーペアの作成説明
項番 項目名 入力形式 入力値 注意事項
1-1 キーペア名 手動 baremetalkey 英数字のみ入力してください

入力が完了したら、右下の「キーペアの作成」をクリックし、キーペアの作成を実行します。


キーペアの作成を実行すると、.pemファイルのダウンロードが自動で行われます。

下記画面にて、「保存」を選択し「閉じる」をクリックします。

../../../_images/modelA2_SV-cent-keypair4.png

以上で、キーペアの作成が完了となります。


2. ベアメタルサーバーの作成

左ペインのメニューから「ベアメタルサーバー」→「サーバーリスト」を選択します。「サーバーの新規作成」画面で必要な項目は以下になります。 ベアメタルサーバーの作成にあたっては、下記の7つのタブでそれぞれ初期設定を入力することができます。

ベアメタルサーバーの作成説明
詳細 ご利用になるサーバー名称やスペック(flavor)、サーバーの起動イメージ、サーバーを設置するゾーン/グループの設定
アクセスとセキュリティ サーバー管理者のキーペアの登録およびSSHでアクセスする際の管理者パスワードの設定
ネットワーク サーバーが属するネットワーク、およびIPアドレスの設定。事前にロジカルネットワークを作成しておく必要があります。
ディスク サーバーのディスクパーティションの設定。自動で設定されるAutomaticと、お客様独自で設定するManualの2つが選べます。
Post-Install script サーバーの初期設定において、お客様側でカスタマイズを実施したい場合にスクリプトをアップロードしておくことで、作成時にスクリプトを実行します
メタデータ メタデータの登録ができます。
パーソナリティー ベアメタルサーバーのご利用開始前に、SSH Keyや設定ファイルなどをベアメタルサーバーのファイルシステムに入れることができます

2.1. ベアメタルサーバーの作成 - 詳細タブ

ここでは、インスタンスのOS上ホスト名やスペック(flavor)、サーバーの起動イメージ、サーバーを設置するゾーンの設定を行います。

左ペインのメニューから「ベアメタルサーバー」→「サーバーリスト」→「サーバーの新規作成」を選択します。

../../../_images/modelC_BR-cent-ins1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-ins2.png
ベアメタルサーバーの作成 - 詳細タブ説明
項番 項目名 入力形式 入力値 注意事項
2-1 サーバー名 手動 baremetal1 英数字のみ入力してください。
2-2 フレーバー 選択 General Purpose 2(VCPUs:24,RAM:256GB,Size:550GB)  
2-3 イメージ名 選択 CentOS-7.5-1804_64_baremetal-server_01  
2-4 ゾーン/グループ 選択 zone1-groupa 冗長化を図る為、1台目はzone1-groupaを選んでください。

2.2. ベアメタルサーバーの作成 - アクセスとセキュリティ

「アクセスとセキュリティ」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-accesskey1.png
キーペアの作成説明
項番 項目名 入力形式 入力値 注意事項
3-1 キーペア名 選択 baremetalkey 作成したキーペアを選択してください。
3-2 管理者パスワード 手動 xxxxxxxx 任意のパスワードを入力してください。
3-3 管理者パスワード(確認) 手動 xxxxxxxx 2-2で入力したパスワードを入力してください。

2.3. ベアメタルサーバーの作成 - ネットワーク

「ネットワーク」クリックし、ベアメタルサーバーと接続するネットワークを設定します。

初めに、APネットワークの設定を行います。

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-ins3-2.png
ベアメタルサーバーの作成 - ネットワークの説明
項番 項目名 入力形式 入力値 注意事項
4-1 ロジカルネットワーク1 選択 AP-DB_NW Plane:Data,(192.168.6.0/24)  
4-2 IPアドレス1 手動 192.168.6.253  
4-3 ロジカルネットワーク2 選択 DB-StrageA Plane:Storage,(192.168.10.0/24)  
4-4 IPアドレス2 手動 192.168.10.20  

2.4. ベアメタルサーバーの作成 - ディスク

「ディスク」をクリックします。

ベアメタルサーバーに内蔵されるディスクパーティションの設定を行います。パーティションの設定に関しては、自動で設定されるAutomaticと、お客様独自で設定するManualの2つが選べます。

今回の構成では設定不要となります。

注釈

Automaticに設定された場合は、弊社側であらかじめ用意しているOS毎の設定値によって設定されます。詳しくは、詳細情報をご確認ください。

Manualでディスクパーティション設定を行う場合は、下記のようなJSONフォーマットでパラメーターを入力する必要があります。

パラメーターの詳細については、 (参考)ベアメタルサーバーの新規作成時のパラメーター設定 もしくは、ベアメタルサーバー APIリファレンス をご確認ください。


2.5. ベアメタルサーバーの作成 - Post-install script

「Post-install script」をクリックします。

サーバーの初期設定でスクリプトは利用しない為、今回の構成では設定不要となります。


2.6. ベアメタルサーバーの作成 - メタデータ

「メタデータ」をクリックします。

ベアメタルサーバーにメタデータを設定します。KEY=VALUE形式で設定可能です。

今回の構成ではメタデータは使用しない為、設定不要となります。


2.7. ベアメタルサーバーの作成 - パーソナリティ

「パーソナリティー」をクリックします。

ベアメタルサーバーのご利用開始前に、SSH Keyや設定ファイルなどをベアメタルサーバーのファイルシステムに入れることができます。

事前に設定したいConfigファイルやSSH Keyを直接入力、もしくはファイルでアップロードを実施し、ファイル配置場所のパスを指定します。

今回の構成では、パーソナリティは使用しない為、設定不要となります。

全ての設定が完了したら、右下の「サーバーの新規作成」をクリックし、ベアメタルサーバーの作成を実行します。


ベアメタルサーバーの作成が完了すると、一覧画面に作成されたベアメタルサーバーがリストに追加されて表示されます。

../../../_images/modelC_BR-cent-ins5.png

次に2台目のベアメタルサーバーの作成を行います。

2.8. ベアメタルサーバーの作成 - 詳細タブ

ここでは、インスタンスのOS上ホスト名やスペック(flavor)、サーバーの起動イメージ、サーバーを設置するゾーンの設定を行います。

左ペインのメニューから「ベアメタルサーバー」→「サーバーリスト」→「サーバーの新規作成」を選択します。

../../../_images/modelC_BR-cent-ins1-1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-ins2-1.png
ベアメタルサーバーの作成 - 詳細タブ説明
項番 項目名 入力形式 入力値 注意事項
2-1 サーバー名 手動 baremetal2 英数字のみ入力してください。
2-2 フレーバー 選択 General Purpose 2(VCPUs:24,RAM:256GB,Size:550GB)  
2-3 イメージ名 選択 CentOS-7.5-1804_64_baremetal-server_01  
2-4 ゾーン/グループ 選択 zone1-groupb 冗長化を図る為、2台目はzone1-groupbを選んでください。

2.2. ベアメタルサーバーの作成 - アクセスとセキュリティ

「アクセスとセキュリティ」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-accesskey1.png
キーペアの作成説明
項番 項目名 入力形式 入力値 注意事項
3-1 キーペア名 選択 baremetalkey 作成したキーペアを選択してください。
3-2 管理者パスワード 手動 xxxxxxxx 任意のパスワードを入力してください。
3-3 管理者パスワード(確認) 手動 xxxxxxxx 3-2で入力したパスワードを入力してください。

2.3. ベアメタルサーバーの作成 - ネットワーク

「ネットワーク」クリックし、ベアメタルサーバーと接続するネットワークを設定します。

初めに、APネットワークの設定を行います。

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-ins3-3.png
ベアメタルサーバーの作成 - ネットワークの説明
項番 項目名 入力形式 入力値 注意事項
4-1 ロジカルネットワーク1 選択 AP-DB_NW Plane:Data,(192.168.6.0/24)  
4-2 IPアドレス1 手動 192.168.6.254  
4-3 ロジカルネットワーク2 選択 DB-StrageB Plane:Storage,(192.168.11.0/24)  
4-4 IPアドレス2 手動 192.168.11.30  

2.4. ベアメタルサーバーの作成 - ディスク

「ディスク」をクリックします。

ベアメタルサーバーに内蔵されるディスクパーティションの設定を行います。パーティションの設定に関しては、自動で設定されるAutomaticと、お客様独自で設定するManualの2つが選べます。

今回の構成では設定不要となります。

注釈

Automaticに設定された場合は、弊社側であらかじめ用意しているOS毎の設定値によって設定されます。詳しくは、詳細情報をご確認ください。

Manualでディスクパーティション設定を行う場合は、下記のようなJSONフォーマットでパラメーターを入力する必要があります。

パラメーターの詳細については、 (参考)ベアメタルサーバーの新規作成時のパラメーター設定 もしくは、ベアメタルサーバー APIリファレンス をご確認ください。


2.5. ベアメタルサーバーの作成 - Post-install script

「Post-install script」をクリックします。

サーバーの初期設定でスクリプトは利用しない為、今回の構成では設定不要となります。


2.6. ベアメタルサーバーの作成 - メタデータ

「メタデータ」をクリックします。

ベアメタルサーバーにメタデータを設定します。KEY=VALUE形式で設定可能です。

今回の構成ではメタデータは使用しない為、設定不要となります。


2.7. ベアメタルサーバーの作成 - パーソナリティ

「パーソナリティー」をクリックします。

ベアメタルサーバーのご利用開始前に、SSH Keyや設定ファイルなどをベアメタルサーバーのファイルシステムに入れることができます。

事前に設定したいConfigファイルやSSH Keyを直接入力、もしくはファイルでアップロードを実施し、ファイル配置場所のパスを指定します。

今回の構成では、パーソナリティは使用しない為、設定不要となります。

全ての設定が完了したら、右下の「サーバーの新規作成」をクリックし、ベアメタルサーバーの作成を実行します。


ベアメタルサーバーの作成が完了すると、一覧画面に作成されたベアメタルサーバーがリストに追加されて表示されます。

../../../_images/modelC_BR-cent-ins5-1.png

3. ベアメタルサーバーへのログイン

作成されたベアメタルサーバーへアクセスする方法は、本サービスで提供するリモートコンソールアクセスもしくはSSHによる接続の2通りです。

ここでは、リモートコンソールアクセスの手順について説明いたします。


3.1. リモートコンソールアクセスの新規ユーザー作成

リモートコンソールアクセスを実行するために、リモートコンソールアクセス用のユーザー追加を実施します。

左ペインのメニューから「ベアメタルサーバー」→「リモートコンソールアクセス」へと進み、下図の画面で「ユーザーの新規追加」をクリックします。

../../../_images/modelC_BR-cent-remote1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-remote2.png
リモートコンソールアクセス - 新規ユーザー作成の説明
項番 項目名 入力形式 入力値 注意事項
5-1 パスワード 手動 xxxxxxxx 任意のパスワードを入力してください。
5-2 パスワード 手動 xxxxxxxx 5-1で入力したパスワードを入力してください。

3.2. コンソール情報の確認

「コンソール情報」では、SSL-VPNに関する情報、コンソールに関する情報が表示されます。

左ペインのメニューから「ベアメタルサーバー」→「サーバーリスト」へと進みます。

../../../_images/modelC_BR-cent-console1.png

コンソールアクセスを実施したいサーバーのアクション一覧より、「コンソール情報」を選択します。

表示された画面から、「パスワードを表示」をチェックします。

../../../_images/modelC_BR-cent-console2.png

3.3. SSL-VPNの構築

リモートコンソールアクセスを実行するにあたっては、SSL-VPNを構築しコンソールURLにアクセスする必要があります。

まず、先ほど表示された「コンソール情報」から、VPN URLをブラウザからアクセスします。

../../../_images/modelC_BR-cent-sslvpn1.png

アクセスすると下図のようなSSL VPNのGatewayが表示されるので、「コンソール情報」で表示されたユーザー名と、本項最初の手順で作成したリモートコンソールアクセスのユーザーのパスワードを入力し、ログインを実施します。

../../../_images/modelC_BR-cent-sslvpn2.png

注釈

SSL VPNの構築にあたっては、CITRIX社 NetScaler Gatewayのプラグインの追加が必要です。表示された画面に記載されている手順に沿って、インストーラーのダウンロード、プラグインのインストールを実施してください。


3.4. コンソールへのアクセス

SSL VPNの構築完了後、「コンソール情報」で表示された、「コンソールURL」にアクセスします。

../../../_images/modelC_BR-cent-consolelogin1.png

コンソールに正常にアクセスができると、下図のようなベアメタルサーバーのIPMIへのログイン画面が表示されますので、「コンソール情報」で表示されているユーザーIDとパスワードを入力します。

../../../_images/modelC_BR-cent-consolelogin2.png

コンソールへのログインが完了すると、下図のようなIPMIの設定画面が表示されます。

../../../_images/modelC_BR-cent-consolelogin3.png

ベアメタルサーバーへのコンソール接続を実施するには、画面左側の”Remote Console”を選択し、ConsoleのLaunchを実行してください。

../../../_images/modelC_BR-cent-consolelogin4.png

注釈

ご利用の環境より、「Launch」、「Web Start」からお選びください。IEがEdgeをご利用の場合は[Launch]を、それ以外のブラウザをご利用の場合は[Web Start]をご利用ください。


4. ベアメタルサーバーへの各種設定

ここでは、baremetal1へ以下の設定を行います。

  • NTPサーバーへの接続
  • OSライセンスのアクティベーション
  • iSCSIイニシエータの設定

注釈

なお、ベアメタルサーバーをコンソール上で操作するにあたって、日本語キーボードを使う場合、ベアメタルサーバーのOS上のロケール変更を行うことをご検討ください。ロケール変更は以下のコマンドで実施できます。

# localectl set-keymap jp106

4.1. NTPサーバーへの接続

本サービスでは、サーバーインスタンスからアクセス可能な、NTPサーバを無償で提供しております。ライセンス認証やシステム時刻の同期にあたって必要となりますので、ご利用ください。

注釈

自社でNTPサーバ、DNSサーバをご用意されているお客様は、本操作は不要です。


4.1.1. 共通機能ゲートウェイへの接続

共通機能ゲートウェイで作成した共通機能ゲートウェイにインスタンスの接続を実施します。

「コントロールパネル」から「ベアメタルサーバー」→「サーバーリスト」へと進みます。

対象となるベアメタルサーバー(baremetal1)を選択します。

../../../_images/modelC_BR-cent-common1.png

「物理NICポート」をクリックし、一番下に表示されているポートの「ポートをベアメタルサーバーに追加」をクリックします。

../../../_images/modelC_BR-cent-common2.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-common3.png
ポートをベアメタルサーバーに追加の説明
項番 項目名 入力形式 入力値 注意事項
6-1 ポート名 手動 baremetal1-common-port 英数字のみ入力してください。
6-4 ロジカルネットワーク 選択 common_function_gw_access  
6-7 DHCPを用いてIPアドレスを割り当てる 選択 チェック有  

これらの入力が完了したら、「ポートをベアメタルサーバーに追加」をクリックします。

注釈

この操作で物理NICに対して最初のロジカルネットワークを接続した場合、ベアメタルサーバーのOS上でそのNICに対してIPアドレスを手動で付与する必要があります。


4.1.2. IPアドレスの手動設定

リモートコンソールアクセスで、baremetal1へログインします。

コンソール画面から下記のコマンドを実施します。

vi /etc/sysconfig/network-scripts/ifcfg-enp00s0f3

viの入力モードにて「ONBOOT=yes」に変更し、下記内容を追加します。

BOOTPROTO=static

IPADDR0=169.254.0.9

PREFIX0=17

注釈

IPアドレスについては、DHCPにより割り振られたアドレスを追加してください。


ネットワークの再起動を実施します。

systemctl restart network

4.1.3. NTPサーバーへの疎通確認

コンソール画面から下記のようなpingを実行し疎通が出来ていることを確認します。

ping 169.254.127.1

169.254.127.1からReplyが返ってくることを確認します。

../../../_images/modelB_SV-cent-ntp-ping1.png

4.2. OSライセンスのアクティベーション

本サービスで提供しているオフィシャルイメージテンプレートからサーバーインスタンスを作成した場合、ライセンスのアクティベーションを実施する必要があります。 ライセンスのアクティベーションには、インスタンスを弊社側で用意しているライセンス認証サーバへ接続していただくことが必要です。 ここでは、その手順について説明します。

注釈

ライセンスをアクティベーションしていない場合でも、オフィシャルイメージテンプレートのご利用料金は発生いたします。


4.2.1. 共通機能ゲートウェイへの接続

注釈

既に NTPサーバへの接続 にて共通機能ゲートウェイへの接続を実施されているお客様は本操作は不要です。


4.2.2. ライセンス認証サーバーへの疎通確認

上図に表示されているライセンス認証サーバーのアドレスに対して、コンソール画面から下記のようなpingを実行し疎通が出来ていることを確認します。

ping 169.254.127.17

169.254.127.17からReplyが返ってくることを確認します。

../../../_images/modelB_SV-cent-license-ping1.png

注釈

ライセンス認証については、自動的にKMSサーバーに認証を試行します。共通機能ゲートウェイへの接続以外に、お客様側で認証に関する操作を実施していただく必要はありません。


4.3. iSCSIイニシエータの設定

iSCSIイニシエータの設定を行います。

4.3.1. DNSの登録

コンソール画面から下記のコマンドを実施します。

vi /etc/sysconfig/network-scripts/ifcfg-enp00s0f0

viの入力モードにてTYPE=Ethernetの下に下記内容を追加します。

DNS1=8.8.8.8

入力が完了したら設定を保存し、ネットワークを再起動します。

systemctl restart network

その後下記を実施し、名前解決とインターネット接続ができていることを確認します。

ping ecl.ntt.com

4.3.2. iSCSIイニシエータ機能の追加

CentOSに「iscsi-initiator-utils」と「device-mapper-multipath」 をyumでインストールします。

システムの更新を行います。

yum -y update

コマンドの実行が完了して「Complete!」と表示されれば更新は完了です。


コンソール画面から下記コマンドを入力し、実行します。

yum -y install iscsi-initiator-utils device-mapper-multipath

コマンドの実行が完了して「Complete!」と表示されれば更新は完了です。


下記を実行し、ブロックストレージ作成時に入力するイニシエーターIQNをメモしておきます。

cat /etc/iscsi/initiatorname.iscsi
../../../_images/modelC_BR-cent-iscsiiqn1.png

5. ベアメタルサーバーへの各種設定

ここでは、baremetal2へ以下の設定を行います。

  • NTPサーバーへの接続
  • OSライセンスのアクティベーション
  • iSCSIイニシエータの設定

注釈

なお、ベアメタルサーバーをコンソール上で操作するにあたって、日本語キーボードを使う場合、ベアメタルサーバーのOS上のロケール変更を行うことをご検討ください。ロケール変更は以下のコマンドで実施できます。

# localectl set-keymap jp106

5.1. NTPサーバーへの接続

本サービスでは、サーバーインスタンスからアクセス可能な、NTPサーバを無償で提供しております。ライセンス認証やシステム時刻の同期にあたって必要となりますので、ご利用ください。

注釈

自社でNTPサーバ、DNSサーバをご用意されているお客様は、本操作は不要です。


5.1.1. 共通機能ゲートウェイへの接続

共通機能ゲートウェイで作成した共通機能ゲートウェイにインスタンスの接続を実施します。

左ペインのメニューから「ベアメタルサーバー」→「サーバーリスト」へと進みます。

対象となるベアメタルサーバー(baremetal2)を選択します。

../../../_images/modelC_BR-cent-common1-1.png

「物理NICポート」をクリックし、一番下に表示されているポートの「ポートをベアメタルサーバーに追加」をクリックします。

../../../_images/modelC_BR-cent-common2-1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_BR-cent-common3-1.png
ポートをベアメタルサーバーに追加の説明
項番 項目名 入力形式 入力値 注意事項
6-1 ポート名 手動 baremetal2-common-port 英数字のみ入力してください。
6-2 ロジカルネットワーク 選択 common_function_gw_access  
6-3 DHCPを用いてIPアドレスを割り当てる 選択 チェック有  

これらの入力が完了したら、「ポートをベアメタルサーバーに追加」をクリックします。

注釈

この操作で物理NICに対して最初のロジカルネットワークを接続した場合、ベアメタルサーバーのOS上でそのNICに対してIPアドレスを手動で付与する必要があります。


5.1.2. IPアドレスの手動設定

リモートコンソールアクセスで、baremetal1へログインします。

コンソール画面から下記のコマンドを実施します。

vi /etc/sysconfig/network-scripts/ifcfg-enp00s0f3

viの入力モードにて「ONBOOT=yes」に変更し、下記内容を追加します。

BOOTPROTO=static

IPADDR0=169.254.0.10

PREFIX0=17

注釈

IPアドレスについては、DHCPにより割り振られたアドレスを追加してください。


ネットワークの再起動を実施します。

systemctl restart network

5.1.3. NTPサーバーへの疎通確認

コンソール画面から下記のようなpingを実行し疎通が出来ていることを確認します。

ping 169.254.127.1

169.254.127.1からReplyが返ってくることを確認します。

../../../_images/modelB_SV-cent-ntp-ping1.png

5.2. OSライセンスのアクティベーション

本サービスで提供しているオフィシャルイメージテンプレートからサーバーインスタンスを作成した場合、ライセンスのアクティベーションを実施する必要があります。 ライセンスのアクティベーションには、インスタンスを弊社側で用意しているライセンス認証サーバへ接続していただくことが必要です。 ここでは、その手順について説明します。

注釈

ライセンスをアクティベーションしていない場合でも、オフィシャルイメージテンプレートのご利用料金は発生いたします。


5.2.1. 共通機能ゲートウェイへの接続

注釈

既に NTPサーバへの接続 にて共通機能ゲートウェイへの接続を実施されているお客様は本操作は不要です。


5.2.2. ライセンス認証サーバーへの疎通確認

上図に表示されているライセンス認証サーバーのアドレスに対して、コンソール画面から下記のようなpingを実行し疎通が出来ていることを確認します。

ping 169.254.127.17

169.254.127.17からReplyが返ってくることを確認します。

../../../_images/modelB_SV-cent-license-ping1.png

注釈

ライセンス認証については、自動的にKMSサーバーに認証を試行します。共通機能ゲートウェイへの接続以外に、お客様側で認証に関する操作を実施していただく必要はありません。


5.3. iSCSIイニシエータの設定

iSCSIイニシエータの設定を行います。

5.3.1. DNSの登録

コンソール画面から下記のコマンドを実施します。

vi /etc/sysconfig/network-scripts/ifcfg-enp00s0f0

viの入力モードにてTYPE=Ethernetの下に下記内容を追加します。

DNS1=8.8.8.8

入力が完了したら設定を保存し、ネットワークを再起動します。

systemctl restart network

その後下記を実施し、名前解決とインターネット接続ができていることを確認します。

ping ecl.ntt.com

5.3.2. iSCSIイニシエータ機能の追加

CentOSに「iscsi-initiator-utils」と「device-mapper-multipath」 をyumでインストールします。

システムの更新を行います。

yum -y update

コマンドの実行が完了して「Complete!」と表示されれば更新は完了です。


コンソール画面から下記コマンドを入力し、実行します。

yum -y install iscsi-initiator-utils device-mapper-multipath

コマンドの実行が完了して「Complete!」と表示されれば更新は完了です。


下記を実行し、ブロックストレージ作成時に入力するイニシエーターIQNをメモしておきます。

cat /etc/iscsi/initiatorname.iscsi
../../../_images/modelC_BR-cent-iscsiiqn1-1.png

6. PostgreSQLの設定

baremetal1にPostgreSQLをインストールします。

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

yum install -y https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install -y postgresql95
yum install -y postgresql95-server

コマンドの実行が完了して「Complete!」と表示されればインストールは完了です。


次に、PostgreSQLが利用するディレクトリ作成をブロックストレージ上に作成します。

mkdir -p /mnt/dbfp/pgdata /mnt/dbfp/pgxlog /mnt/dbfp/pgarch/arc1
ディレクトリの説明
/mnt/dbfp/pgdata DBクラスタが作成されるディレクトリ
/mnt/dbfp/pgxlog WAL格納場所があるディレクトリ
/mnt/dbfp/pgarch/arc1 WALアーカイブ先ディレクトリ

次に、postgresユーザの環境設定をします。

コンソール画面から下記コマンドを入力し、実行します。

#su - postgres

$vi .bash_profile

(以下を追記)
-----ここから
PGDATA=/mnt/dbfp/pgdata/data
export PGDATA
export PATH=/usr/pgsql-9.5/bin:$PATH
-----ここまで

$exit

#chown -R postgres:postgres /mnt/dbfp

次に、PostgreSQL初期化と設定投入を行います。

コンソール画面から下記コマンドを入力し、実行します。

# su - postgres
$ initdb -D /mnt/dbfp/pgdata/data -X /mnt/dbfp/pgxlog/pg_xlog --encoding=UTF8 --no-locale
$ vi /mnt/dbfp/pgdata/data/postgresql.conf
(以下を追記(一番下に追記で良い))
-----ここから
listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 8
wal_keep_segments = 32
hot_standby = on
max_standby_streaming_delay = -1
max_standby_archive_delay = -1
archive_mode = on
archive_command = '/bin/cp %p /mnt/dbfp/pgarch/arc1/%f'
#synchronous_standby_names = ''
synchronous_commit = on
restart_after_crash = off
wal_sender_timeout = 20s
wal_receiver_status_interval = 5s
hot_standby_feedback = on
-----ここまで

コンソール画面から下記コマンドを入力し、実行します。

$ vi /mnt/dbfp/pgdata/data/pg_hba.conf
(以下を追記(一番下に追記で良い))
-----ここから
host all all 0.0.0.0/0 md5
host replication repuser 0.0.0.0/0 md5
-----ここまで

PostgreSQLを起動し、レプリケーション用ユーザ作成します。

$ pg_ctl -w start
$ psql -c "CREATE ROLE repuser REPLICATION LOGIN PASSWORD 'reppassword'"
$ pg_ctl stop

次に、pgpassを作成します。

コンソール画面から下記コマンドを入力し、実行します。

$ vi ~/.pgpass

192.168.6.252:5432:replication:repuser:reppassword
192.168.6.254:5432:replication:repuser:reppassword

$ chmod 600 ~/.pgpass

次に、baremetal2にPostgreSQLをインストールします。

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

yum install -y https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
yum install -y postgresql95
yum install -y postgresql95-server

コマンドの実行が完了して「Complete!」と表示されればインストールは完了です。


次に、PostgreSQLが利用するディレクトリ作成をブロックストレージ上に作成します。

mkdir -p /mnt/dbfp/pgdata /mnt/dbfp/pgxlog /mnt/dbfp/pgarch/arc1
ディレクトリの説明
/mnt/dbfp/pgdata DBクラスタが作成されるディレクトリ
/mnt/dbfp/pgxlog WAL格納場所があるディレクトリ
/mnt/dbfp/pgarch/arc1 WALアーカイブ先ディレクトリ

次に、postgresユーザの環境設定をします。

コンソール画面から下記コマンドを入力し、実行します。

#su - postgres

$vi .bash_profile

(以下を追記)
-----ここから
PGDATA=/mnt/dbfp/pgdata/data
export PGDATA
export PATH=/usr/pgsql-9.5/bin:$PATH
-----ここまで

$exit

#chown -R postgres:postgres /mnt/dbfp

次に、pgpassを作成します。

コンソール画面から下記コマンドを入力し、実行します。

$ vi ~/.pgpass

192.168.6.252:5432:replication:repuser:reppassword
192.168.6.253:5432:replication:repuser:reppassword

$ chmod 600 ~/.pgpass

PostgreSQLの起動を行います。

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

pg_ctl -w start

baremetal1からデータ取得を実施し、レプリケーションを開始します。

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

$ pg_basebackup -D /mnt/dbfp/pgdata/data --xlog -h 192.168.6.253 -U repuser --xlogdir=/mnt/dbfp/pgxlog/pg_xlog
$ vi /mnt/dbfp/pgdata/data/recovery.conf
-----(ここから)
standby_mode = 'on'
primary_conninfo = 'host=192.168.6.253 port=5432 user=repuser password=reppassword'
-----(ここまで)
$ pg_ctl -w start

注釈

上記コマンドの入力に失敗した際は、以下のコマンドを入力してからもう一度お試しください。

# mv /mnt/dbfp/pgdata/data/ /mnt/dbfp/pgdata/data1

アプリケーション用ユーザ、DB、テーブルを作成します。

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

$ psql -c "CREATE USER appdbuser WITH PASSWORD 'appdbpassword'"
$ psql -c "CREATE DATABASE appdb WITH OWNER appdbuser ENCODING 'UTF8'"
$ psql -d appdb -U appdbuser -c "CREATE TABLE customer(id integer primary key, name text, comment text)"

PostgreSQLの停止を行います。

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

$ pg_ctl stop
$ exit

PostgreSQLの停止を行います。

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

$ pg_ctl stop
$ exit

7. Pacemakerの設定

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

# vi /etc/yum.repos.d/CentOS-Base.repo
([base], [updates]セクションに追記)
-----(ここから)
[base]
…
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents* pcs*

[updates]
…
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents* pcs*
-----(ここまで)

# curl -L -O https://osdn.net/projects/linux-ha/downloads/67817/pacemaker-repo-1.1.16-1.1.el7.x86_64.rpm
# yum install -y pacemaker-repo-1.1.16-1.1.el7.x86_64.rpm
# yum install -y pacemaker-all

次に、corosyncの設定を行います。

# vi /etc/corosync/corosync.conf
(以下を記載)
-----(ここから)
totem {
        version: 2
        token: 5000
        rrp_mode: active
        interface {
                ringnumber: 0
                bindnetaddr: 192.168.6.0
                mcastaddr: 239.255.1.1
                mcastport: 5405
        }
}

logging {
        syslog_facility: daemon
        debug: off
}

quorum {
        provider: corosync_votequorum
        expected_votes: 2
}
-----(ここまで)

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

# vi /etc/yum.repos.d/CentOS-Base.repo
([base], [updates]セクションに追記)
-----(ここから)
[base]
…
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents* pcs*

[updates]
…
exclude=pacemaker* corosync* resource-agents* crmsh* cluster-glue* libqb* fence-agents* pcs*
-----(ここまで)

# curl -L -O https://osdn.net/projects/linux-ha/downloads/67817/pacemaker-repo-1.1.16-1.1.el7.x86_64.rpm
# yum install -y pacemaker-repo-1.1.16-1.1.el7.x86_64.rpm
# yum install -y pacemaker-all

次に、corosyncの設定を行います。

# vi /etc/corosync/corosync.conf
(以下を記載)
-----(ここから)
totem {
        version: 2
        token: 5000
        rrp_mode: active
        interface {
                ringnumber: 0
                bindnetaddr: 192.168.6.0
                mcastaddr: 239.255.1.1
                mcastport: 5405
        }
}

logging {
        syslog_facility: daemon
        debug: off
}

quorum {
        provider: corosync_votequorum
        expected_votes: 2
}
-----(ここまで)

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

# corosync-keygen -l
# scp -p /etc/corosync/authkey root@192.168.6.254:/etc/corosync/authkey


# vi /etc/sysconfig/pacemaker
(以下を末尾に追記)
-----
PCMK_fail_fast=yes
-----

# cp -p /usr/lib/systemd/system/corosync.service /etc/systemd/system
# vi /etc/systemd/system/corosync.service

-----
#Restart=on-failure
Restart=on-failure
#  Specify a period longer than soft_margin as RestartSec.
#RestartSec=70
RestartSec=70
#  rewrite according to environment.
#ExecStartPre=/sbin/modprobe softdog soft_margin=60
ExecStartPre=/sbin/modprobe softdog
-----

# cp -p /usr/lib/systemd/system/pacemaker.service /etc/systemd/system
# vi /etc/systemd/system/pacemaker.service
-----
# ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync'
ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync'
-----

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

# vi /etc/sysconfig/pacemaker
(以下を末尾に追記)
-----
PCMK_fail_fast=yes
-----

# cp -p /usr/lib/systemd/system/corosync.service /etc/systemd/system
# vi /etc/systemd/system/corosync.service

-----
#Restart=on-failure
Restart=on-failure
#  Specify a period longer than soft_margin as RestartSec.
#RestartSec=70
RestartSec=70
#  rewrite according to environment.
#ExecStartPre=/sbin/modprobe softdog soft_margin=60
ExecStartPre=/sbin/modprobe softdog
-----

# cp -p /usr/lib/systemd/system/pacemaker.service /etc/systemd/system
# vi /etc/systemd/system/pacemaker.service
-----
# ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync'
ExecStopPost=/bin/sh -c 'pidof crmd || killall -TERM corosync'
-----

再起動し、動作確認を行います。

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

# shutdown -r 0
# systemctl start pacemaker
# crm_mon -fArL -1

次に、ベアメタルサーバーの仮想アドレス宛通信の許可を行います。

左ペインのメニューから「クラウド/サーバー ローカルネットワーク」→「ロジカルネットワーク」へと進み、「AP-DB_NW」をクリックします。

_images/ja/cloud_server/BM/modelC_cent_bare_addpair1.png

表示された画面のポート一覧に記載されている「Fixed IP 192.168.6.253」の「ポートの編集」をクリックします。

../../../_images/modelC_cent_bare_addpair2.png

「許可されたアドレスのペア」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_cent_bare_addpair3.png
許可されたアドレスのペア説明
項番 項目名 入力形式 入力値 注意事項
7-1 IPアドレス 手動 192.168.6.252  

上記を入力し、「ポートの編集」をクリックします。


次に、表示された画面のポート一覧に記載されている「Fixed IP 192.168.6.254」の「ポートの編集」をクリックします。

../../../_images/modelC_cent_bare_addpair4.png

「許可されたアドレスのペア」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_cent_bare_addpair5.png
許可されたアドレスのペア説明
項番 項目名 入力形式 入力値 注意事項
7-1 IPアドレス 手動 192.168.6.252  

上記を入力し、「ポートの編集」をクリックします。


baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

# crm configure edit

-----
property \
    no-quorum-policy="ignore" \
    stonith-enabled="false" \
    crmd-transition-delay="0s"
rsc_defaults \
    resource-stickiness="INFINITY" \
    migration-threshold="1"
primitive vipPostgreSQL ocf:heartbeat:IPaddr2 \
    params \
        ip="192.168.6.252" \
        nic="enp00s0f0" \
        cidr_netmask="24" \
    op start timeout="60s" interval="0s" on-fail="restart" \
    op monitor timeout="60s" interval="10s" on-fail="restart" \
    op stop timeout="60s" interval="0s" on-fail="block"
primitive pgsql ocf:heartbeat:pgsql \
    params \
        pgctl="/usr/pgsql-9.5/bin/pg_ctl" \
        psql="/usr/pgsql-9.5/bin/psql" \
        pgdata="/mnt/dbfp/pgdata/data/" \
        rep_mode="sync" \
        node_list="baremetal1.localdomain baremetal2.localdomain" \
        restore_command="/bin/cp /mnt/dbfp/pgarch/arc1/%f %p" \
        primary_conninfo_opt="keepalives_idle=60 \
            keepalives_interval=5 keepalives_count=5" \
        master_ip="192.168.6.252" \
        stop_escalate="0" \
        repuser="repuser" \
    op start timeout="30s" interval="0s" on-fail="restart" \
    op stop timeout="30s" interval="0s" on-fail="block" \
    op monitor timeout="30s" interval="11s" on-fail="restart" \
    op monitor timeout="30s" interval="10s" on-fail="restart" role="Master" \
    op promote timeout="30s" interval="0s" on-fail="restart" \
    op demote timeout="30s" interval="0s" on-fail="restart" \
    op notify timeout="60s" interval="0s"
primitive pingCheck ocf:pacemaker:ping \
    params \
        name="default_ping_set" \
        host_list="192.168.6.252" \
        multiplier="100" \
        timeout="2" \
        attempts="4" \
        options="-i 1" \
        dampen="90" \
    op start interval="0s" timeout="60s" on-fail="restart" \
    op monitor interval="10s" timeout="60s" on-fail="restart" \
    op stop interval="0s" timeout="60s" on-fail="ignore"
clone clnPingd \
    pingCheck
ms msPostgreSQL pgsql \
    meta \
        master-max="1" \
        master-node-max="1" \
        clone-max="2" \
        clone-node-max="1" \
        notify="true"
location location-1 msPostgreSQL \
    rule -inf: not_defined default_ping_set or default_ping_set lt 100
colocation colocation-1 inf: msPostgreSQL clnPingd
colocation colocation-2 inf: vipPostgreSQL msPostgreSQL:Master
order order-1 0: clnPingd msPostgreSQL symmetrical=false
order order-2 inf: msPostgreSQL:promote vipPostgreSQL:start symmetrical=false
order order-3 0: msPostgreSQL:demote vipPostgreSQL:stop symmetrical=false
-----

再起動し、動作確認を行います。

baremetal2にリモートコンソールアクセスし、下記コマンドを実行します。

# systemctl stop pacemaker
# systemctl start pacemaker

baremetal1にリモートコンソールアクセスし、下記コマンドを実行します。

# systemctl stop pacemaker
# systemctl start pacemaker