差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
ja:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers [2022/06/12 04:21] – [NFS クライアントの設定] junichi | ja:documentation:07_technical_annexes:10_share_var_spool_directory_between_several_pandora_servers [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== サーバデータディレクトリの複数 Pandora サーバでの共有 ====== | ||
- | {{indexmenu_n> | ||
- | |||
- | [[ja: | ||
- | |||
- | ===== 概要 ===== | ||
- | |||
- | Pandora FMS データサーバは、 / | ||
- | |||
- | このディレクトリはまた、Pandora コンソールからもアクセスできる必要があります。エージェントに送信する設定やコレクションにアクセスするためです。 | ||
- | |||
- | 複数のコンソールと複数のサーバがある場合、それぞれのコンソールは、サーバが対応しているエージェントを管理することができます。 | ||
- | |||
- | ここで、複数の Pandora サーバが共通の環境で動作している場合を想定します。 | ||
- | |||
- | {{ wiki: | ||
- | |||
- | それぞれのサーバのエージェントは、< | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | コレクションの管理を簡単にするため、異なるコンソール間での // | ||
- | </ | ||
- | |||
- | ==== どちらの手法が良いか? | ||
- | ファイルの共有には、NFS および GlusterFS の両方が利用できますが、環境によって最適な方法は異なります。 | ||
- | * // | ||
- | * //Pandora FMS サーバ// にデータが保存されていたり、(ソフトウエアレベルの)冗長化が求められる場合は、**GlusterFS** をお勧めします。 | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | HA 環境では、data_in の中の //conf//, //md5//, // | ||
- | </ | ||
- | |||
- | ===== NFS 設定 ===== | ||
- | |||
- | ==== はじめに ==== | ||
- | < | ||
- | |||
- | yum install -y nfs-utils | ||
- | |||
- | ==== NFS サーバの設定 ==== | ||
- | <WRAP center round important 60%> | ||
- | NFS サーバは、Pandora FMS サーバとは **別サーバ** であることが重要です。Pandora FMS サーバの 1つが NFS サーバーとして設定されていて、クライアントが接続できない障害があった場合、共有ファイルはアクセスできなくなり、Pandora FMS における **エラーの原因** となります。 別のサーバを使用できない場合は、代わりに // | ||
- | </ | ||
- | |||
- | / | ||
- | |||
- | < | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | </ | ||
- | |||
- | ここで、[CLIENT_IP] は、リソースを共有するシステムの IP アドレスを意味します。 | ||
- | |||
- | < | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | / | ||
- | </ | ||
- | |||
- | システムのファイアーウォールがある場合は、必要なポートを開けます。 | ||
- | |||
- | < | ||
- | # CentOS | ||
- | firewall-cmd --permanent --zone=public --add-service=nfs | ||
- | firewall-cmd --reload | ||
- | </ | ||
- | |||
- | 設定が完了したらサービスを開始します。 | ||
- | |||
- | < | ||
- | # CentOS | ||
- | service rpcbind start | ||
- | service nfs-server start | ||
- | service nfs-lock start | ||
- | service nfs-idmap start | ||
- | </ | ||
- | |||
- | システム起動時に NFS が開始されるように設定します。 | ||
- | |||
- | < | ||
- | chkconfig rpcbind on | ||
- | chkconfig nfs-server on | ||
- | chkconfig nfs-lock on | ||
- | chkconfig nfs-idmap on | ||
- | </ | ||
- | |||
- | /etc/export の設定を変更したら、nfs-server を再起動します。 | ||
- | |||
- | systemctl restart nfs-server | ||
- | |||
- | ==== NFS クライアントの設定 ==== | ||
- | 最初にディレクトリをバックアップします。 | ||
- | |||
- | mv / | ||
- | |||
- | **< | ||
- | |||
- | < | ||
- | echo " | ||
- | echo " | ||
- | </ | ||
- | |||
- | フォルダーのパーミッションを確認します。 | ||
- | |||
- | < | ||
- | chown pandora: | ||
- | chmod 770 / | ||
- | </ | ||
- | |||
- | |||
- | リモートのディスクをマウントできるか確認します。 | ||
- | |||
- | < | ||
- | mount -t nfs [IP_SERVIDOR_NFS]:/ | ||
- | mount -t nfs [IP_SERVIDOR_NFS]:/ | ||
- | mount -t nfs [IP_SERVIDOR_NFS]:/ | ||
- | mount -t nfs [IP_SERVIDOR_NFS]:/ | ||
- | </ | ||
- | |||
- | ここで、[IP_SERVIDOR_NFS] は、NFS サービスを提供するサーバの IP アドレスです。 | ||
- | |||
- | 例: | ||
- | |||
- | < | ||
- | mount -t nfs 192.168.70.10:/ | ||
- | mount -t nfs 192.168.70.10:/ | ||
- | mount -t nfs 192.168.70.10:/ | ||
- | mount -t nfs 192.168.70.10:/ | ||
- | </ | ||
- | |||
- | 上記のコマンドが失敗した場合は、以下を確認します。 | ||
- | * ファイアーウォールの状態 | ||
- | * root で実行しているかどうか | ||
- | * マウントポイントのディレクトリが存在するかどうか | ||
- | |||
- | ここまでですべて問題がなければ、再起動した時に自動的にマウントされるように **/ | ||
- | |||
- | /etc/fstab ファイルに次の行を追加します。 | ||
- | |||
- | < | ||
- | [NFS_SERVER_IP]:/ | ||
- | [NFS_SERVER_IP]:/ | ||
- | [NFS_SERVER_IP]:/ | ||
- | [NFS_SERVER_IP]:/ | ||
- | [NFS_SERVER_IP]:/ | ||
- | </ | ||
- | |||
- | ここで、[NFS_SERVER_IP] は、NFS サービスを提供しているサーバの IP アドレスです。 | ||
- | |||
- | ===== Tentacle サーバを NFS 同時アクセス用に設定する ===== | ||
- | |||
- | 環境の準備ができたら、両方のコンピュータの Tentacle サーバを設定して、XML ファイルが別々のフォルダーに分散されるようにし、データサーバーが両方の Pandora FMS サーバでファイルを処理するときの同時実行を回避します。 | ||
- | |||
- | それには、/ | ||
- | |||
- | < | ||
- | mkdir / | ||
- | mkdir / | ||
- | </ | ||
- | |||
- | 両方のディレクトリのパーミッションを調整します。 | ||
- | |||
- | < | ||
- | chmod pandora: | ||
- | chmod pandora: | ||
- | </ | ||
- | |||
- | / | ||
- | |||
- | TENTACLE_EXT_OPTS=" | ||
- | |||
- | サーバ 1 では、次のようになります。 | ||
- | |||
- | TENTACLE_EXT_OPTS=" | ||
- | |||
- | サーバ 2 では、次のようになります。 | ||
- | |||
- | TENTACLE_EXT_OPTS=" | ||
- | |||
- | 最後に、両方の Pandora FMS サーバの設定ファイルを次のように編集します。 | ||
- | |||
- | < | ||
- | # Pandora FMS server number 1 | ||
- | # incomingdir: | ||
- | # You could set directory relative to base path or absolute, starting with / | ||
- | incomingdir / | ||
- | </ | ||
- | |||
- | < | ||
- | # Pandora FMS server number 2 | ||
- | # incomingdir: | ||
- | # You could set directory relative to base path or absolute, starting with / | ||
- | incomingdir / | ||
- | </ | ||
- | |||
- | すべての変更が完了したら、両方のサーバで pandora_server サービスと tentacle_serverd サービスの両方を再起動します。 | ||
- | |||
- | ===== GlusterFS 設定 ===== | ||
- | |||
- | GlusterFS を使用すると、サーバ間で Pandora FMS のキーディレクトリを共有できるため、いずれかのサーバがアクセスできない場合でもデータを利用できます。 | ||
- | このシステムのにより、常にアクティブなリソースがあり、すべてのサーバが機能していなくてもデータにアクセスできます。 | ||
- | |||
- | ==== 必要条件 ==== | ||
- | * **Selinux** は無効化もしくは正しくルールを設定する必要があります。 | ||
- | * **ファイアーウォール** は無効化または正しくルールを設定する必要があります。 | ||
- | * **ポート 24009/tcp** が開いている必要があります。 | ||
- | * **/ | ||
- | * **パーティショニングをしていない追加ディスク** を全サーバに用意する必要があります。 | ||
- | |||
- | |||
- | ==== パッケージインストール ==== | ||
- | GlusterFS をインストールするために、現状のバージョンを検索します。 | ||
- | |||
- | yum search centos-release-gluster | ||
- | |||
- | 最新の LTS 安定バージョンをインストールします。 | ||
- | |||
- | < | ||
- | yum install centos-release-gluster37 | ||
- | yum install glusterfs glusterfs-cli glusterfs-libs glusterfs-fuse | ||
- | </ | ||
- | |||
- | ==== XFS パーティションの作成 (ブロック) ==== | ||
- | <WRAP center round tip 60%> | ||
- | このガイドでは、サンプルサーバとして // | ||
- | </ | ||
- | |||
- | /dev/xvdb ディスクを使って新たな物理ボリュームを作成します。 | ||
- | |||
- | < | ||
- | pvcreate /dev/xvdb | ||
- | | ||
- | </ | ||
- | |||
- | /var/xvdb にボリュームグループを作成します。 | ||
- | |||
- | < | ||
- | vgcreate vg_gluster /dev/xvdb | ||
- | | ||
- | </ | ||
- | |||
- | 両クラスタノードの XFS ブロックとして brick1 ボリュームを作成します。割り当てる容量を //-L// パラメータで指定します。 | ||
- | |||
- | < | ||
- | lvcreate -L 5G -n brick1 vg_gluster | ||
- | | ||
- | </ | ||
- | |||
- | 他には、ディスクのパーセンテージで容量を割り当てることもできます。 | ||
- | |||
- | lvcreate -l 100%FREE -n brick1 vg_gluster | ||
- | |||
- | ファイルシステムを XFS として設定します。 | ||
- | |||
- | mkfs.xfs / | ||
- | |||
- | マウントポイントを作成し、XFS ブロックをマウントします。 | ||
- | |||
- | < | ||
- | mkdir -p / | ||
- | mount / | ||
- | </ | ||
- | |||
- | /etc/fstab ファイルを開き、次の行を追加します。 | ||
- | |||
- | / | ||
- | |||
- | 両ノードで、glusterfsd.service を有効化し、開始します。 | ||
- | |||
- | systemctl enable glusterd.service --now | ||
- | |||
- | 最初の GlusterFS ノードから 2台目へ接続し、信頼されたプール(ストレージクラスタ)を作成します。 | ||
- | |||
- | < | ||
- | | ||
- | peer probe: success. | ||
- | </ | ||
- | |||
- | クラスタの相手を確認します。 | ||
- | |||
- | < | ||
- | gluster peer status | ||
- | Number of Peers: 1 | ||
- | Hostname: gluster2.example.com | ||
- | Uuid: e528dc23-689c-4306-89cd-1d21a2153057 | ||
- | | ||
- | | ||
- | </ | ||
- | |||
- | ==== HA ボリュームの作成 ==== | ||
- | **HA 同期ボリューム** を作成するためには、両ノードの XFS パーティション / | ||
- | |||
- | / | ||
- | |||
- | mkdir / | ||
- | |||
- | GlusterFS 同期ボリュームを作成します。 | ||
- | |||
- | <WRAP center round important 60%> | ||
- | このコマンドは、**1台のノードでのみ** 実行します。(例では // | ||
- | </ | ||
- | |||
- | < | ||
- | gluster volume create glustervol1 replica 2 transport tcp gluster1.example.com:/ | ||
- | gluster2.example.com:/ | ||
- | volume create: glustervol1: | ||
- | </ | ||
- | |||
- | < | ||
- | gluster volume start glustervol1 | ||
- | volume start: glustervol1: | ||
- | </ | ||
- | |||
- | GlusterFS ボリュームを確認します。 | ||
- | |||
- | < | ||
- | gluster volume info all | ||
- | Volume Name: glustervol1 | ||
- | Type: Replicate | ||
- | Volume ID: 6953a675-f966-4ae5-b458-e210ba8ae463 | ||
- | Status: Started | ||
- | Number of Bricks: 1 x 2 = 2 | ||
- | Transport-type: | ||
- | Bricks: | ||
- | Brick1: gluster1.example.com:/ | ||
- | Brick2: gluster2.example.com:/ | ||
- | Options Reconfigured: | ||
- | | ||
- | </ | ||
- | |||
- | |||
- | ==== クライアントでのボリュームのマウント ==== | ||
- | GlusterFS のクライアントパッケージをインストールします。 | ||
- | |||
- | yum install glusterfs glusterfs-fuse attr -y | ||
- | |||
- | Pandora FMS ファイルのためのフォルダを作成します。 | ||
- | |||
- | mkdir / | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | / | ||
- | </ | ||
- | |||
- | クライアントで GlusterFS ボリュームをマウントします。 | ||
- | |||
- | mount -t glusterfs gluster1.example.com:/ | ||
- | |||
- | /etc/fstab へ次の行を追加します。 | ||
- | |||
- | gluster1.example.com:/ | ||
- | |||
- | |||
- | パーティションを / | ||
- | |||
- | < | ||
- | cd / | ||
- | mkdir collections md5 conf netflow attachment | ||
- | </ | ||
- | |||
- | オリジナルの / | ||
- | |||
- | < | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | cp -rp / | ||
- | </ | ||
- | |||
- | 古いフォルダを削除します。 | ||
- | |||
- | < | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | rm -rf / | ||
- | </ | ||
- | |||
- | 両方のサーバでシンボリックリンクを作成します。 | ||
- | |||
- | < | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | ln -s / | ||
- | </ | ||
- | |||
- | <WRAP center round tip 60%> | ||
- | これで設定は完了で、両サーバで Pandora FMS のキーディレクトリを共有するようになります。共有ボリュームを増やしたい場合は、このガイドの次の章(ボリュームの追加)を参照してください。 | ||
- | </ | ||
- | |||
- | ==== ボリュームの追加 ==== | ||
- | GlusterFS ボリュームは、ブロック数を増やすことにより停止することなく容量を拡張することができます。 | ||
- | |||
- | それには、最初のステップど同様に次のように新たなディスクを作成する必要があります。 | ||
- | |||
- | < | ||
- | lvcreate -L 5G -n brick2 vg_gluster | ||
- | Logical volume " | ||
- | </ | ||
- | |||
- | XFS として設定します。 | ||
- | |||
- | mkfs.xfs / | ||
- | |||
- | 新たなマウントポイントを作成し、新たなブロックをマウントします。 | ||
- | |||
- | < | ||
- | mkdir -p / | ||
- | mount / | ||
- | </ | ||
- | |||
- | /etc/fstab に追記します。 | ||
- | |||
- | / | ||
- | |||
- | 新たなブロックのフォルダを作成します。 | ||
- | |||
- | mkdir / | ||
- | |||
- | ボリュームを拡大します。 | ||
- | |||
- | < | ||
- | gluster volume add-brick glustervol1 gluster1.example.com:/ | ||
- | gluster2.example.com:/ | ||
- | </ | ||
- | |||
- | ボリュームを確認します。 | ||
- | |||
- | < | ||
- | gluster volume info glustervol1 | ||
- | Volume Name: glustervol1 | ||
- | Type: Distributed-Replicate | ||
- | Volume ID: 6953a675-f966-4ae5-b458-e210ba8ae463 | ||
- | Status: Started | ||
- | Number of Bricks: 2 x 2 = 4 | ||
- | Transport-type: | ||
- | Bricks: | ||
- | Brick1: gluster1.example.com:/ | ||
- | Brick2: gluster2.example.com:/ | ||
- | Brick3: gluster1.example.com:/ | ||
- | Brick4: gluster2.example.com:/ | ||
- | </ | ||
- | |||
- | リバランシングの前にディスク使用量を確認します。 | ||
- | |||
- | df -h | grep brick | ||
- | |||
- | リバランス: | ||
- | |||
- | gluster volume rebalance glustervol1 start | ||
- | |||
- | リバランスの確認: | ||
- | |||
- | gluster volume rebalance glustervol1 status | ||
- | |||
- | ディスク使用量の再確認: | ||
- | |||
- | df -h | grep brick | ||
- | |||
- | ブロック内のファイル確認: | ||
- | |||
- | ls -l / | ||
- | |||