このセクションでは、クラスタ環境を設定するためにそれぞれをインストールおよび設定する手順について説明します。SLES High Availability Extensionの設定の詳細については、SUSE Linux Enterprise High Availability Extentionのガイドを参照してください。
iSCSIターゲットは、クラスタ内のすべてのノードの共通ストレージとして設定するデバイスです。これは、iSCSI Initiatorがイーサネット接続経由でリモートアクセスできるようにLinuxサーバ上に作成される仮想ディスクです。iSCSI Initiatorは、ターゲット(iSCSI)に接続してサービスを要求するように設定されているクラスタ内のノードです。iSCSIターゲットは、イニシエータとして動作するホストがターゲットに接続できるように、常時稼動している必要があります。iSCSIサーバにiSCSIターゲットをインストールする前に、iSCSIターゲットに共通ストレージに使用できる十分な容量があることを確認します。SLES 12 SP2をインストールした後、他の2つのノードにiSCSI Initiatorパッケージをインストールします。
SLES 12 SP2をインストールする際に、次の操作を実行します。
独立したパーティションを作成し、そのパーティションパスをiSCSI共有ストレージパーティションとして指定します。
iSCSIターゲットパッケージをインストールします。
iSCSIサーバを設定するには:
ターゲットサーバ上にブロックデバイスを作成します。
端末でyast2 diskコマンドを実行します。
新しいLinuxパーティションを作成し、フォーマットしないを選択します。
パーティションをマウントしないを選択します。
パーティションサイズを指定します。
端末でyast2 iscsi-serverまたはyast2 iscsi-lio-serverコマンドを入力します。
サービスタブをクリックしサービスの開始オプションでブート時を選択します。
ターゲットタブで追加をクリックして、パーティションパス(SLESインストール時に作成)を入力します。
Modify iSCSI Target Initiator Setup (iSCSIターゲットイニシエータセットアップの変更)ページで、ターゲットサーバのiSCSIクライアントイニシエータホスト名を指定し、次へをクリックします。
たとえば、iqn.sles12sp2node2.comおよびiqn.sles12sp2node3.comです。
完了をクリックします。
端末でcat /proc/net/iet/volumeコマンドを実行し、iSCSIターゲットがインストールされているかどうかを検証します。
クラスタのすべてのノードで、iSCSIターゲットに接続するように、iSCSI Initiatorを設定する必要があります。
iSCSI Initiatorを設定するには:
iSCSI Initiatorパッケージをインストールします。
端末でyast2 iscsi-clientを実行します。
サービスタブをクリックし、サービスの開始オプションでブート時を選択します。
接続したターゲットタブをクリックし、追加をクリックしてiSCSIターゲットサーバのIPアドレスを入力します。
認証なしを選択します。
次へをクリックし、接続をクリックします。
起動の切り替えをクリックして起動オプションを手動から自動に切り替えて、次へをクリックします。
次をクリックし、OKをクリックします。
ターゲットに接続しているイニシエータのステータスをチェックするには、ターゲットサーバ上でcat /proc/net/iet/sessionコマンドを実行します。iSCSIサーバに接続しているイニシエータのリストが表示されます。
SBD用とクラスタファイルシステム用の2つの共有ストレージパーティションを作成します。
共有ストレージをパーティション化するには:
端末でyast2 diskコマンドを実行します。
エキスパートパーティショナダイアログボックスで共有ボリュームを選択します。この例では、エキスパートパーティショナダイアログボックスでsdbを選択します。
追加をクリックし、プライマリパーティションオプションを選択して次へをクリックします。
カスタムサイズを選択し、次へをクリックします。この例では、カスタムサイズは100MBです。
フォーマットのオプションでパーティションをフォーマットしないを選択します。この例では、[ファイルシステムID]は[0x83 Linux]です。
マウントのオプションでパーティションをマウントしないを選択し、完了をクリックします。
追加をクリックし、プライマリパーティションを選択します。
次へをクリックし、最大サイズを選択して次へをクリックします。
フォーマットのオプションでパーティションをフォーマットしないを選択します。この例では、[ファイルシステムID]は[0x83 Linux]です。
マウントのオプションでパーティションをマウントしないを選択し、完了をクリックします。
HA Extensionをインストールするには:
SUSE DownloadsのWebサイトに移動します。
使用可能な各プラットフォームでは、SUSE Linux Enterprise High Availability Extension (SLE HA)を2つのISOイメージとしてダウンロードできます。メディア1にはバイナリパッケージが、メディア2にはソースコードが含まれます。
メモ:システムアーキテクチャに基づいて適切なHA Extension ISOファイルを選択し、インストールします。
各サーバにメディア1 ISOファイルをダウンロードします。
YaST コントロールセンターダイアログボックスを開いて、アドオン製品 > 追加の順にクリックします。
参照をクリックし、DVDまたはローカルISOイメージを選択して、次へをクリックします。
パターンタブで、Primary Functions (プライマリ機能)の下にある高可用性を選択します。
[高可用性]の下にあるすべてのコンポーネントがインストールされていることを確認します。
承諾をクリックします。
SLES HA Extensionでは、カーネルのウォッチドッグサポートはデフォルトで有効です。ウォッチドッグサポートは、ハードウェア固有のウォッチドッグドライバを提供するさまざまなカーネルモジュールに付属しています。ハードウェアに適したウォッチドッグドライバが、システム再起動時に自動的にロードされます。
softdogウォッチドッグを有効にします。
echo softdog > /etc/modules-load.d/watchdog.conf
systemctl restart systemd-modules-load
softdogモジュールが正しくロードされているかどうかをテストします。
lsmod | grep dog
この例では、クラスタで2つのノードを設定していることを前提としています。
最初のノードの設定:
クラスタノードとして使用したい物理または仮想マシンにrootとしてログインします。
次のコマンドを実行します。
ha-cluster-init
このコマンドは、NTP設定とハードウェアウォッチドッグサービスを確認します。また、SSHアクセスとCsync2の同期に使用される公開および秘密SSHキーが生成され、それぞれのサービスが起動されます。
クラスタ通信層を設定します。
バインドするネットワークアドレスを入力します。
マルチキャストアドレスを入力します。スクリプトはデフォルトとして使用できるランダムなアドレスを提案します。
マルチキャストポートを入力します。デフォルトでは、ポートは5405です。
SBDをノードフェンシングメカニズムとして設定します。
SBDを使用するには、「y」を押します。
SBDに使用するブロックデバイスのパーティションの永続的なパスを入力します。パスはクラスタ内の両方のノードで一致している必要があります。
クラスタを管理するための仮想IPアドレスを設定します。
仮想IPアドレスを設定するには、「y」を押します。
SUSE Hawk GUIの管理IPとして使用する、未使用のIPアドレスを入力します。たとえば、192.168.1.3と入力します。
個々のクラスタノードにログインする代わりに、その仮想IPアドレスに接続できるようになります。
最初のノードが稼働したら、ha-cluster-joinコマンドを使用して2番目のクラスタノードを追加します。
2番目のノードの設定:
クラスタに接続する物理マシンまたは仮想マシンにrootとしてログインします。
次のコマンドを実行します。
ha-cluster-join
NTPが設定されていない場合は、メッセージが表示されます。コマンドはハードウェアウォッチドッグデバイスを確認し、存在していない場合はそのことを知らせます。
最初のノードのIPアドレスを入力します。
最初のノードのrootパスワードを入力します。
SUSE Hawk GUIにログインして、ステータス>ノードの順にクリックします。たとえば、https://192.168.1.3:7630/cib/liveです。
クラスタノードにeDirectoryをインストールします。
サポートされているバージョンのをインストールします。HAクラスタでeDirectoryを設定する段階的な手順については、『eDirectory Installation Guide』の「Deploying eDirectory on High Availability Clusters」を参照してください。
重要:Node1にeDirectoryをインストールする前に、Node1で仮想IPが設定されていることを確認します。
[メタディレクトリサーバ]オプションを使用して、Node1にIdentity Managerをインストールします。
DCLUSTER_INSTALLオプションを使用して、Node2サーバにIdentity Managerエンジンをインストールします。
端末で./install.bin -DCLUSTER_INSTALL="true"コマンドを実行します。
インストーラがIdentity Managerファイルをインストールします。その際、eDirectoryとは何もやりとりしません。
SUSE Hawk GUIにログインします。
リソースの追加をクリックし、新しいグループを作成します。
グループの横のをクリックします。
グループIDを指定します。たとえば、Group-1です。
グループの作成時に次の子リソースが選択されていることを確認します。
stonith-sbd
admin_addr (クラスタIPアドレス)
Meta Attributes (メタ属性)タブで、target-roleフィールドを[開始日]に、is-managedフィールドを[はい]に設定します。
Edit Configuration (設定の編集)をクリックし、手順2で作成したグループの横にあるをクリックします。
子フィールドで、次の子リソースを追加します。
shared-storage
eDirectory-resource
たとえば、グループ内では次の順序でリソースを追加する必要があります。
stonith-sbd
admin_addr (クラスタIPアドレス)
shared-storage
eDirectory-resource
必要に応じてリソース名を変更できます。すべてのリソースに、定義する必要があるパラメータのセットがあります。shared-storageおよびeDirectoryリソースの例については、eDirectoryおよび共有ストレージの子リソースのプリミティブを参照してください。
「stonith-sbd」リソースとadmin_addrリソースは、クラスタノードの初期化時にHAクラスタコマンドによってデフォルト設定されます。
表 B-1 shared-storageの例
リソースID |
共有ストレージリソースの名前 |
クラス |
ocf |
プロバイダ |
ハートビート |
タイプ |
ファイルシステム |
デバイス |
/dev/sdc1 |
ディレクトリ |
/shared |
fstype |
xfs |
操作 |
|
is-managed |
対応 |
resource-stickiness |
100 |
target-role |
開始日 |
表 B-2 eDirectory-resourceの例
リソースID |
eDirectoryリソースの名前 |
クラス |
systemd |
タイプ |
ndsdtmpl-shared-conf-nds.conf@-shared-conf-env |
操作 |
|
target-role |
開始日 |
is-managed |
対応 |
resource-stickiness |
100 |
failure-timeout |
125 |
migration-threshold |
0 |
場所制約スコアを0に変更します。
SUSE Hawk GUIにログインします。
Edit Configuration (設定の編集)をクリックします。
制約タブで、クラスタのノード1の横にあるをクリックします。
Simple (シンプル)タブで、スコアを0に設定します。
適用をクリックします。
クラスタ内のすべてのノードに対してスコアを0に設定してください。
メモ:SUSE Hawk GUIのステータス>リソース>移行オプションを使用して、あるノードから別のノードにリソースを移行する場合は、場所制約スコアがInfinityまたは-Infintityに変わります。これにより、クラスタ内で1つのノードのみが優先され、eDirectory操作の遅延を招きます。