第5章 インデペンデントモードでのコンテナーストレージのデプロイ

任意のソリューションのデプロイメントワークフローを実行する前に、「RHGS クラスターの設定」 を完了し、「高度なインストーラー変数の指定」 を確認して Ansible 変数および Playbook の推奨事項と要件を理解するようにしてください。ストレージをスタンドアロンの Red Hat Gluster Storage クラスターとしてストレージを設定するには、目的に合ったワークフローを選択します。

注記
  • Red Hat Openshift Container Storage は、ansible ワークフローを使用したコンバージドモードとインデペンデントモードを同時にデプロイすることをサポートしていません。したがって、コンバージドモードまたはインデペンデントモードのいずれかをデプロイする必要があります。デプロイメント時に両方のモードを混在させることはできません。
  • s3 は、Ansible インストーラーを介してではなく、手動でデプロイされます。手動デプロイメントの詳細は、https://access.redhat.com/documentation/ja-jp/red_hat_openshift_container_storage/3.11/html-single/operations_guide/#S3_Object_Store を参照してください。
注記

本書では、新しいレジストリー名 registry.redhat.io が使用されます。

ただし、新規のregistryにまだ移行していない場合は、すべてのregistry.redhat.ioregistry.access.redhat.comに置き換えます(該当する場合)。

5.1. RHGS クラスターの設定

インデペンデントモードの設定では、専用の Red Hat Gluster Storage クラスターが OpenShift Container Platform の外部で利用できます。ストレージは Red Hat Gluster Storage クラスターからプロビジョニングされます。

5.1.1. Red Hat Gluster Storage Server の Red Hat Enterprise Linux へのインストール (階層化インストール)

階層型インストールでは、Red Hat Enterprise Linux に Red Hat Gluster Storage がインストールされます。

重要

ログファイルには十分な大きさ (50GB - 100GB) の別個の /var パーティション、geo-レプリケーション関連の各種ファイル、およびその他のファイルを作成することが推奨されます。

  1. Red Hat Enterprise Linux 7 Server のベースインストールの実行

    インデペンデントモードは、Red Hat Enterprise Linux 7 でのみサポートされます。

  2. システムの Subscription Manager への登録

    以下のコマンドを実行し、Red Hat Network のユーザー名およびパスワードを入力して、システムを Red Hat Network に登録します。

    # subscription-manager register
  3. 利用可能なエンタイトルメントプールの特定

    以下のコマンドを実行して、Red Hat Gluster Storage のインストールに必要なリポジトリーが含まれるエンタイトルメントプールを見つけます。

    # subscription-manager list --available
  4. システムへのエンタイトルメントプールのアタッチ

    先の手順で特定したプール ID を使用して、Red Hat Enterprise Linux Server および Red Hat Gluster Storage のエンタイトルメントをシステムにアタッチします。以下のコマンドを実行してエンタイトルメントをアタッチします。

    # subscription-manager attach --pool=[POOLID]

    以下は例になります。

    # subscription-manager attach --pool=8a85f9814999f69101499c05aa706e47
  5. 必要なチャンネルの有効化

    以下のコマンドを実行して、Red Hat Gluster Storage 3.5 を Red Hat Enterprise Linux 7.7 にインストールするために必要なリポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-7-server-rpms
    # subscription-manager repos --enable=rh-gluster-3-for-rhel-7-server-rpms
    # subscription-manager repos --enable=rhel-7-server-extras-rpms
  6. チャンネルが有効であるかどうかの確認

    以下のコマンドを実行して、チャンネルが有効であるかどうかを確認します。

    # yum repolist
  7. すべてのパッケージの更新

以下のコマンドを実行して、すべてのパッケージが最新の状態であることを確認します。

+

# yum update
  1. カーネルバージョンの要件

    インデペンデントモードでは、システムで kernel-3.10.0-862.14.4.el7.x86_64 バージョン以降を使用する必要があります。以下のコマンドを実行して、インストール済みの実行中のカーネルのバージョンを確認します。

    # rpm -q kernel
    kernel-3.10.0-862.14.4.el7.x86_64
    # uname -r
    3.10.0-862.14.4.el7.x86_64
    重要

    いずれかのカーネルパッケージを更新した場合は、以下のコマンドを実行してシステムを再起動します。

    +

    # shutdown -r now
  2. Red Hat Gluster Storage のインストール

    以下のコマンドを実行して Red Hat Gluster Storage をインストールします。

    # yum install redhat-storage-server
  3. gluster-block を有効にするには、以下のコマンドを実行します。

    # yum install gluster-block
  4. 再起動

    システムを再起動します。

5.1.2. ポートアクセスの設定

このセクションでは、インデペンデントモードで開く必要のあるポートに関する情報を提供します。

Red Hat Gluster Storage Server は、一覧表示されているポートを使用します。ファイアウォール設定が、これらのポートへのアクセスを妨げないようにしてください。

以下のコマンドを実行して、すべての Red Hat Gluster Storage ノードで、ランタイムおよび永続設定の両方で必要なポートを開きます。

# firewall-cmd --zone=zone_name --add-port=24010/tcp --add-port=3260/tcp --add-port=111/tcp --add-port=22/tcp --add-port=24007/tcp --add-port=49152-49664/tcp
# firewall-cmd --zone=zone_name --add-port=24010/tcp --add-port=3260/tcp --add-port=111/tcp --add-port=22/tcp --add-port=24007/tcp --add-port=49152-49664/tcp --permanent
注記
  • ポート 24010 と 3260 は、それぞれ gluster-blockd と iSCSI ターゲット用です。
  • 49664 で始まるポート範囲は、ボリュームのブリックとの通信に GlusterFS で使用できるポートの範囲を定義します。上記の例では、許容されるブリックの合計数は 512 です。各ノードでホストできるブリックの最大数に基づいて、ポート範囲を設定します。
  • オプション client.bind-insecure が設定されている場合、Gluster ネイティブクライアント(gfapi クライアントを含む)は、ポート 1023 または 49152 で始まる最初の利用可能なポートを使用します。

5.1.3. カーネルモジュールの有効化

以下のコマンドを実行して、カーネルモジュールを有効にします。

  1. dm_thin_pool モジュールおよび target_core_user モジュールが、Red Hat Gluster Storage ノードに読み込まれていることを確認する必要があります。

    # modprobe target_core_user
    # modprobe dm_thin_pool

    以下のコマンドを実行して、モジュールが読み込まれているかどうかを確認します。

    # lsmod | grep dm_thin_pool
    # lsmod | grep target_core_user
    注記

    これらの操作が再起動後も維持されるようにするには、以下のファイルを作成し、各ファイルを更新します。

    # cat /etc/modules-load.d/dm_thin_pool.conf
    dm_thin_pool
    # cat /etc/modules-load.d/target_core_user.conf
    target_core_user
  2. dm_multipath モジュールがすべての OpenShift Container Platform ノードに読み込まれることを確認する必要があります。

    # modprobe dm_multipath

    以下のコマンドを実行して、モジュールが読み込まれているかどうかを確認します。

    # lsmod | grep dm_multipath
    注記

    これらの操作が再起動後も維持されるようにするには、以下のファイルを作成し、上記の内容で更新します。

    # cat /etc/modules-load.d/dm_multipath.conf
    dm_multipath

5.1.4. サービスの起動と有効化

以下のコマンドを実行して、glusterd および gluster-blockd を起動します。

# systemctl start sshd
# systemctl enable sshd
# systemctl start glusterd
# systemctl enable glusterd
# systemctl start gluster-blockd
# systemctl enable gluster-blockd

5.1.5. 2 TB(以上)のブロックボリュームの作成

インデペンデントモードでブロックボリュームの 2 TB 以上(最大 2.5 TB)を作成するには、以下のように GB_CLI_TIMEOUT パラメーターを設定する必要があります。

  • /etc/sysconfig/gluster-blockd 設定ファイルを編集します。GB_CLI_TIMEOUT パラメーターのコメントを解除し、パラメーター値を 900 として更新します。