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=0XFSは非クラスタ化ファイルシステムであるため、特定の時点で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 running22.1.2 Microsoft Windows (Microsoft iSCSIイニシエータ)に接続 #
Windows 2012サーバからSUSE Enterprise StorageのiSCSIターゲットに接続するには、次の手順に従います。
Windowsサーバ マネージャーを開きます。ダッシュボードから、 › を選択します。ダイアログが表示されます。タブを選択します。
図 22.1: iSCSIイニシエータのプロパティ #ダイアログで、フィールドにターゲットのホスト名またはIPアドレスを入力して、をクリックします。
図 22.2: ターゲットポータルの探索 #他のすべてのゲートウェイホストの名前またはIPアドレスに対して、このプロセスを繰り返します。完了したら、リストを確認します。
図 22.3: ターゲットポータル #次に、タブに切り替えて、検出されたターゲットを確認します。
図 22.4: ターゲット #タブでをクリックします。ダイアログが表示されます。チェックボックスをオンにしてMPIO (マルチパスI/O)を有効にして、をクリックします。
ダイアログが閉じたら、を選択して、ターゲットのプロパティを確認します。
図 22.5: iSCSIターゲットのプロパティ #を選択し、をクリックしてマルチパスI/Oの設定を確認します。
図 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-iscsiiSCSI GatewayのIPアドレスまたはホスト名を入力します。複数のiSCSI Gatewayをフェールオーバー設定で実行する場合は、運用するゲートウェイの数だけこの手順を繰り返します。図 22.11: ターゲットサーバの追加 #すべてのiSCSI Gatewayを入力したら、ダイアログでをクリックして、iSCSIアダプタの再スキャンを開始します。
再スキャンが完了すると、新しいiSCSIデバイスがペインのリストの下に表示されます。マルチパスデバイスの場合は、アダプタを右クリックして、コンテキストメニューからを選択します。
図 22.12: マルチパスデバイスの管理 #これで、にすべてのパスが緑色のマークで表示されます。パスの1つにのマークが付いていて、他のすべてには単にのマークが付いている必要があります。
図 22.13: マルチパスのパスの一覧 #からというラベルの項目に切り替えることができます。このペインの右上隅にあるを選択して、ダイアログを表示します。続いて、を選択して、をクリックします。新しく追加されたiSCSIデバイスがリストに表示されます。デバイスを選択し、をクリックして続行します。
図 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のお客様は、コモディティハードウェアと完全なオープンソースプラットフォーム上で、真に分散化され、高い可用性、災害耐性、自己修復機能を併せ持つエンタープライズストレージ技術を運用できます。















