7.4. iSCSI ターゲットの設定
ストレージ管理者は、gwcli
コマンドラインユーティリティーを使用して、ターゲット、LUN、およびクライアントを 設定 できます。iSCSI ターゲットの パフォーマンスを最適化 s して、gwcli reconfigure
サブコマンドを使用することもできます。
Red Hat は、gwcli
および ceph-ansible
など、Ceph iSCSI ゲートウェイツールでエクスポートされた Ceph ブロックデバイスイメージの管理はサポートしていません。また、rbd
コマンドを使用して Ceph iSCSI ゲートウェイでエクスポートされた RBD イメージの名前を変更または削除すると、ストレージクラスターが不安定になる可能性があります。
iSCSI ゲートウェイ設定から RBD イメージを削除する前に、オペレーティングシステムからストレージデバイスを削除する標準的な手順に従います。詳細は、Red Hat Enterprise Linux 7 のストレージ管理ガイドの ストレージデバイスの削除 の章または Red Hat Enterprise Linux 8 向けの システム設計ガイド を参照してください。
7.4.1. 前提条件
- Ceph iSCSI ゲートウェイソフトウェアのインストール。
7.4.2. コマンドラインインターフェイスを使用した iSCSI ターゲットの設定
Ceph iSCSI ゲートウェイは、iSCSI ターゲットノードおよび Ceph クライアントノードです。Ceph iSCSI ゲートウェイをスタンドアロンノード上に設定するか、Ceph Object Storage Device (OSD) ノードと同じ場所に配置します。
本書に規定されているか、Red Hat サポートからの指示がない限り、gwcli reconfigure
サブコマンドを使用して他のオプションを調整しないようにしてください。
前提条件
- Ceph iSCSI ゲートウェイソフトウェアのインストール。
手順
iSCSI ゲートウェイのコマンドラインインターフェイスを起動します。
[root@iscsigw ~]# gwcli
IPv4 アドレスまたは IPv6 アドレスのいずれかを使用して iSCSI ゲートウェイを作成します。
構文
>/iscsi-targets create iqn.2003-01.com.redhat.iscsi-gw:_target_name_ > goto gateways > create ISCSI_GW_NAME IP_ADDR_OF_GW > create ISCSI_GW_NAME IP_ADDR_OF_GW
例
>/iscsi-targets 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 アドレスを混在させることはできません。
Ceph ブロックデバイスを追加します。
構文
> cd /disks >/disks/ create POOL_NAME image=IMAGE_NAME size=IMAGE_SIZE_m|g|t
例
> cd /disks >/disks/ create rbd image=disk_1 size=50g
注記プールまたはイメージ名では、ピリオド (
.
) を使用しないでください。クライアントを作成します。
構文
> goto hosts > create iqn.1994-05.com.redhat:_client_name_ > auth use username=USER_NAME password=PASSWORD
例
> goto hosts > create iqn.1994-05.com.redhat:rh7-client > auth username=iscsiuser1 password=temp12345678
重要Red Hat は、Challenge Handshake Authentication Protocol (CHAP) が一部で有効になっており、他で無効になっているなど、クライアントの混同はサポートしていません。すべてのクライアントの CHAP を有効にするか、無効にする必要があります。デフォルトの動作としては、イニシエーター名でイニシエーターを認証するだけです。
イニシエーターがターゲットへのログインに失敗した場合には、以下のように、イニシエーターに CHAP 認証が正しく設定されない場合があります。
o- hosts ................................ [Hosts: 2: Auth: MISCONFIG]
ホスト
レベルで次のコマンドを使用して、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)]
ディスクをクライアントに追加します。
構文
>/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
API が SSL が正しく使用されていることを確認するには、
/var/log/rbd-target-api.log
または/var/log/rbd-target/rbd-target-api.log
に配置されているrbd-target-api
ログファイルを (https
など) を検索します。Aug 01 17:27:42 test-node.example.com python[1879]: * Running on https://0.0.0.0:5000/
Ceph ISCSI ゲートウェイが機能していることを確認します。
/> goto gateways /iscsi-target...-igw/gateways> ls o- gateways ............................ [Up: 2/2, Portals: 2] o- ceph-gw-1 ........................ [ 10.172.19.21 (UP)] o- ceph-gw-2 ........................ [ 10.172.19.22 (UP)]
ステータスが
UNKNOWN
の場合は、ネットワークの問題と設定ミスがないか確認します。ファイアウォールを使用している場合は、適切な TCP ポートが開いていることを確認します。iSCSI ゲートウェイがtrusted_ip_list
オプションに一覧表示されていることを確認します。rbd-target-api
サービスが iSCSI ゲートウェイノードで実行されていることを確認します。必要に応じて、
max_data_area_mb
オプションを再設定します。構文
>/disks/ reconfigure POOL_NAME/IMAGE_NAME max_data_area_mb NEW_BUFFER_SIZE
例
>/disks/ reconfigure rbd/disk_1 max_data_area_mb 64
注記max_data_area_mb
オプションは、iSCSI ターゲットと Ceph クラスターの間で SCSI コマンドデータを渡す時に各イメージが使用できるメモリー量をメガバイト単位で制御します。この値が小さすぎると、キューが過剰に再試行され、パフォーマンスに影響する可能性があります。値が大きすぎると、1 つのディスクで過剰にシステムメモリーが使用あれ、他のサブシステムの割り当てに失敗する可能性があります。max_data_area_mb
オプションのデフォルト値は8
です。- iSCSI イニシエーターを設定します。
関連情報
- 詳細は、iSCSI ゲートウェイのインストール を参照してください。
- 詳細は、iSCSI イニシエーターの設定 セクションを参照してください。
7.4.3. iSCSI ターゲットのパフォーマンスの最適化
ネットワーク上で iSCSI ターゲット転送データを送信する方法を制御する設定は多数あります。これらの設定を使用して、iSCSI ゲートウェイのパフォーマンスを最適化できます。
Red Hat サポートの指示または本書の記載がない限り、この設定は変更しないでください。
gwcli reconfigure
サブコマンドは、iSCSI ゲートウェイのパフォーマンスの最適化に使用される設定を制御します。
iSCSI ターゲットのパフォーマンスに影響する設定
-
max_data_area_mb
-
cmdsn_depth
-
immediate_data
-
initial_r2t
-
max_outstanding_r2t
-
first_burst_length
-
max_burst_length
-
max_recv_data_segment_length
-
max_xmit_data_segment_length
関連情報
-
gwcli の再設定
を使用して調整する方法を示す例など、max_data_area_mb
に関する情報は、コマンドラインインターフェイスを使用した iSCSI ターゲットの設定 のセクションを参照してください。
7.4.4. ダウンしている OSD を検出するためのタイマー設定の低減
ダウンしている OSD を検出するためにタイマー設定の時間を減らす必要がある場合があります。たとえば、Red Hat Ceph Storage を iSCSI ゲートウェイとして使用する場合に、ダウンしている OSD を検出するためにタイマー設定の時間を減らすことで、イニシエーターがタイムアウトする可能性を軽減できます。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- Ansible 管理ノードへのアクセス
手順
新しいタイマー設定を使用するように Ansible を設定します。
Ansible 管理ノードで、以下のような
group_vars/all.yml
ファイルにceph_conf_overrides
セクションを追加するか、既存のceph_conf_overrides
セクションを編集します。ceph_conf_overrides: osd: osd_client_watch_timeout: 15 osd_heartbeat_grace: 20 osd_heartbeat_interval: 5
上記の設定は、Ansible Playbook の実行時に OSD ノードの
ceph.conf
設定ファイルに追加されます。ceph-ansible
ディレクトリーに移動します。[admin@ansible ~]$ cd /usr/share/ceph-ansible
Ansible を使用して
ceph.conf
ファイルを更新し、すべての OSD ノードで OSD デーモンを再起動します。Ansible 管理ノードで、以下のコマンドを実行します。ベアメタル デプロイメント
[admin@ansible ceph-ansible]$ ansible-playbook site.yml --limit osds
コンテナー デプロイメント
[admin@ansible ceph-ansible]$ ansible-playbook site-container.yml --limit osds -i hosts
タイマー設定が
ceph_conf_overrides
で設定されている値と同じであることを確認します。構文
ceph daemon osd.OSD_ID config get osd_client_watch_timeout ceph daemon osd.OSD_ID config get osd_heartbeat_grace ceph daemon osd.OSD_ID config get osd_heartbeat_interval
例
[root@osd ~]# ceph daemon osd.0 config get osd_client_watch_timeout { "osd_client_watch_timeout": "15" } [root@osd ~]# ceph daemon osd.0 config get osd_heartbeat_grace { "osd_heartbeat_grace": "20" } [root@osd ~]# ceph daemon osd.0 config get osd_heartbeat_interval { "osd_heartbeat_interval": "5" }
オプション: OSD デーモンをすぐに再起動できない場合は、Ceph Monitor ノードからオンラインの更新を行うか、全 Ceph OSD ノードを直接更新できます。OSD デーモンの再起動ができたら、上記のように Ansible を使用して新しいタイマー設定を
ceph.conf
に追加し、設定が再起動後も維持されるようにします。Ceph Monitor ノードから OSD タイマー設定のオンライン更新を実行するには、以下を実行します。
構文
ceph tell osd.OSD_ID injectargs '--osd_client_watch_timeout 15' ceph tell osd.OSD_ID injectargs '--osd_heartbeat_grace 20' ceph tell osd.OSD_ID injectargs '--osd_heartbeat_interval 5'
例
[root@mon ~]# ceph tell osd.0 injectargs '--osd_client_watch_timeout 15' [root@mon ~]# ceph tell osd.0 injectargs '--osd_heartbeat_grace 20' [root@mon ~]# ceph tell osd.0 injectargs '--osd_heartbeat_interval 5'
Ceph OSD ノードから OSD タイマー設定のオンライン更新を実行するには、以下を実行します。
構文
ceph daemon osd.OSD_ID config set osd_client_watch_timeout 15 ceph daemon osd.OSD_ID config set osd_heartbeat_grace 20 ceph daemon osd.OSD_ID config set osd_heartbeat_interval 5
例
[root@osd ~]# ceph daemon osd.0 config set osd_client_watch_timeout 15 [root@osd ~]# ceph daemon osd.0 config set osd_heartbeat_grace 20 [root@osd ~]# ceph daemon osd.0 config set osd_heartbeat_interval 5
関連情報
- Red Hat Ceph Storage を iSCSI ゲートウェイとして使用する方法は、Red Hat Ceph Storage ブロックデバイスガイドの Ceph iSCSI ゲートウェイ を参照してください。
7.4.5. コマンドラインインターフェイスを使用した iSCSI ホストグループの設定
Ceph iSCSI ゲートウェイは、同じディスク設定を共有するサーバーを複数管理するホストグループを設定できます。iSCSI ホストグループでは、ホストの論理グループと、グループ内の各ホストがアクセスできるディスクが作成されます。
複数のホストへのディスクデバイスの共有は、クラスター対応のファイルシステムを使用する必要があります。
前提条件
- Ceph iSCSI ゲートウェイソフトウェアのインストール。
- Ceph iSCSI ゲートウェイノードへの root レベルのアクセス。
手順
iSCSI ゲートウェイのコマンドラインインターフェイスを起動します。
[root@iscsigw ~]# gwcli
新規ホストグループを作成します。
構文
cd iscsi-targets/ cd IQN/host-groups create group_name=GROUP_NAME
例
/> cd iscsi-targets/ /iscsi-targets> cd iqn.2003-01.com.redhat.iscsi-gw:ceph-igw/host-groups/ /iscsi-target.../host-groups> create group_name=igw_grp01
ホストグループにホストを追加します。
構文
cd GROUP_NAME host add client_iqn=CLIENT_IQN
例
> cd igw_grp01 /iscsi-target.../host-groups/igw_grp01> host add client_iqn=iqn.1994-05.com.redhat:rh8-client
この手順を繰り返して、追加のホストをグループに追加します。
ホストグループにディスクを追加します。
構文
cd /disks/ /disks> create pool=POOL image=IMAGE_NAME size=SIZE cd /IQN/host-groups/GROUP_NAME disk add POOL/IMAGE_NAME
例
> cd /disks/ /disks> create pool=rbd image=rbdimage size=1G /> cd iscsi-targets/iqn.2003-01.com.redhat.iscsi-gw:ceph-igw/host-groups/igw_grp01/ /iscsi-target...s/igw_grp01> disk add rbd/rbdimage
この手順を繰り返して、グループにディスクを追加します。
7.4.6. 関連情報
- Red Hat Ceph Storage ダッシュボードを使用して iSCSI ターゲットを設定する方法は、Red Hat Ceph Storage ダッシュボードガイドの iSCSI ターゲットの作成 セクションを参照してください。