Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

9.2. ストレージノードのデプロイおよびアンデプロイ

JBoss ON 環境では、複数のメトリクスストレージノードが存在する可能性があります。JBoss ON サーバーと同様に、高可用性クラウドで動作するのと同様に、複数のストレージノードが同じ環境にデプロイされ、クラスターで機能するように相互に通信します。
ノードを管理者がクラスターに追加および削除したり、環境の変更に対応して JBoss ON スクリプトを動的に使用したりできます。
注記
コンパニオンエージェントは、サーバーノード通信を有効にするために、ストレージノードと共に常にインストールされます。
デフォルトのクラスター設定では、ノードが JBoss ON サーバーにインストールおよび設定されるとすぐにデプロイされます。これらは、実際には 2 つの手順です。
  1. ビットはローカルシステムにインストールされ、ストレージノードが JBoss ON サーバーに登録されます。
  2. 新しいノード情報はクラスターにデプロイされます。
環境のプロビジョニングおよびモニタリングの要件により、ノードを自動にデプロイするか、または手動で判断できるかどうか。
警告
ノード一覧をクラスター設定にデプロイし、許可 れるホストはストレージクラスター内のデータにアクセスできます。
許可されたホスト一覧を変更できないように、rhq-storage-auth.conf ファイルへのアクセスを制限して、攻撃者がクラスターおよび保存されたデータにアクセスできるようにします。

9.2.1. ストレージノードの要件

ノードをデプロイするには、2 つの重要な要件があります。
  • すべてのストレージノードのホスト名または IP アドレス、JBoss ON サーバーおよびエージェントのホスト名およびバインドアドレスはすべて DNS で完全に解決できる必要があります。ストレージノード、サーバー、またはエージェントの IP アドレスおよびホスト名が DNS で適切にフォーマットされていない場合は、異なる JBoss ON コンポーネント間の通信はすべて失敗します。
  • ファイアウォールは、ストレージノードで使用される 2 つのポートでの通信を許可する必要があります。デフォルトでは、ポートはサーバー/クライアントの 9142 と 7100、ゴシップポートの場合はそれぞれ 9142 と 7100 です。

9.2.2. サーバーを使用したストレージノードのインストール

デフォルトでは、サーバーインストールスクリプトはストレージノードとエージェントもインストールします。
[root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl install --start
追加オプションは必要ありません。

9.2.3. サーバーのインストール前のストレージノードのインストール

サーバーをインストールする前に複数のストレージノードを作成してから、事前にインストールしたノードでサーバーをインストールできます。これは、ストレージデータベースが別個の専用のマシンにある場合にも便利です。
警告
これは高度な設定です。クラスター内のストレージノードまたはノードが適切に設定されていない場合は、クラスターが適切に機能しない可能性があります。
警告
ノード一覧をクラスター設定にデプロイし、許可 れるホストはストレージクラスター内のデータにアクセスできます。
許可されたホスト一覧を変更できないように、rhq-storage-auth.conf ファイルへのアクセスを制限して、攻撃者がクラスターおよび保存されたデータにアクセスできるようにします。
重要
すべてのストレージノードは、同じクライアント(CQL)とゴシップポートを使用する必要があります。
さらに、全ストレージノードシステムのホスト名および IP アドレスは、DNS で完全に解決できるか、各システムの hosts ファイルで設定する必要があります。
  1. 使用するノードおよびクラスター設定情報を判別します。
    • ノードをホストする各システムのホスト名または IP アドレスを特定します。
    • クラスターが通信に使用する 2 つのポートを定義します(デフォルトでは、9142 および 7100)。
  2. ストレージノードをインストールする前に、ノード とクラスター情報をすべて指定してストレージプロパティーファイルを編集します。
    [root@server ~]# vim serverRoot/jon-server-3.3.0.GA/bin/rhq-storage.properties
    たとえば、この rhq.storage.seeds パラメーターで設定される 3 つのノードを設定します。
    rhq.storage.cql-port=9142
    rhq.storage.gossip-port=7100
    rhq.storage.seeds=192.68.0.0, 192.68.0.1, 192.68.0.2
    start=false
  3. コンパニオンエージェントを使用して、各システムにストレージノードをインストールします。サーバーが インストールされていない場合でも、JBoss ON サーバーの IP アドレスが必要です。
    この時点で、ストレージノードやエージェントは起動しないでください。インストールスクリプトに --start オプションを使用しないでください。
    [root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl install --storage --agent-preference="rhq.agent.server.bind-address=192.68.0.2"
  4. 各ストレージノードについて、ローカル rhq-storage-auth.conf ファイルを編集します。これにより、クラスター内のすべてのストレージノードのホスト名または IP アドレスが 1 行ごとに一覧表示されます。
    [root@server ~]# vim serverRoot/jon-server-3.3.0.GA/rhq-storage/conf/rhq-storage-auth.conf 
    
    192.68.0.0
    192.68.0.1
    192.68.0.2
    サーバーの設定後、ローカルエージェントはノードのホスト名または IP アドレスで rhq-storage-auth.conf ファイルを更新し、クラスターからデプロイされ、削除されます。
  5. 各ノードを起動します。
    [root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl start --storage
  6. サーバーをインストールする前に、rhq-server.properties ファイルを編集してストレージノードの接続情報を追加します。
    rhq.storage.nodes パラメーターに一覧表示されるカンマ区切りの各ストレージノードを追加します。次に、クライアントとゴシップポートの値を追加します。
    [root@server ~]# vim serverRoot/jon-server-3.3.0.GA/bin/rhq-server.properties
    
    rhq.storage.nodes=192.68.0.0,192.68.0.1,192.68.0.2
    rhq.storage.cql-port=9142
    rhq.storage.gossip-port=7100
  7. サーバーとエージェントをインストールします。--server および --agent オプションを指定すると、これら 2 つのコンポーネントのみがインストールされます。ストレージデータベースは除外されます。
    [root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl install --server --agent --start
    既存の JBoss ON エージェントをアップグレードする場合は、--use-remote-storage-note オプションを指定してアップグレードスクリプトを実行し、ストレージノードをインストールするのではなくプロパティーファイルからストレージデータベース情報をロードします。
    [root@server]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl upgrade --use-remote-storage-node=true

9.2.4. 追加ノードのインストール

新しいストレージノードを作成する際には、ストレージノードとコンパニオンエージェントの 2 つのコンポーネントが常にインストールされます。ノードをセットアップするのに必要な唯一の情報は JBoss ON サーバーの IP アドレスです。エージェントはサーバーに登録してから、ストレージノードのホスト名または IP アドレスを送信します。その後、サーバーは他のエージェント間でその情報を配布し、クラスターに伝播されます。
クラスターがカスタムクライアントおよびゴシップポートを使用している場合は、インストールスクリプトを実行する前に正しいポートで rhq-storage.properties ファイルを編集します。
--agent-preference オプションを指定してインストールスクリプトを実行し、サーバーバインドアドレスを指定します。例:
[root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl install --storage --agent-preference="rhq.agent.server.bind-address=0.0.0.0"
注記
Linux にインストールする場合は、root で rhqctl コマンドを実行する必要があります。Windows では、オプションを使用してコマンドプロンプトを開く必要があり Run as Administratorます。
新規ノード情報は既存ノード間で伝播されるため、デプロイメント操作が完了するまで数分かかる場合があります。deploy 操作が完了するまで、ノードには Joining のステータスが表示されます。

図9.2 クラスターの参加

クラスターの参加
警告
ノード一覧をクラスター設定にデプロイし、許可 れるホストはストレージクラスター内のデータにアクセスできます。
許可されたホスト一覧を変更できないように、rhq-storage-auth.conf ファイルへのアクセスを制限して、攻撃者がクラスターおよび保存されたデータにアクセスできるようにします。

9.2.5. ノードの自動デプロイメントの設定

適切なポートおよびクラスター設定でノードを作成すると、即座にクラスターに参加するか、基本的にスタンバイ状態で待ってから、後で手動でデプロイできます。これは、クラスター全体の設定で決定されます。
これは、マシンがプロビジョニングされ、(仮想環境など)繰り返しオフラインにする場合や、ノードが特定の期間中のみオンラインになる必要がある場合に便利です。
  1. トップナビゲーションバーの Administration タブをクリックします。
  2. 左側の Topology エリアで Storage Nodes 項目を選択します。
  3. Cluster Settings タブを開きます。
  4. Automatic Deployment オプションは、ストレージノードを JBoss ON にインストールされるとすぐにクラスターにデプロイするか、または手動でデプロイするのを待機するかどうかを設定します。
    デフォルトでは、ノードを自動的にデプロイします。これは、環境に他のプロビジョニングルールがある場合に変更できます。
  5. ページの Save 下部をクリックします。

9.2.6. ノードの手動によるデプロイ

デフォルトでは、新しいストレージノードがインストールされると、自動的にクラスターにデプロイされます。ただし、自動デプロイメントが無効の場合は、新規ノードが作成後に手動でデプロイされる必要があります。
警告
ノード一覧をクラスター設定にデプロイし、許可 れるホストはストレージクラスター内のデータにアクセスできます。
許可されたホスト一覧を変更できないように、rhq-storage-auth.conf ファイルへのアクセスを制限して、攻撃者がクラスターおよび保存されたデータにアクセスできるようにします。
  1. rhqctl install コマンドを使用してノードをインストールします。
  2. トップナビゲーションバーの Administration タブをクリックします。
  3. 左側の Topology エリアで Storage Nodes 項目を選択します。
  4. Nodes タブで、デプロイするノードの行を選択します。
  5. Deploy ボタンをクリックします。
ストレージノードリソースで Deploy 操作を実行して、ノードをデプロイすることもできます。
注記
ストレージノードは、JBoss ON CLI とスクリプトを使用してデプロイできます。これは、インフラストラクチャーに新しいシステムをプロビジョニングする場合に便利です。
例:
// deploy a storage node 
nodes = StorageNodeManager.findStorageNodesByCriteria(StorageNodeCriteria()); 
node = nodes.get(0); StorageNodeManager.deployStorageNode(node);
これは、インフラストラクチャーの要求に応じてストレージノードを動的に追加する際にキーとなることができます。ノードを事前にインストールしてから、必要に応じてホットデプロイおよび削除することができます。

9.2.7. ノードの削除

ストレージノードをアンデプロイすると、クラスターからリソースが削除され、インベントリーからリソースが削除され、ストレージノードのビットがマシンからアンインストールされます。
  1. トップナビゲーションバーの Administration タブをクリックします。
  2. 左側の Topology エリアで Storage Nodes 項目を選択します。
  3. Nodes タブで、削除するノードの行を選択します。複数の行を選択するには、Ctrl キーを保持し、希望の行をクリックします。
  4. Undeploy Selected ボタンをクリックして操作を確認します。
また、ストレージノードリソースで Undeploy 操作を実行してノードを削除することもできます。
注記
ストレージノードは、JBoss ON CLI およびスクリプトを使用して削除することもできます。これは、インフラストラクチャーからシステムのプロビジョニングおよび削除を行う場合に便利です。
例:
// undeploy a storage node 
nodes = StorageNodeManager.findStorageNodesByCriteria(StorageNodeCriteria()); 
node = nodes.get(0); StorageNodeManager.undeployStorageNode(node);