7.1.3. リソースからブロックストレージボリュームへの接続

ボリュームの作成後、同一テナント上にあるリソースからボリュームへの接続を実施します。

7.1.3.1. Linux サーバー

ここでは、ボリュームへのマルチパス接続に関するLinuxOS上の設定方法について説明します。まずは、マルチパス接続に関する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
    }
}

また、iSCSI イニシエーターのタイムアウト値を5秒に変更します。(弊社推奨設定)

# vi /etc/iscsi/iscsid.conf
            :
#node.session.timeo.replacement_timeout = 120
node.session.timeo.replacement_timeout = 5
            :

上記OSの設定が完了した後、ボリュームのiscsiマウントを実行します。

1.iscsiログイン

# iscsiadm -m discovery -t sendtargets -p [iscsi target IP address] --login

注釈

[iscsi target IP address] については、コントロールパネル上の「ボリュームの詳細」ページからご確認いただけます。

2.multipathdサービスの再起動

# service multipathd restart

3.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 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=10 status=enabled
    `- 3:0:0:0 sda 8:0  active ready running

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

4.マウントされているデバイスの確認

# 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で接続されたボリュームが表示されます。

5.任意のファイル形式にボリュームをフォーマットします。ここでは、xfs形式にフォーマットしています。

# mkfs.xfs /dev/mapper/3600a098038303652643f4861334f5875

注釈

fdisk -l で見えている/dev/sda, /dev/sdb をフォーマットするのではなく、 /dev/mapper/3600a098038303652643f4861334f5875 を指定してフォーマットします。

注釈

mkfs.xfs コマンドが応答を返さなくなり、 dmesg に “Discard failure” のメッセージが出力されている場合、 mkfs.xfs コマンドに “-K” を付与して再度お試し下さい。

6.フォーマットした領域のマウント

任意のディレクトリへマウントします。ここでは /mnt というディレクトリへマウントしています。

# mount /dev/mapper/3600a098038303652643f4861334f5875 /mnt

注釈

RHEL7.3/CentOS7.3以降では、 64KBより大きいブロックサイズでI/Oをされる場合に、確保した性能を十分に使いきれない場合があります。 64KBより大きいブロックサイズでI/Oをされる場合は、multipathデバイスおよびmultipathデバイスを構成するiSCSIデバイスに対し、以下を実施します。 それぞれのデバイス名は multipath -ll よりご確認いただけます。

# echo 512 > /sys/block/sdb/queue/max_sectors_kb
# echo 512 > /sys/block/sdc/queue/max_sectors_kb
# echo 512 > /sys/block/dm-0/queue/max_sectors_kb

7./etc/fstab への記載によるマウントの永続化

注釈

/etc/fstab への記載にあたっては、本サービスのボリュームが提供するファイルシステムは network 起動後にマウントをする必要があるため、 _netdev フラグを付与した記載をします。 _netdev フラグを付与しない場合、OS再起動時に正常起動しないことがあります。

7.1.3.2. Windowsサーバー

Windowsサーバーより作成したストレージをiSCSIマウントする方法は、下記の通りです。

7.1.3.2.1 ベアメタルサーバの場合

ベアメタルサーバの場合、以下図のようにMultiPathを合計4本張ります。

multipath.png


1.ターゲットポータルの検出

スタートメニューよりiSCSI Initiator を起動します。「Discovery」タブを選択し、「Discovery Portal」をクリックします。「Discover Target Portal」の画面において、ストレージのターゲットIPアドレスを入力します。

Discover Target Portal
Discover Target Portal2

上記設定後、スタートメニューよりMPIO を起動し、「Discover Multipath」タブの「Add support for iSCSI devices」にチェックを入れADDを押下します。(完了後サーバーの再起動を求められます)

Discover Multupath MPIO

サーバーの再起動が完了し、再度MPIOを起動すると、下図のようにデバイスが追加されます。

Discover Multipath Device

2.イニシエーターIQN設定

iSCSI Initiator Properties > ConfigurationよりInitiator Nameを参照し「iqn〜」から始まる項目を確認します。

Discover Multipath Device


上記で確認したInitiator Nameをブロックストレージで作成したボリューム内に登録を行います。
ブロックストレージ > 作成したボリュームより「ボリュームの編集」を押下し、イニシエーターIQNへInitiator Nameを記入し「ボリュームの編集」をクリックします。
Discover Multipath Device


3.iSCSI 接続

次に、iSCSI Initiator を起動し、「Targets」タブを確認すると、InactiveとなっているTargetが表示されます。そこで、「Connect」をクリックし、表示されるポップアップにおいて 「Enable multi-path」にチェックを入れ、「Advanced」をクリックします。

Enable Multipath

注釈

上記画面にある「Add this connection to the list of Favorite Targets」チェックボックスはデフォルトでオンになっています。
このオプションをオンにすると、Windowsの再起動時にFavorite Targetsリスト内のポータルに自動的に接続されます。
このFavorite Targetsリストには、リスト追加時点のイニシエータIQNが登録されます。
後にイニシエータIQNが変更された場合でも、追加済みのFavorite Targetに登録されたIQNには影響を与えず、
Windowsの再起動時にはFavorite Targetsリスト追加時点のIQNで接続されます。
参考: The Microsoft iSCSI Initiator may fail to login to Favorite Targets after the Initiator Name is changed on Windows Server 2008 and 2008 R2 or Windows 7
Windowsの場合、イニシエータIQNにはデフォルトでコンピュータ名やドメイン名が自動的に付加される仕様となっており、
これらの名前が変更された際は自動的にイニシエータIQNも変更されます。
参考: How to install and configure the DHCP service for iSCSI Network Boot configuration in Windows Server 2003
自動的なIQNの変更についても上記同様、Favorite TargetのIQNは変更されません。
手動もしくはコンピュータ名、ドメイン名の変更によりIQNが変更された際は、Favorite Targetsのエントリを削除し再作成いただきますようお願いいたします。
(同時に、前項にありますポータルでのIQN変更も実施ください。)


「Advanced Setting」の画面において、「Local adapter」・「Initiator IP」・「Target Portal IP」をプルダウンより選択し、OKを押します。
再度OKをクリックし、iSCSIイニシエータウィンドウに戻ります。
上記接続作業を、各Initiator IP、Target Portal IPごとに実施します。
本チュートリアルの例の場合は、
Initiator IP: 192.168.1.2, Target Portal IP: 192.168.1.150
Initiator IP: 192.168.1.3, Target Portal IP: 192.168.1.150
Initiator IP: 192.168.1.2, Target Portal IP: 192.168.1.151
Initiator IP: 192.168.1.3, Target Portal IP: 192.168.1.151
の4回実施します。
Advanced Setting1
Advanced Setting2
Advanced Setting3
Advanced Setting4

「Targets」タブに戻ると、InactiveからConnectedにTargetの状態が変更されています。そこで、「Properties」をクリックすると、下図のように「Identifier」内に4つ表示がされます。

Targets list properties3


iSCSI Initiator Propertiesの「Devices」をクリックすると、下図のような画面が表示され4つのデバイスが表示されていることを確認します。

Devices2


4.ディスクのフォーマット Windows のサーバーマネジャーから、「File and Storage Services」を選択し、「Disks」をクリックすると、下図のようにiSCSIで接続されたボリュームがOffline状態で表示されます。

volume_list

7.1.3.2.2 仮想インスタンスの場合

1.ターゲットポータルの検出

スタートメニューよりiSCSI Initiator を起動します。「Discovery」タブを選択し、「Discovery Portal」をクリックします。「Discover Target Portal」の画面において、ストレージのターゲットIPアドレスを入力します。

Discover Target

その後、スタートメニューよりMPIO を起動し、「Discover Multipath」タブの「Add support for iSCSI devices」にチェックを入れます。(完了後サーバーの再起動を求められます)

Discover Multupath MPIO

サーバーの再起動が完了し、再度MPIOを起動すると、下図のようにデバイスが追加されます。

Discover Multipath Device

2.イニシエーターIQN設定

iSCSI Initiator Properties > ConfigurationよりInitiator Nameを参照し「iqn〜」から始まる項目を確認します。

Discover Multipath Device


上記で確認したInitiator Nameをブロックストレージで作成したボリューム内に登録を行います。
ブロックストレージ > 作成したボリュームより「ボリュームの編集」を押下し、イニシエーターIQNへInitiator Nameを記入し「ボリュームの編集」をクリックします。
Discover Multipath Device


3.iSCSI 接続

次に、iSCSI Initiator を起動し、「Targets」タブを確認すると、InactiveとなっているTargetが表示されます。そこで、「Connect」をクリックし、表示されるポップアップにおいて 「Enable multi-path」にチェックを入れ、「Advanced」をクリックします。

Enable Multipath

注釈

上記画面にある「Add this connection to the list of Favorite Targets」チェックボックスはデフォルトでオンになっています。
このオプションをオンにすると、Windowsの再起動時にFavorite Targetsリスト内のポータルに自動的に接続されます。
このFavorite Targetsリストには、リスト追加時点のイニシエータIQNが登録されます。
後にイニシエータIQNが変更された場合でも、追加済みのFavorite Targetに登録されたIQNには影響を与えず、
Windowsの再起動時にはFavorite Targetsリスト追加時点のIQNで接続されます。
参考: The Microsoft iSCSI Initiator may fail to login to Favorite Targets after the Initiator Name is changed on Windows Server 2008 and 2008 R2 or Windows 7
Windowsの場合、イニシエータIQNにはデフォルトでコンピュータ名やドメイン名が自動的に付加される仕様となっており、
これらの名前が変更された際は自動的にイニシエータIQNも変更されます。
参考: How to install and configure the DHCP service for iSCSI Network Boot configuration in Windows Server 2003
自動的なIQNの変更についても上記同様、Favorite TargetのIQNは変更されません。
手動もしくはコンピュータ名、ドメイン名の変更によりIQNが変更された際は、Favorite Targetsのエントリを削除し再作成いただきますようお願いいたします。
(同時に、前項にありますポータルでのIQN変更も実施ください。)
「Advanced Setting」の画面において、「Target Portal IP」をプルダウンより選択し、OKを押します。
再度OKをクリックし、iSCSIイニシエータウィンドウに戻ります。
上記接続作業を、各Target Portal IPに対し実施します。
本チュートリアルの例の場合は、
Initiator IP: Default, Target Portal IP: 192.168.1.200
Initiator IP: Default, Target Portal IP: 192.168.1.201
の2回実施します。
Advanced Setting

「Targets」タブに戻ると、InactiveからConnectedにTargetの状態が変更されています。そこで、「Properties」をクリックすると、下図のような画面が表示されます。

Targets list properties

iSCSI Initiator Propertiesの「Devices」をクリックすると、下図のような画面が表示され2つのデバイスが表示されていることを確認します。

Devices

4.ディスクのフォーマット

Windows のサーバーマネジャーから、「File and Storage Services」を選択し、「Disks」をクリックすると、下図のようにiSCSIで接続されたボリュームがOffline状態で表示されます。

volume_list

ここで、ボリュームを右クリックしてオンライン状態にした上で、ボリュームのパーティション設定、フォーマットを実施します。