ブロックストレージ構築手順¶
本項では図中の赤枠部分を構築していきます。
図に使用される表記の凡例は 凡例一覧 を参照してください。
1. 事前に準備いただくこと¶
ストレージのご利用にあたっては、お客さまのサーバーにおいて下記の準備およびご確認が必要となります。
1.1. パッケージのインストール¶
Storageメニューのご利用にあたっては、下記のパッケージのインストールが必要です。
- iscsi-initiator-utils
- device-mapper-multipath
1.2. イニシエーターIQNの確認¶
ボリューム作成時に接続するサーバーのイニシエーターIQNを入力する必要があるため、イニシエーターIQNを確認します。
また、ボリューム作成後もイニシエーターIQNを追加・削除することが可能です。
イニシエーターIQNの確認は、下記の方法で実行可能です。
cat /etc/iscsi/initiatorname.iscsi
2. ストレージの新規作成方法¶
ストレージの新規作成にあたっては、「仮想ストレージの作成」と「ボリュームの追加」の2つの操作が必要です。
2.1. 仮想ストレージの作成¶
左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。
「仮想ストレージ」画面から「仮想ストレージの作成」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
1-1 | 名前 | 手動 | storage1 | |
1-3 | ボリューム種別 | 選択 | piops_iscsi_na | |
1-4 | ロジカルネットワーク | 選択 | DB-strageA_NW | |
1-5 | サブネット | 選択 | DB-StrageA_seg:(192.168.10.0/24) | |
1-6 | IPアドレスプール | 手動 | 192.168.10.101,192.168.10.102 |
これらの入力が完了したら、右下の「仮想ストレージの作成」をクリックし、仮想ストレージの作成を実行します。
仮想ストレージの作成が完了すると、一覧画面に作成された仮想ストレージがリストに追加されて表示されます。
2.2. ボリュームの作成¶
左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。
「仮想ストレージ」画面から対象のストレージの名前をクリックします。
仮想ストレージの詳細画面から「ボリューム」を選択し、「ボリュームの作成」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
2-1 | ボリューム名 | 手動 | strage1 | |
2-3 | イニシエータIQN | 手動 | iqn.1994-05.com.redhat:ea5fb6a628 | コマンドで確認したイニシエータIQNを入力してください。 |
次に「詳細」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
3-1 | サイズ(GB) | 選択 | 100 | |
3-2 | IOPS/GB | 選択 | 2 | |
3-3 | ゾーン/グループ | 選択 | zone1-groupa | 冗長化を図る為、1台目はzone1-groupaを選んでください。 |
これらの入力が完了したら、右下の「ボリュームの作成」をクリックし、ボリュームの作成を実行します。
ボリュームの作成が完了すると、一覧画面に作成されたボリュームがリストに追加されて表示されます。
次に2つ目の仮想ストレージを作成します。
2.3. 仮想ストレージの作成¶
左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。
「仮想ストレージ」画面から「仮想ストレージの作成」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
1-1 | 名前 | 手動 | storage2 | |
1-3 | ボリューム種別 | 選択 | piops_iscsi_na | |
1-4 | ロジカルネットワーク | 選択 | DB-strageB_NW | |
1-5 | サブネット | 選択 | DB-StrageB_seg:(192.168.11.0/24) | |
1-6 | IPアドレスプール | 手動 | 192.168.11.101,192.168.11.102 |
これらの入力が完了したら、右下の「仮想ストレージの作成」をクリックし、仮想ストレージの作成を実行します。
仮想ストレージの作成が完了すると、一覧画面に作成された仮想ストレージがリストに追加されて表示されます。
2.4. ボリュームの作成¶
左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。
「仮想ストレージ」画面から対象のストレージの名前をクリックします。
仮想ストレージの詳細画面から「ボリューム」を選択し、「ボリュームの作成」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
2-1 | ボリューム名 | 手動 | storage2 | |
2-3 | イニシエータIQN | 手動 | iqn.1994-05.com.redhat:589da8a74f52 | コマンドで確認したイニシエータIQNを入力してください。 |
次に「詳細」をクリックします。
入力が必要な項目は下記の通りです。
項番 | 項目名 | 入力形式 | 入力値 | 注意事項 |
3-1 | サイズ(GB) | 選択 | 100 | |
3-2 | IOPS/GB | 選択 | 2 | |
3-3 | ゾーン/グループ | 選択 | zone1-groupb | 冗長化を図る為、2台目はzone1-groupbを選んでください。 |
これらの入力が完了したら、右下の「ボリュームの作成」をクリックし、ボリュームの作成を実行します。
ボリュームの作成が完了すると、一覧画面に作成されたボリュームがリストに追加されて表示されます。
3. リソースからブロックストレージボリュームへの接続¶
ボリュームの作成後、同一テナント上にあるリソースからボリュームへの接続を実施します。 ここでは、ボリュームへのマルチパス接続に関する設定方法について説明します。
まずは、マルチパス接続に関するconfigファイルを新規に作成します。
リモートコンソールアクセスで、baremetal1へログインします。 コンソール画面から下記のコマンドを実施します。
vi /etc/multipath.conf
記載する内容は以下になります。
.. code-block:: raw
- defaults {
user_friendly_names no max_fds max flush_on_last_del yes queue_without_daemon no find_multipaths yes}
- 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
}}
次にiSCSIイニシエーターのタイムアウト値を5秒に変更します。
コンソール画面から下記のコマンドを実施します。
vi /etc/iscsi/iscsid.conf
変更する内容は以下になります。
#node.session.timeo.replacement_timeout = 120
node.session.timeo.replacement_timeout = 5
上記OSの設定が完了した後、ボリュームのiscsiマウントを実行します。
iscsiへログインします。
iscsiadm -m discovery -t sendtargets -p 192.168.10.101 --login
multipathdサービスを再起動し、状態を確認します。
systemctl restart multipathd
systemctl status multipathd
Active:active(running)となっていることを確認します。
multipathデバイスを確認します。
multipath -ll
iSCSIの接続が正常に完了すると、上記のようにsdb/sdcの2つが”running”状態として表示されます。
次に、下記のファイル形式にボリュームをフォーマットします。
mkfs.ext4 /dev/mapper/3600a098038303654352b482f39414c5a
注釈
fdisk -l で見えている/dev/sdb, /dev/sdc をフォーマットするのではなく、 /dev/mapper/3600a098038303654352b482f39414b59 を指定してフォーマットします。
次に、/etc/fstabにiSCSIマウント行を追加します。iSCSIディスクが認識できない場合でもOSが起動できるようにauto,nofailオプションを付与します。
コンソール画面から下記のコマンドを実施します。
vi /etc/fstab
以下を末尾に追記します。
/dev/mapper/3600a098038303654352b482f39414c5a /mnt ext4 auto,nofail 1 2
/etc/fstab編集後マウントし、以下のコマンドを発行してマウントができるか確認します。
mount -a
mount | grep mapper
rebootを実行し、再起動後もiSCSIブロックデバイスをマウントできていることを確認します。
コンソール画面から下記のコマンドを実施します。
reboot
mount | grep mapper
次に2つ目の仮想ストレージからブロックストレージボリュームへの接続を行います。
まずは、マルチパス接続に関するconfigファイルを新規に作成します。
リモートコンソールアクセスで、baremetal2へログインします。 コンソール画面から下記のコマンドを実施します。
vi /etc/multipath.conf
記載する内容は以下になります。
defaults {
user_friendly_names no
max_fds max
flush_on_last_del yes
queue_without_daemon no
find_multipaths yes
}
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
}
}
次にiSCSIイニシエーターのタイムアウト値を5秒に変更します。
コンソール画面から下記のコマンドを実施します。
vi /etc/iscsi/iscsid.conf
変更する内容は以下になります。
#node.session.timeo.replacement_timeout = 120
node.session.timeo.replacement_timeout = 5
上記OSの設定が完了した後、ボリュームのiscsiマウントを実行します。
iscsiへログインします。
iscsiadm -m discovery -t sendtargets -p 192.168.11.101 --login
multipathdサービスを再起動し、状態を確認します。
systemctl restart multipathd
systemctl status multipathd
Active:active(running)となっていることを確認します。
multipathデバイスを確認します。
multipath -ll
iSCSIの接続が正常に完了すると、上記のようにsdb/sdcの2つが”running”状態として表示されます。
次に、下記のファイル形式にボリュームをフォーマットします。
mkfs.ext4 /dev/mapper/3600a098038303766463f4b5975664448
注釈
fdisk -l で見えている/dev/sdb, /dev/sdc をフォーマットするのではなく、 /dev/mapper/3600a098038303766463f4b5975664448 を指定してフォーマットします。
次に、/etc/fstabにiSCSIマウント行を追加します。iSCSIディスクが認識できない場合でもOSが起動できるようにauto,nofailオプションを付与します。
コンソール画面から下記のコマンドを実施します。
vi /etc/fstab
記載する内容は以下になります。
/dev/mapper/3600a098038303766463f4b5975664448 /mnt ext4 auto,nofail 1 2
/etc/fstab編集後マウントし、以下のコマンドを発行してマウントができるか確認します。
mount -a
mount | grep mapper
rebootを実行し、再起動後もiSCSIブロックデバイスをマウントできていることを確認します。
コンソール画面から下記のコマンドを実施します。
reboot
mount | grep mapper