22 Ceph iSCSI Gateway #
この章では、iSCSI Gatewayに関連する管理タスクに焦点を当てて説明します。展開手順については、8.3.5項 「iSCSI Gatewayの展開」を参照してください。
22.1 ceph-iscsi
管理対象ターゲット #
この章では、Linux、Microsoft Windows、またはVMwareが実行されているクライアントからceph-iscsi
管理対象ターゲットに接続する方法について説明します。
22.1.1 open-iscsi
への接続 #
ceph-iscsi
を利用するiSCSIターゲットにopen-iscsi
で接続するのは、2段階のプロセスです。まず、イニシエータがゲートウェイホスト上で利用可能なiSCSIターゲットを検出し、ログインして、利用可能なLU (論理ユニット)をマップする必要があります。
どちらの手順でもopen-iscsi
デーモンが実行されている必要があります。open-iscsi
デーモンの起動方法はLinux配布パッケージによって異なります。
SLES (SUSE Linux Enterprise Server)およびRHEL (Red Hat Enterprise Linux)のホストでは、
systemctl start iscsid
(または、systemctl
が利用できない場合はservice iscsid start
)を実行します。DebianおよびUbuntuのホストでは、
systemctl start open-iscsi
(またはservice open-iscsi start
)を実行します。
イニシエータホストでSUSE Linux Enterprise Serverが実行されている場合、iSCSIターゲットへの接続方法については、https://documentation.suse.com/sles/15-SP1/single-html/SLES-storage/#sec-iscsi-initiatorを参照してください。
open-iscsi
をサポートするその他のLinux配布パッケージでは、次に進んでceph-iscsi
ゲートウェイ上でターゲットを検出します(この例では、iscsi1.example.comをポータルアドレスとして使用します。マルチパスアクセスの場合は、iscsi2.example.comでこれらの手順を繰り返します)。
#
iscsiadm -m discovery -t sendtargets -p iscsi1.example.com
192.168.124.104:3260,1 iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol
続いて、ポータルにログインします。ログインが正常に完了した場合、ポータル上でRBDを利用する論理ユニットは、ただちにシステムSCSIバス上で利用可能になります。
#
iscsiadm -m node -p iscsi1.example.com --login
Logging in to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] (multiple)
Login to [iface: default, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
他のポータルIPアドレスまたはホストに対して、このプロセスを繰り返します。
システムにlsscsi
ユーティリティがインストールされている場合は、そのユーティリティを使用して、システムで利用可能なSCSIデバイスを列挙します。
lsscsi [8:0:0:0] disk SUSE RBD 4.0 /dev/sde [9:0:0:0] disk SUSE RBD 4.0 /dev/sdf
マルチパス設定(接続されている2台のiSCSIデバイスが1台の同一のLUを表す)では、multipath
ユーティリティでマルチパスデバイスの状態を調べることもできます。
#
multipath -ll
360014050cf9dcfcb2603933ac3298dca dm-9 SUSE,RBD
size=49G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 8:0:0:0 sde 8:64 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 9:0:0:0 sdf 8:80 active ready running
これで、このマルチパスデバイスをBlock Deviceと同じように使用できます。たとえば、デバイスをLinux LVM (論理ボリューム管理)の物理ボリュームとして使用したり、単にデバイス上にファイルシステムを作成したりできます。次の例は、新しく接続されたマルチパスiSCSIボリューム上にXFSファイルシステムを作成する方法を示しています。
#
mkfs -t xfs /dev/mapper/360014050cf9dcfcb2603933ac3298dca
log stripe unit (4194304 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/mapper/360014050cf9dcfcb2603933ac3298dca isize=256 agcount=17, agsize=799744 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=12800000, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=6256, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
XFSは非クラスタ化ファイルシステムであるため、特定の時点で1つのiSCSIイニシエータノードにのみマウントできます。
特定のターゲットに関連付けられているiSCSI LUの使用を中止したい場合は、次のコマンドを実行します。
#
iscsiadm -m node -p iscsi1.example.com --logout
Logging out of session [sid: 18, iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260]
Logout of [sid: 18, target: iqn.2003-01.org.linux-iscsi.iscsi.SYSTEM-ARCH:testvol, portal: 192.168.124.104,3260] successful.
ディスカバリおよびログインの場合と同様に、ポータルのすべてのIPアドレスまたはホスト名に対してログアウト手順を繰り返す必要があります。
22.1.1.1 マルチパスの設定 #
マルチパス設定はクライアントまたはイニシエータ上で管理され、ceph-iscsi
設定とは無関係です。ブロックストレージを使用する前にストラテジーを選択します。/etc/multipath.conf
を編集した後、次のコマンドを使用してmultipathd
を再起動します。
#
systemctl restart multipathd
フレンドリ名を使用するアクティブ-パッシブ設定では、次の記述を設定ファイルに追加します。
defaults { user_friendly_names yes }
追加先のファイルは/etc/multipath.conf
です。ターゲットに正常に接続したら、次のコマンドを実行します。
#
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-0 SUSE,RBD
size=2.0G features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 2:0:0:3 sdl 8:176 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 3:0:0:3 sdj 8:144 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 4:0:0:3 sdk 8:160 active ready running
各リンクの状態に注意してください。アクティブ-アクティブ設定の場合は、次の記述を設定ファイルに追加します。
defaults { user_friendly_names yes } devices { device { vendor "(LIO-ORG|SUSE)" product "RBD" path_grouping_policy "multibus" path_checker "tur" features "0" hardware_handler "1 alua" prio "alua" failback "immediate" rr_weight "uniform" no_path_retry 12 rr_min_io 100 } }
追加先のファイルは/etc/multipath.conf
です。multipathd
を再起動して、次のコマンドを実行します。
#
multipath -ll
mpathd (36001405dbb561b2b5e439f0aed2f8e1e) dm-3 SUSE,RBD
size=2.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
|- 4:0:0:3 sdj 8:144 active ready running
|- 3:0:0:3 sdk 8:160 active ready running
`- 2:0:0:3 sdl 8:176 active ready running
22.1.2 Microsoft Windows (Microsoft iSCSIイニシエータ)に接続 #
Windows 2012サーバからSUSE Enterprise StorageのiSCSIターゲットに接続するには、次の手順に従います。
Windowsサーバ マネージャーを開きます。ダッシュボードから、
› を選択します。 ダイアログが表示されます。 タブを選択します。図 22.1: iSCSIイニシエータのプロパティ #- 図 22.2: ターゲットポータルの探索 #
他のすべてのゲートウェイホストの名前またはIPアドレスに対して、このプロセスを繰り返します。完了したら、
リストを確認します。図 22.3: ターゲットポータル #次に、
タブに切り替えて、検出されたターゲットを確認します。図 22.4: ターゲット #- 図 22.5: iSCSIターゲットのプロパティ #
- 図 22.6: デバイスの詳細 #
デフォルトの
は です。純粋なフェールオーバー設定が必要な場合は、 に変更します。
これでiSCSIイニシエータの設定は終了です。iSCSIボリュームを他のSCSIデバイスと同じように利用できるようになり、初期化してボリュームやドライブとして使用できます。
をクリックして ダイアログを閉じて、 ダッシュボードから の役割に進みます。新しく接続されたボリュームを確認します。これはiSCSIバス上で「SUSE RBD SCSI Multi-Path Drive (SUSE RBD SCSIマルチパスデバイス)」として識別されており、初期状態では、状態に「オフライン」、パーティションテーブルタイプに「不明」のマークが付いています。新しいボリュームがすぐに表示されない場合は、 ドロップダウンボックスから を選択して、iSCSIバスを再スキャンします。
iSCSIボリュームを右クリックして、コンテキストメニューから
を選択します。 が表示されます。 をクリックして、新しく接続されたiSCSIボリュームを強調表示し、 をクリックして開始します。図 22.7: 新しいボリュームウィザード #初期状態では、デバイスは空でパーティションテーブルを含みません。プロンプトが表示されたら、ボリュームがGPTパーティションテーブルで初期化されることを示すダイアログを確認します。
図 22.8: オフラインディスクのプロンプト #ボリュームサイズを選択します。通常は、デバイスの全容量を使用します。続いて、新しく作成されたボリュームを利用できるドライブ文字またはディレクトリ名を割り当てます。次に、新しいボリューム上に作成するファイルシステムを選択します。最後に、選択内容を確認して
をクリックし、ボリュームの作成を完了します。図 22.9: ボリュームの選択内容の確認 #プロセスが完了したら、結果を確認し、
をクリックしてドライブの初期化を完了します。初期化が完了すると、このボリューム(およびそのNTFSファイルシステム)は、新しく初期化されたローカルドライブと同じように利用可能になります。
22.1.3 VMwareの接続 #
ceph-iscsi
で管理されているiSCSIボリュームに接続するには、設定済みのiSCSIソフトウェアアダプタが必要です。現在のvSphere設定でこのアダプタが利用できない場合は、 › › › の順に選択して作成します。アダプタが利用可能になったら、アダプタを右クリックしてコンテキストメニューから
を選択し、アダプタのプロパティを選択します。図 22.10: iSCSIイニシエータのプロパティ #ceph-iscsi
iSCSI GatewayのIPアドレスまたはホスト名を入力します。複数のiSCSI Gatewayをフェールオーバー設定で実行する場合は、運用するゲートウェイの数だけこの手順を繰り返します。図 22.11: ターゲットサーバの追加 #すべてのiSCSI Gatewayを入力したら、ダイアログで
をクリックして、iSCSIアダプタの再スキャンを開始します。再スキャンが完了すると、新しいiSCSIデバイスが
ペインの リストの下に表示されます。マルチパスデバイスの場合は、アダプタを右クリックして、コンテキストメニューから を選択します。図 22.12: マルチパスデバイスの管理 #これで、
にすべてのパスが緑色のマークで表示されます。パスの1つに のマークが付いていて、他のすべてには単に のマークが付いている必要があります。図 22.13: マルチパスのパスの一覧 #- 図 22.14: ストレージの追加ダイアログ #
- 図 22.15: カスタム領域設定 #
新しいデータストアがデータストアのリストに表示され、そのデータストアを選択して詳細を取得できます。これで、vSphereの他のデータストアと同じように、
ceph-iscsi
を利用するiSCSIボリュームを使用できるようになります。図 22.16: iSCSIデータストアの概要 #
22.2 結論 #
ceph-iscsi
はSUSE Enterprise Storage 7.1において鍵となるコンポーネントで、iSCSIプロトコルに対応した任意のサーバやクライアントから分散型の高可用性ブロックストレージへのアクセスを可能にします。1つ以上のiSCSI Gatewayホストでceph-iscsi
を使用することにより、Ceph RBDイメージはiSCSIターゲットに関連付けられたLU (論理ユニット)として利用可能になります。オプションで、負荷分散された可用性が高い方法でアクセスすることもできます。
ceph-iscsi
のすべての設定はCeph RADOS Object Storeに保存されるので、ceph-iscsi
ゲートウェイホストは本質的に永続状態を持ちません。したがって、自由に置換、増強、または縮小できます。その結果、SUSE Enterprise Storage 7.1により、SUSEのお客様は、コモディティハードウェアと完全なオープンソースプラットフォーム上で、真に分散化され、高い可用性、災害耐性、自己修復機能を併せ持つエンタープライズストレージ技術を運用できます。