1.7. コンテナーへの Ceph iSCSI ゲートウェイのインストール


Ansible デプロイメントアプリケーションは、コンテナーに Ceph iSCSI ゲートウェイを設定するために必要なデーモンとツールをインストールします。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスター

手順

  1. root ユーザーとして、/etc/ansible/hosts ファイルを開いて編集します。iSCSI ゲートウェイグループにノード名エントリーを追加します。

    [iscsigws]
    ceph-igw-1
    ceph-igw-2

  2. /usr/share/ceph-ansible ディレクトリーに移動します。

    [root@admin ~]# cd /usr/share/ceph-ansible/
  3. iscsigws.yml.sample ファイルのコピーを作成し、iscsigws.yml という名前を付けます。

    [root@admin ceph-ansible]# cp group_vars/iscsigws.yml.sample group_vars/iscsigws.yml
    重要

    新しいファイル名 (iscsigws.yml) と新しいセクション見出し (iscsigws) は、Red Hat Ceph Storage 3.1 以降にのみ適用されます。以前のバージョンの Red Hat Ceph Storage から 3.1 にアップグレードすると、古いファイル名 (iscsi-gws.yml) と古いセクション見出し (iscsi-gws) が引き続き使用されます。

    重要

    現在、Red Hat は、コンテナーベースのデプロイメントで ceph-ansible を使用してインストールする以下のオプションをサポートしていません。

    • gateway_iqn
    • rbd_devices
    • client_connections

    これらのオプションを手動で設定する手順について は、コンテナーでの Ceph iSCSI ゲートウェイの設定 セクションを参照してください。

  4. iscsigws.yml ファイルを開いて編集します。
  5. IPv4 アドレスまたは IPv6 アドレスを使用して、iSCSI ゲートウェイ IP アドレスを追加して、gateway_ip_list オプションを設定します。

    gateway_ip_list: 192.168.1.1,192.168.1.2

    重要

    IPv4 アドレスと IPv6 アドレスを混在させることはできません。

  6. 必要に応じて、trusted_ip_list オプションのコメントを解除し、SSL を使用する場合は IPv4 または IPv6 アドレスを適宜追加します。SSL を設定するには、iSCSI ゲートウェイコンテナーへの root アクセスが必要です。SSL を設定するには、以下の手順を実行します。

    1. 必要に応じて、すべての iSCSI ゲートウェイコンテナー内に openssl パッケージをインストールします。
    2. プライマリー iSCSI ゲートウェイコンテナーで、SSL キーを保持するディレクトリーを作成します。

      # mkdir ~/ssl-keys
      # cd ~/ssl-keys
    3. プライマリー iSCSI ゲートウェイコンテナーで、証明書とキーファイルを作成します。

      # openssl req -newkey rsa:2048 -nodes -keyout iscsi-gateway.key -x509 -days 365 -out iscsi-gateway.crt
      注記

      環境情報を入力するよう求められます。

    4. プライマリー iSCSI ゲートウェイコンテナーで、PEM ファイルを作成します。

      # cat iscsi-gateway.crt iscsi-gateway.key > iscsi-gateway.pem
    5. プライマリー iSCSI ゲートウェイコンテナーで、公開鍵を作成します。

      # openssl x509 -inform pem -in iscsi-gateway.pem -pubkey -noout > iscsi-gateway-pub.key
    6. プライマリー iSCSI ゲートウェイコンテナーから、iscsi-gateway.crtiscsi-gateway.pemiscsi-gateway-pub.key、および iscsi-gateway.key ファイルを他の iSCSI ゲートウェイコンテナーの /etc/ceph/ ディレクトリーにコピーします。
  7. 必要に応じて、次の iSCSI ターゲット API サービスオプションのいずれかを確認し、コメントを解除します。

    #api_user: admin
    #api_password: admin
    #api_port: 5000
    #api_secure: false
    #loop_delay: 1
    #trusted_ip_list: 192.168.122.1,192.168.122.2
  8. 必要に応じて、次のリソースオプションのいずれかを確認してコメントを外し、ワークロードのニーズに応じて更新します。

    # TCMU_RUNNER resource limitation
    #ceph_tcmu_runner_docker_memory_limit: 1g
    #ceph_tcmu_runner_docker_cpu_limit: 1
    
    # RBD_TARGET_GW resource limitation
    #ceph_rbd_target_gw_docker_memory_limit: 1g
    #ceph_rbd_target_gw_docker_cpu_limit: 1
    
    # RBD_TARGET_API resource limitation
    #ceph_rbd_target_api_docker_memory_limit: 1g
    #ceph_rbd_target_api_docker_cpu_limit: 1
  9. Ansible のユーザーとして、Ansible のプレイブックを実行します。

    [user@admin ceph-ansible]$ ansible-playbook site-docker.yml --limit iscsigws

    Red Hat Enterprise Linux Atomic の場合、--skip-tags=with_pkg オプションを追加します。

    [user@admin ceph-ansible]$ ansible-playbook site-docker.yml --limit iscsigws --skip-tags=with_pkg
  10. Ansible Playbook が完了したら、trusted_ip_list オプションにリストされている各ノードで、TCP ポート 3260iscsigws.yml ファイルで指定された api_port を開きます。

    注記

    api_port オプションが指定されていない場合、デフォルトのポートは 5000 です。

関連情報

  • コンテナーへの Red Hat Ceph Storage の インストールに関する詳細は、コンテナーへの Red Hat Ceph Storage クラスター のインストールセクションを参照してください。
  • Ceph の iSCSI ゲートウェイオプションの詳細については、Red Hat Ceph Storage Block Device Guide の 表 8.1 を参照してください。
  • iSCSI ターゲット API オプションの詳細については、Red Hat Ceph Storage Block Device Guide の 表 8.2 を参照してください。
  • iscsigws.yml ファイルの例については、Red Hat Ceph Storage Block Device Guide の 付録 A を参照してください。

1.7.1. コンテナーでの Ceph iSCSI ゲートウェイの設定

Ceph iSCSI ゲートウェイの設定は、iSCSI ターゲット、論理ユニット番号 (LUN)、およびアクセス制御リスト (ACL) を作成および管理するための gwcli コマンドラインユーティリティーを使用して行います。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスター
  • iSCSI ゲートウェイソフトウェアのインストール。

手順

  1. root ユーザーとして、iSCSI ゲートウェイのコマンドラインインターフェイスを開始します。

    # docker exec -it rbd-target-api gwcli
  2. IPv4 アドレスまたは IPv6 アドレスのいずれかを使用して iSCSI ゲートウェイを作成します。

    構文

    >/iscsi-target create iqn.2003-01.com.redhat.iscsi-gw:$TARGET_NAME
    > goto gateways
    > create $ISCSI_GW_NAME $ISCSI_GW_IP_ADDR
    > create $ISCSI_GW_NAME $ISCSI_GW_IP_ADDR

    >/iscsi-target create iqn.2003-01.com.redhat.iscsi-gw:ceph-igw
    > goto gateways
    > create ceph-gw-1 10.172.19.21
    > create ceph-gw-2 10.172.19.22

    重要

    IPv4 アドレスと IPv6 アドレスを混在させることはできません。

  3. RADOS ブロックデバイス (RBD) を追加します。

    構文

    > cd /disks
    >/disks/ create $POOL_NAME image=$IMAGE_NAME size=$IMAGE_SIZE[m|g|t] max_data_area_mb=$BUFFER_SIZE

    > cd /disks
    >/disks/ create rbd image=disk_1 size=50g max_data_area_mb=32

    重要

    プール名またはイメージ名にピリオド (.) を含めることはできません。

    警告

    Red Hat サポートからの指示がない限り、max_data_area_mb オプションを調整しないでください。

    max_data_area_mb オプションは、iSCSI ターゲットと Ceph クラスターの間で SCSI コマンドデータを渡す時に各イメージが使用できるメモリー量をメガバイト単位で制御します。この値が小さすぎると、パフォーマンスに影響を与える過剰なキューのフル再試行が発生する可能性があります。値が大きすぎると、1 つのディスクがシステムのメモリーを過剰に使用する結果になり、他のサブシステムの割り当てエラーを引き起こす可能性があります。デフォルト値は 8 です。

    この値は、reconfigure コマンドを使用して変更できます。このコマンドを有効にするには、イメージが iSCSI イニシエーターによって使用されていてはなりません。

    構文

    >/disks/ reconfigure max_data_area_mb $NEW_BUFFER_SIZE

    >/disks/ reconfigure max_data_area_mb 64

  4. クライアントを作成します。

    構文

    > goto hosts
    > create iqn.1994-05.com.redhat:$CLIENT_NAME
    > auth chap=$USER_NAME/$PASSWORD

    > goto hosts
    > create iqn.1994-05.com.redhat:rh7-client
    > auth chap=iscsiuser1/temp12345678

    重要

    CHAP の無効化は、Red Hat Ceph Storage 3.1 以降でのみサポートされています。Red Hat は、CHAP が有効になっているクライアントと CHAP が無効になっているクライアントの混在をサポートしていません。すべてのクライアントの CHAP を有効にするか、無効にする必要があります。デフォルトの動作としては、イニシエーター名でイニシエーターを認証するだけです。

    イニシエーターがターゲットへのログインに失敗している場合、一部のイニシエーターで CHAP 認証が正しく設定されていない可能性があります。

    o- hosts ................................ [Hosts: 2: Auth: MISCONFIG]

    hosts レベルで次のコマンドを実行して、すべての CHAP 認証をリセットします。

    /> goto hosts
    /iscsi-target...csi-igw/hosts> auth nochap
    ok
    ok
    /iscsi-target...csi-igw/hosts> ls
    o- hosts ................................ [Hosts: 2: Auth: None]
      o- iqn.2005-03.com.ceph:esx ........... [Auth: None, Disks: 4(310G)]
      o- iqn.1994-05.com.redhat:rh7-client .. [Auth: None, Disks: 0(0.00Y)]
  5. ディスクをクライアントに追加します。

    構文

    >/iscsi-target..eph-igw/hosts> cd iqn.1994-05.com.redhat:$CLIENT_NAME
    > disk add $POOL_NAME.$IMAGE_NAME

    >/iscsi-target..eph-igw/hosts> cd iqn.1994-05.com.redhat:rh7-client
    > disk add rbd.disk_1

  6. 次のコマンドを実行して、iSCSI ゲートウェイの設定を確認します。

    > ls
  7. 必要に応じて、API が SSL を正しく使用していることを確認し、/var/log/rbd-target-api.log ファイルで https を調べます。次に例を示します。

    Aug 01 17:27:42 test-node.example.com python[1879]:  * Running on https://0.0.0.0:5000/
  8. 次のステップは、iSCSI イニシエーターを設定することです。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.