リソースからブロックストレージボリュームへの接続方法¶
ボリュームの作成後、同一テナント上にあるリソースからボリュームへの接続を実施します。
Linux/Windows 共通¶
注釈
仮想ストレージ作成時に接続したロジカルネットワークがストレージプレーンのものである場合、MTU を9000 に設定すると性能が改善する場合があります。 ロジカルネットワークに接続しているNICのMTUの確認・変更方法については、お使いのOSの設定手順をご確認ください。
Linux サーバー¶
ここでは、ボリュームへのマルチパス接続に関するLinuxOS上の設定方法について説明します。
以下では Red Hat Enterprise Linux (RHEL) の各バージョンについての設定方法について記載をしますが CentOS/Rocky Linux等の所謂 RHEL互換ディストリビューションについては、対応するRHELのバージョンの 設定・手順をご利用ください。
/etc/multipath.conf の編集¶
まずは、マルチパス接続に関するconfigファイルを編集します。
RHEL6.X¶
# vi /etc/multipath.conf
defaults {
user_friendly_names no
max_fds max
flush_on_last_del yes
queue_without_daemon no
}
blacklist {
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
device {
vendor "NETAPP"
product "LUN"
path_grouping_policy group_by_prio
features "1 queue_if_no_path"
prio "alua"
path_checker directio
failback immediate
path_selector "round-robin 0"
hardware_handler "1 alua"
rr_weight uniform
rr_min_io 128
getuid_callout "/lib/udev/scsi_id -g -u -d /dev/%n"
}
}
RHEL7.X¶
# vi /etc/multipath.conf
defaults {
user_friendly_names no
max_fds max
flush_on_last_del yes
queue_without_daemon no
}
blacklist {
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
device {
vendor "NETAPP"
product "LUN"
path_grouping_policy group_by_prio
features "1 queue_if_no_path"
prio "alua"
path_checker directio
failback immediate
path_selector "round-robin 0"
hardware_handler "1 alua"
rr_weight uniform
rr_min_io 128
uid_attribute ID_SERIAL
}
}
RHEL8.X , 9.X¶
# vi /etc/multipath.conf
defaults {
user_friendly_names no
max_fds max
flush_on_last_del yes
queue_without_daemon no
}
blacklist {
devnode "^hd[a-z]"
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^cciss.*"
}
devices {
device {
vendor "NETAPP"
product "LUN"
path_grouping_policy group_by_prio
no_path_retry queue
prio "alua"
path_checker directio
failback immediate
path_selector "round-robin 0"
hardware_handler "1 alua"
rr_weight uniform
rr_min_io 128
uid_attribute ID_SERIAL
}
}
/etc/iscsi/iscsid.conf の編集¶
また、iSCSI イニシエータのタイムアウト値を5秒に変更します。(弊社推奨設定)
# vi /etc/iscsi/iscsid.conf
:
#node.session.timeo.replacement_timeout = 120
node.session.timeo.replacement_timeout = 5
:
iscsiログイン¶
# iscsiadm -m discovery -t sendtargets -p [iscsi target IP address] --login
注釈
[iscsi target IP address] については、コントロールパネル上の「ボリュームの詳細」ページからご確認いただけます。
iscsi rescan¶
# iscsiadm -m session --rescan
注釈
同一の target IP address に複数のVolumeが割り当てられた場合や、何らかの理由でlogin 後にscsi deviceが発見出来なかった際に実施する手順です。 login してすでに十分な deviceが見えている場合は実行不要です。
multipathdサービスの再起動¶
# service multipathd restart
multipathデバイスの確認¶
# multipath -ll
3600a098038303652643f4861334f5875 dm-0 NETAPP ,LUN C-Mode
size=100G features='2 queue_if_no_path retain_attached_hw_handler' hwhandler='1 alua' wp=rw
|-+- policy='round-robin 0' prio=50 status=active
| `- 2:0:0:0 sda 8:16 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
`- 3:0:0:0 sdb 8:0 active ready running
iscsiの接続が正常に完了すると、上記のようにsda/sdbの2つが"running"状態として表示されます。 sdX (上記の例ではsda, sdb) はホストのディスク構成によって変更される場合があります。
警告
ここまでの手順を実施されて、もしも上記のように sda/sdb の2つが "running" 状態として表示されない場合については ブロックストレージのボリュームへの接続が正しくマルチパスIO接続を構成しているか確認する手順 を参照し、正しく Multipath IO (MPIO) が構成されるように対処ください。 正しくMPIO構成がされていない場合、装置障害や装置メンテナンス時にストレージへのアクセスが出来なくなるため、確実に構成されるようにご確認ください。
マウントされているデバイスの確認¶
# fdisk -l
Disk /dev/vda: 16.1 GB, 16106127360 bytes, 31457280 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
:
Disk /dev/sdb: 107.4 GB, 107389255680 bytes, 209744640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
:
Disk /dev/sda: 107.4 GB, 107389255680 bytes, 209744640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
:
Disk /dev/mapper/3600a098038303652643f4861334f5875: 107.4 GB, 107389255680 bytes, 209744640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
上記のようにiscsiで接続されたボリュームが表示されます。
任意のファイル形式にボリュームをフォーマットします。¶
ここでは、xfs形式にフォーマットしています。
# mkfs.xfs /dev/mapper/3600a098038303652643f4861334f5875
注釈
fdisk -l で見えている/dev/sda, /dev/sdb をフォーマットするのではなく、 /dev/mapper/3600a098038303652643f4861334f5875 を指定してフォーマットします。
注釈
mkfs.xfs コマンドが応答を返さなくなり、 dmesg に "Discard failure" のメッセージが出力されている場合、 mkfs.xfs コマンドに "-K" を付与して再度お試し下さい。
フォーマットした領域のマウント¶
任意のディレクトリへマウントします。ここでは /mnt というディレクトリへマウントしています。
# mount /dev/mapper/3600a098038303652643f4861334f5875 /mnt
注釈
RHEL7.3/CentOS7.3/Rocky Linux8.5以降では、 64KBより大きいブロックサイズでI/Oをされる場合に、確保した性能を十分に使いきれない場合があります。 64KBより大きいブロックサイズでI/Oをされる場合は、multipathデバイスおよびmultipathデバイスを構成するiSCSIデバイスに対し、以下を実施します。 それぞれのデバイス名は multipath -ll よりご確認いただけます。
# echo 512 > /sys/block/sda/queue/max_sectors_kb
# echo 512 > /sys/block/sdb/queue/max_sectors_kb
# echo 512 > /sys/block/dm-0/queue/max_sectors_kb
/etc/fstab への記載によるマウントの永続化¶
以下のような設定を/etc/fstab へ追記します。(パラメータはご利用の環境に合わせて適宜調整ください)
# tail -1 /etc/fstab
/dev/mapper/3600a098038303652643f4861334f5875 /mnt xfs defaults,_netdev 0 0
注釈
/etc/fstab への記載にあたっては、本サービスのボリュームが提供するファイルシステムは network 起動後にマウントをする必要があるため、 _netdev フラグを付与した記載をお願いします。 _netdev フラグを付与しない場合、OS再起動時に正常起動しないことがあります。
Windowsサーバー¶
Windowsサーバーより作成したストレージをiSCSIマウントする方法は、下記の通りです。
ベアメタルサーバの場合¶
ベアメタルサーバの場合、以下図のようにMultiPathを合計4本張ります。
ターゲットポータルの検出¶
スタートメニューよりiSCSI Initiator を起動します。「Discovery」タブを選択し、「Discovery Portal」をクリックします。「Discover Target Portal」の画面において、ストレージのターゲットIPアドレスを入力します。
上記設定後、スタートメニューよりMPIO を起動し、「Discover Multipath」タブの「Add support for iSCSI devices」にチェックを入れADDを押下します。(完了後サーバーの再起動を求められます)
サーバーの再起動が完了し、再度MPIOを起動すると、下図のようにデバイスが追加されます。
イニシエータIQN設定¶
iSCSI Initiator Properties > ConfigurationよりInitiator Nameを参照し「iqn〜」から始まる項目を確認します。
iSCSI 接続¶
次に、iSCSI Initiator を起動し、「Targets」タブを確認すると、InactiveとなっているTargetが表示されます。そこで、「Connect」をクリックし、表示されるポップアップにおいて 「Enable multi-path」にチェックを入れ、「Advanced」をクリックします。
注釈
iSCSIイニシエータウィンドウに戻ると、InactiveからConnectedにTargetの状態が変更されています。
「OK」をクリックし、iSCSIイニシエータウィンドウに戻ります。
警告
ここまでの手順を実施されて、もしも上記のように4つのデバイスが表示されない場合については ブロックストレージのボリュームへの接続が正しくマルチパスIO接続を構成しているか確認する手順 を参照し、正しく Multipath IO (MPIO) が構成されるように対処ください。 正しくMPIO構成がされていない場合、装置障害や装置メンテナンス時にストレージへのアクセスが出来なくなるため、確実に構成されるようにご確認ください。
ディスクのフォーマット¶
仮想インスタンスの場合¶
ターゲットポータルの検出¶
スタートメニューよりiSCSI Initiator を起動します。「Discovery」タブを選択し、「Discovery Portal」をクリックします。「Discover Target Portal」の画面において、ストレージのターゲットIPアドレスを入力します。
その後、スタートメニューよりMPIO を起動し、「Discover Multipath」タブの「Add support for iSCSI devices」にチェックを入れます。(完了後サーバーの再起動を求められます)
サーバーの再起動が完了し、再度MPIOを起動すると、下図のようにデバイスが追加されます。
イニシエータIQN設定¶
iSCSI Initiator Properties > ConfigurationよりInitiator Nameを参照し「iqn〜」から始まる項目を確認します。
iSCSI 接続¶
次に、iSCSI Initiator を起動し、「Targets」タブを確認すると、InactiveとなっているTargetが表示されます。そこで、「Connect」をクリックし、表示されるポップアップにおいて 「Enable multi-path」にチェックを入れ、「Advanced」をクリックします。
注釈
iSCSIイニシエータウィンドウに戻ると、InactiveからConnectedにTargetの状態が変更されています。
「OK」をクリックし、iSCSIイニシエータウィンドウに戻ります。
警告
ここまでの手順を実施されて、もしも上記のように 2つのデバイスが表示されない場合については ブロックストレージのボリュームへの接続が正しくマルチパスIO接続を構成しているか確認する手順 を参照し、正しく Multipath IO (MPIO) が構成されるように対処ください。 正しくMPIO構成がされていない場合、装置障害や装置メンテナンス時にストレージへのアクセスが出来なくなるため、確実に構成されるようにご確認ください。
ディスクのフォーマット¶
Windows のサーバーマネジャーから、「File and Storage Services」を選択し、「Disks」をクリックすると、下図のようにiSCSIで接続されたボリュームがOffline状態で表示されます。
ここで、ボリュームを右クリックしてオンライン状態にした上で、ボリュームのパーティション設定、フォーマットを実施します。