ブロックストレージ構築手順

本項では図中の赤枠部分を構築していきます。

../../../_images/modelC_BLST.png

図に使用される表記の凡例は 凡例一覧 を参照してください。

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性能確保」を選択します。

「仮想ストレージ」画面から「仮想ストレージの作成」をクリックします。

../../../_images/modelC_blockst_create1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_blockst_create2.png
仮想ストレージの作成説明
項番 項目名 入力形式 入力値 注意事項
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  

これらの入力が完了したら、右下の「仮想ストレージの作成」をクリックし、仮想ストレージの作成を実行します。


仮想ストレージの作成が完了すると、一覧画面に作成された仮想ストレージがリストに追加されて表示されます。

../../../_images/modelC_blockst_create3.png

2.2. ボリュームの作成

左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。

「仮想ストレージ」画面から対象のストレージの名前をクリックします。

../../../_images/modelC_volume_create1.png

仮想ストレージの詳細画面から「ボリューム」を選択し、「ボリュームの作成」をクリックします。

../../../_images/modelC_volume_create2.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_volume_create3.png
ボリュームの作成 -基本情報- 説明
項番 項目名 入力形式 入力値 注意事項
2-1 ボリューム名 手動 strage1  
2-3 イニシエータIQN 手動 iqn.1994-05.com.redhat:ea5fb6a628 コマンドで確認したイニシエータIQNを入力してください。

次に「詳細」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_volume_create4.png
ボリュームの作成 -詳細- 説明
項番 項目名 入力形式 入力値 注意事項
3-1 サイズ(GB) 選択 100  
3-2 IOPS/GB 選択 2  
3-3 ゾーン/グループ 選択 zone1-groupa 冗長化を図る為、1台目はzone1-groupaを選んでください。

これらの入力が完了したら、右下の「ボリュームの作成」をクリックし、ボリュームの作成を実行します。


ボリュームの作成が完了すると、一覧画面に作成されたボリュームがリストに追加されて表示されます。

../../../_images/modelC_volume_create5.png

次に2つ目の仮想ストレージを作成します。

2.3. 仮想ストレージの作成

左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。

「仮想ストレージ」画面から「仮想ストレージの作成」をクリックします。

../../../_images/modelC_blockst_create1-1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_blockst_create2-1.png
仮想ストレージの作成説明
項番 項目名 入力形式 入力値 注意事項
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  

これらの入力が完了したら、右下の「仮想ストレージの作成」をクリックし、仮想ストレージの作成を実行します。


仮想ストレージの作成が完了すると、一覧画面に作成された仮想ストレージがリストに追加されて表示されます。

../../../_images/modelC_blockst_create3-1.png

2.4. ボリュームの作成

左ペインのメニューから「ストレージ」→「ブロックストレージ」→「IO性能確保」を選択します。

「仮想ストレージ」画面から対象のストレージの名前をクリックします。

../../../_images/modelC_volume_create1-1.png

仮想ストレージの詳細画面から「ボリューム」を選択し、「ボリュームの作成」をクリックします。

../../../_images/modelC_volume_create2-1.png

入力が必要な項目は下記の通りです。

../../../_images/modelC_volume_create3-1.png
ボリュームの作成 -基本情報- 説明
項番 項目名 入力形式 入力値 注意事項
2-1 ボリューム名 手動 storage2  
2-3 イニシエータIQN 手動 iqn.1994-05.com.redhat:589da8a74f52 コマンドで確認したイニシエータIQNを入力してください。

次に「詳細」をクリックします。

入力が必要な項目は下記の通りです。

../../../_images/modelC_volume_create4-1.png
ボリュームの作成 -詳細- 説明
項番 項目名 入力形式 入力値 注意事項
3-1 サイズ(GB) 選択 100  
3-2 IOPS/GB 選択 2  
3-3 ゾーン/グループ 選択 zone1-groupb 冗長化を図る為、2台目はzone1-groupbを選んでください。

これらの入力が完了したら、右下の「ボリュームの作成」をクリックし、ボリュームの作成を実行します。


ボリュームの作成が完了すると、一覧画面に作成されたボリュームがリストに追加されて表示されます。

../../../_images/modelC_volume_create5-1.png

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
../../../_images/modelC_iscsi_login1.png

multipathdサービスを再起動し、状態を確認します。

systemctl restart multipathd
systemctl status multipathd

Active:active(running)となっていることを確認します。


multipathデバイスを確認します。

multipath -ll
../../../_images/modelC_multipath_status1.png

iSCSIの接続が正常に完了すると、上記のようにsdb/sdcの2つが”running”状態として表示されます。


次に、下記のファイル形式にボリュームをフォーマットします。

mkfs.ext4 /dev/mapper/3600a098038303654352b482f39414c5a
../../../_images/modelC_volume_format1.png

注釈

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
../../../_images/modelC_volume_mount1.png

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
../../../_images/modelC_iscsi_login1-1.png

multipathdサービスを再起動し、状態を確認します。

systemctl restart multipathd
systemctl status multipathd

Active:active(running)となっていることを確認します。


multipathデバイスを確認します。

multipath -ll
../../../_images/modelC_multipath_status1-1.png

iSCSIの接続が正常に完了すると、上記のようにsdb/sdcの2つが”running”状態として表示されます。


次に、下記のファイル形式にボリュームをフォーマットします。

mkfs.ext4 /dev/mapper/3600a098038303766463f4b5975664448
../../../_images/modelC_volume_format1-1.png

注釈

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
../../../_images/modelC_volume_mount1-1.png

rebootを実行し、再起動後もiSCSIブロックデバイスをマウントできていることを確認します。

コンソール画面から下記のコマンドを実施します。

reboot
mount | grep mapper