10.3.4.2. セキュアな Geo レプリケーションセカンダリーの環境の設定
geo レプリケーションは、権限のないアカウント (ゼロ以外の UID を持つユーザーアカウント) を使用した SSH を介した Red Hat Gluster Storage セカンダリーへのアクセスをサポートします。この方法はより安全で、セカンダリーを介してプライマリーの機能を最小限に抑えます。この機能は、権限のないセカンダリーアカウントのマウントを管理する glusterd の内部サービス
mountbroker
に依存します。適切な mountbroker's
アクセス制御ディレクティブで glusterd を設定するには、追加の手順を実行する必要があります。このプロセスの例を以下に示します。
すべての Slave ノードで以下の手順を実行し、権限のないアカウントの補助 glusterFS マウントを設定します。
- すべてのセカンダリーノードで、新しいグループを作成します。例:
geogroup
注記mountbroker
設定には、複数のグループを使用しないでください。複数のユーザーアカウントを作成できますが、グループは、root 以外のユーザーに対してすべて同じになる必要があります。 - すべてのセカンダリーノードで、権限のないアカウントを作成します。例:
geoaccount
geoaccount
をgeogroup
グループのメンバーとして追加します。 - Slave ノードのいずれかで以下のコマンドを実行し、mountbroker ルートディレクトリーおよびグループを設定します。
# gluster-mountbroker setup <MOUNT ROOT> <GROUP>
以下に例を示します。# gluster-mountbroker setup /var/mountbroker-root geogroup
- Slave ノードのいずれかで以下のコマンドを実行し、ボリュームおよびユーザーを mountbroker サービスに追加します。
# gluster-mountbroker add <VOLUME> <USER>
以下に例を示します。# gluster-mountbroker add slavevol geoaccount
- 以下のコマンドを実行して、設定のステータスを確認します。
# gluster-mountbroker status NODE NODE STATUS MOUNT ROOT GROUP USERS --------------------------------------------------------------------------------------- localhost UP /var/mountbroker-root(OK) geogroup(OK) geoaccount(slavevol) node2 UP /var/mountbroker-root(OK) geogroup(OK) geoaccount(slavevol)
出力には、セカンダリークラスター内のすべてのピアノードの mountbroker のステータスが表示されます。 - すべての Slave ノードで
Glusterd
サービスを再起動します。# service glusterd restart
すべての Slave ノードで権限のないアカウントの補助 glusterFS マウントを設定したら、以下の手順に従って root 以外の geo レプリケーションセッションを設定します。 - マスターノードのいずれかからスレーブノードの 1 つで
user
鍵ベースの認証を設定します。たとえば、ユーザー geoaccount にキーベースの SSH 認証を設定するには、次のコマンドを実行します。# ssh-keygen # ssh-copy-id -i identity_file geoaccount@slave_node_IPaddress/Hostname
- プライマリーノードで以下のコマンドを実行し、共通の pem pub ファイルを作成します。ここでは、キーベースの SSH 認証接続がセカンダリーノードの
user
に設定されます。# gluster system:: execute gsec_create
- マスターノードで以下のコマンドを実行して、マスターとスレーブ間のジオレプリケーション関係を
user
へ実行します。以下に例を示します。# gluster volume geo-replication MASTERVOL geoaccount@SLAVENODE::slavevol create push-pem
複数のセカンダリーボリュームやアカウントが複数ある場合には、その特定のユーザーやボリュームを使用して地理的なレプリケーションセッションを作成します。以下に例を示します。# gluster volume geo-replication MASTERVOL geoaccount2@SLAVENODE::slavevol2 create push-pem
- プライマリーボリュームおよびセカンダリーボリュームに対して共有ストレージを有効にします。
# gluster volume set all cluster.enable-shared-storage enable
共有ストレージについての詳細は、「共有ストレージボリュームの設定」 を参照してください。 - 関係の作成に使用されるスレーブノードで、ユーザー名、マスターボリューム名、スレーブボリューム名を引数として root として
/usr/libexec/glusterfs/set_geo_rep_pem_keys.sh
を実行します。以下に例を示します。# /usr/libexec/glusterfs/set_geo_rep_pem_keys.sh geoaccount MASTERVOL SLAVEVOL_NAME
- geo レプリケーションのメタボリュームを設定します。
# gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL config use_meta_volume true
以下に例を示します。# gluster volume geo-replication Volume1 storage.backup.com::slave-vol config use_meta_volume true
meta-volume の設定に関する詳細は、「メタボリュームの設定」 を参照してください。 - プライマリーノードで以下のコマンドを実行して、セカンダリーユーザーとして geo レプリケーションを起動します。以下に例を示します。
# gluster volume geo-replication MASTERVOL geoaccount@SLAVENODE::slavevol start
- プライマリーノードで以下のコマンドを実行して、geo レプリケーションセッションのステータスを確認します。
# gluster volume geo-replication MASTERVOL geoaccount@SLAVENODE::slavevol status
セッションの削除後の mountbroker geo レプリケーションオプションの削除
mountbroker geo レプリケーションセッションが削除された後、mountbrokerユーザーごとにボリュームを削除する必要があります。
重要
マウントブローカーからボリュームを削除する前に、まずジオレプリケーションセッションを停止して削除する必要があります。詳細は、「Geo レプリケーションセッションの停止」 および 「Geo レプリケーションセッションの削除」 を参照してください。
mountbrokerユーザーごとのボリュームを削除するには:
# gluster-mountbroker remove [--volume volume] [--user user]
以下に例を示します。
# gluster-mountbroker remove --volume slavevol --user geoaccount # gluster-mountbroker remove --user geoaccount # gluster-mountbroker remove --volume slavevol
削除するボリュームが mountbroker ユーザーの最後のボリュームである場合、ユーザーも削除されます。
重要
セキュアな geo レプリケーション設定がある場合は、コマンドで、権限のないユーザーアカウントをセカンダリーボリュームにプレフィックスを付ける必要があります。たとえば、geo レプリケーションのステータスコマンドを実行するには、以下のコマンドを実行します。
# gluster volume geo-replication MASTERVOL geoaccount@SLAVENODE::slavevol status
このコマンドでは、
geoaccount
は、権限のないユーザーアカウントの名前です。