4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【今から覚えるONTAPの操作】iSCSI用のSVMを作成する

Last updated at Posted at 2023-11-06

はじめに

本記事では、NetApp社の提供するStorageであるONTAPにおいてオンプレミス環境でiSCSI用仮想ストレージ(SVM)を作成する手順について記載します。

特定のワークロードのためのチューニングやCLIコマンドの具体的な使用方法やパラメータの解説については記載しませんが、具体的な環境構築の流れを説明することで、Ansibleを使用した自動化によるiSCSI用SVM環境の提供に必要な項目の把握につながる事になるかと思います。

なお、iSCSI利用時のベストプラクティスはBest practices for modern SAN ONTAP 9を参照下さい。

qiita-square

何をしたい?できる?

  • ONTAPにiSCSI用SVMMの作成をCLIで実行
  • WindowsからのiSCSIでLUN接続

NFS用の仮想ストレージ(SVM)作成の流れ

基本的な設定作業の流れは下図の通りになります。

002.png

本記事では、手順1のラッキングや初期設定を実施してリモートからONTAPにSSHアクセスできるような状態となっていることを想定しての記載です。

記事における環境情報

本記事では、以下の環境で実施した内容となります。

  • Windows Server 2019
  • 機種: FAS8200+SATA Disk
  • ONTAP : 9.13.1

環境のイメージとしては以下の通りです。
qiita-square

実施手順

既存環境へSVM追加ということであれば、手順4からの実施となりますが、ここではAggregate作成からの記載となります。

1. Aggregateの作成

データアクセス用Aggregateを作成します。
本記事ではSATA Diskの環境で名前やDisk数以外はデフォルト値で作成する為、RAID DPで最大14個でRAID Groupを組む構成で作成されます。

qiita-square

既にデータ用Aggregate作成済の場合は、本手順は割愛して下さい。

> storage aggregate create -aggregate aggr1_node01 -diskcount 7 -node PS-8200cl-01

> storage aggregate show -aggregate aggr1_node01 -fields size,raidtype,maxraidsize
aggregate    maxraidsize raidtype size
------------ ----------- -------- -------
aggr1_node01 14          raid_dp  16.34TB

2. Network構成の設定

2-1. InterfaceGroupの作成

NFSデータの通る物理Portについて、InterfaceGroupという機能を使い論理的な1つの仮想ポートを作成します。

InterfaceGroupの作成にあたっては、後述する何かしらのBroadcast Domainに所属していると作成時にエラーが出るため、事前に対象のBroadcast DomainからInterfaceGroupで利用予定のPortを外します。

本記事ではIEEE802.3ad(dynamic)に準拠したLACPを利用し、各コントローラに対して作成を実行します。

qiita-square

既にInterfaceGroup作成済の場合は、本手順は割愛して下さい。

# InterfaceGroupに利用するPortをBroadcast Domainから除外
> broadcast-domain remove-ports -broadcast-domain Default -ports PS-8200cl-01:e0e
> broadcast-domain remove-ports -broadcast-domain Default -ports PS-8200cl-01:e0f

# InterfaceGroup作成
> network port ifgrp create -node PS-8200cl-01 -ifgrp a0a -distr-func ip -mode multimode_lacp

# InterfaceGroupに物理NICのPortを追加
> network port ifgrp add-port -node PS-8200cl-01 -ifgrp a0a -port e0e
> network port ifgrp add-port -node PS-8200cl-01 -ifgrp a0a -port e0f

> network port ifgrp show -instance -node PS-8200cl-01 -ifgrp a0a

                 Node: PS-8200cl-01
 Interface Group Name: a0a
Distribution Function: ip
        Create Policy: multimode_lacp
          MAC Address: 02:a0:98:af:de:57
   Port Participation: full
        Network Ports: e0e, e0f
             Up Ports: e0e, e0f
           Down Ports: -

#他のコントローラに対しても同様にifgrpの作成を実行

2-2. VLANインターフェースの作成

次に作成したifgrpからVLAN インターフェースを切り出します。
qiita-square

> network port vlan create -node PS-8200cl-01 -vlan-name a0a-10

> network port vlan show -node PS-8200cl-01
                 Network Network
Node   VLAN Name Port    VLAN ID  MAC Address
------ --------- ------- -------- -----------------
PS-8200cl-01
       a0a-10    a0a     10       02:a0:98:af:de:57

2-3. Broadcast Domainの作成

作成したVLAN インターフェースをBroadcast Domainに含めます。
Network障害時におけるPortの切り替え範囲は、Broadcast Domainに登録しているインターフェース間で実施されますが、iSCSI環境ではLIF作成時に切り替えは無効にする必要があります。
(Broadcast DomainにPortを登録していないとLIF作成ができないので作成する形)

既にVLAN インターフェース作成済の場合は、本手順は割愛して下さい。

qiita-square
> network port broadcast-domain create -broadcast-domain data_vlan10 -mtu 1500 -ports PS-8200cl-01:a0a-10, PS-8200cl-02:a0a-10

> broadcast-domain show -broadcast-domain data_vlan10
  (network port broadcast-domain show)
IPspace Broadcast                                         Update
Name    Domain Name    MTU  Port List                     Status Details
------- ----------- ------  ----------------------------- --------------
Default data_vlan10   1500
                            PS-8200cl-01:a0a-10           complete
                            PS-8200cl-02:a0a-10           complete

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

3-1. 仮想ストレージの作成

仮想ストレージ(SVM)の作成を実行します。
指定された内容は、Volume作成時のDefault値になります。(languageやsecurity等)

qiita-square
> vserver create -vserver iscsi100 -rootvolume iscsi100_root -aggregate aggr1_node01 -language C.UTF-8 -rootvolume-security unix -snapshot-policy default

# iSCSIのみ利用できる仮想ストレージ設定へ変更(必須では無い)
> vserver remove-protocols -vserver iscsi100 -protocols fcp,nfs,cifs,ndmp

3-2. LIFの作成

VLANインターフェースからIPを付与する為にLIFの作成を実施します。
LIFの作成時には、IPの他に普段の通信経路となるコントローラとPortを指定を行い、iSCSI利用時はservice-policyをdefault-data-iscsiに指定します。

また、iSCSI環境におけるNetwork経路の障害は、サーバ側のマルチパスソフトウェアで管理をする為、ONTAP側で切り替え設定については無効にする必要があり、failover-policyをdisabledに指定します。

> network interface create -vserver iscsi100 -lif lif001 -service-policy default-data-iscsi -home-node  PS-8200cl-01 -home-port a0a-10  -address 172.16.10.240 -netmask 255.255.255.0 -failover-policy disabled


>  network interface create -vserver iscsi100 -lif lif002 -service-policy default-data-iscsi -home-node  PS-8200cl-02 -home-port a0a-10  -address 172.16.10.241 -netmask 255.255.255.0 -failover-policy disabled


> network interface show -vserver nfs100
            Logical    Status     Network            Current       Current Is
Vserver     Interface  Admin/Oper Address/Mask       Node          Port    Home
----------- ---------- ---------- ------------------ ------------- ------- ----
nfs100
            lif001       up/up    172.16.10.240/24   PS-8200cl-01  a0a-10  true
            lif002       up/up    172.16.10.241/24   PS-8200cl-02  a0a-10  true

4. Volumeの作成

iSCSI用のLUN作成先のデータ置き場であるVolumeの作成を実施します。
この例では、シンプロビジョニング構成の20GBのVolumeを作成し、Snapshot領域はサイズを0%で設定し、自動拡張を有効化します。
iSCSI環境ではLUNと接続をする為、junction-pathの設定は不要になります。

> volume create -vserver iscsi100 -volume iscsivol -aggregate aggr1_node01 -size 20GB -percent-snapshot-space 5 -space-guarantee none -policy default -security-style unix 

# 書き込み保障の為にVolumeの自動拡張を有効化する
> volume autosize -vserver iscsi100 -volume iscsivol -mode grow -maximum-size 30g

5. プロトコル設定

SVMでiSCSIサービスを開始します。

> vserver iscsi create -vserver iscsi100

> vserver iscsi  show
           Target                           Target                       Status
Vserver    Name                             Alias                        Admin
---------- -------------------------------- ---------------------------- ------
iscsi100   iqn.1992-08.com.netapp:sn.a16aeec0741011ee925700a098afde57:vs.24
                                            iscsi100                     up

6. LUNの作成

iSCSI用のVolumeにLUNを作成します。
Windows Server 2019に接続しますが、LUNのTypeはwindows_2008の指定を実施します。
また、LUNをNTFSでフォーマットされた後に、Windows側と空き領域の同期を取るためにspace-allocationを有効化します。

LUNとVolumeの関係が分かりにくいかもしれませんが、NAS用のアクセスができるSVMのVolumeへLUNを作成するとLUNはONTAPでいうVolume内における1ファイルのような形で確認することができます。

LUN作成後に、iSCSIクライアントから接続してフォーマットする事でCドライブのような形で利用することができます。

> lun create -vserver iscsi100 -path /vol/iscsivol/lun001 -size 5g -ostype windows_2008 -space-reserve enabled -space-allocation enabled

Created a LUN of size 5g (5368709120)

7. ONTAP内操作におけるLUNのMapping

ONTAP側からiSCSIクライアント(Windows)のイニシエータ名を登録してマスキングを実施します。
iSCSIクライアントのイニシエータ名は、Windowsの管理ツールのあるiSCSIイニシエータを立ち上げ、[構成]タブから確認できます。

7-1. igroupの作成

iSCSIイニシエータのノード名をグループ化したigroup (Initiator Group)を作成し、イニシエータ名の登録を実施します。
定義したigroupをLUNに紐づける事(Mapping)で、igroupに登録されているイニシエータからのみLUNアクセスを許可する事ができるようになります。

> igroup create -vserver iscsi100 -igroup igroup001 -protocol iscsi -ostype windows -initiator iqn.1991-05.com.microsoft:win2019-01

7-2. igroupとLUNの紐づけ(Mapping)

igroupに登録したイニシエータに作成したLUNをMappingします。

> lun map -vserver iscsi100 -path /vol/iscsivol/lun001 -igroup igroup001

> lun show -mapped mapped -vserver iscsi100
Vserver   Path                            State   Mapped   Type        Size
--------- ------------------------------- ------- -------- -------- --------
iscsi100  /vol/iscsivol/lun001            online  mapped   windows_2008  5GB

8. Windows ServerからのLUN接続操作

ここからはiSCSIクライアントであるWindows上の操作を実施します。

8-1. ターゲットポータルの探索

ONTAPで作成した、iSCSI用のLIFのIPアドレスをiSCSIイニシエータに登録します。

Windowsの管理ツールのあるiSCSIイニシエータを立ち上げ、【探索】タブから【ポータルの探索】をクリックします。
表示された画面にONTAP用のiSCSI LIFのIPを入力し、【詳細設定】をクリックします。

表示された画面で、【ローカルアダプタ】にMicrosoft iSCSI Initiatorを選択し、
【イニシエータIP】で入力したONTAPのiSCSI LIFと通信するWindows ServerのIPを選択し、
【OK】をクリックします。

8-2. 検出したONTAP側ターゲット名との接続実施

この作業を設定する経路分、繰り返し実施します(本記事の場合は2経路分)

iSCSIイニシエータの、【ターゲット】タブから検出されたターゲットを選択し、【接続】をクリックします。
(2経路目を登録する際は、状態が接続完了と表示されていても繰り返し設定を実施する)

マルチパス構成で構築する為、表示された画面で【複数パスを有効にする】にチェックを入れ、【詳細設定】をクリックします。

表示された画面で、【ローカルアダプタ】にMicrosoft iSCSI Initiatorを選択し、
【イニシエータIP】で入力したONTAPのiSCSI LIFと通信するWindows ServerのIPを選択し、
【ターゲットポータルIP】にONTAPのiSCSI LIFを選択します。

2経路分の接続完了時点で【ターゲット】タブのデバイスをクリックすると、ONTAP上の1つのLUNが、Windows上では2つの経路から別Diskとして見えているのが確認できます。

8-3. マルチパス機能の追加

複数の物理パスを使用してデータの入出力を行うためマルチパス機能を利用します。
これにより、複数パスから見えるデバイス(LUN)を1つとして見なすことができます。
また、接続経路が管理され、Activeパスで障害が発生した場合、自動的に残りのパスに切り替わり、通信を継続できるようになります。

Windows Serverの【役割と機能の追加】からマルチパスI/Oを追加します。

マルチパスI/O追加後には再起動が必要になります。

再起動後にWindowsの管理ツールからMPIOを選択します。

【マルチパスの検出】タブで、iSCSIデバイスのサポートを追加するにチェックを入れ、【追加】をクリックします。

iSCSIデバイスのサポート追加後には再起動が必要になります。

8-4. LUNの接続とフォーマット

LUNをフォーマットしてドライブレターを割り振る為、Windowsの管理ツールからコンピュータの管理を選択します。

【記憶域】の【ディスクの管理】を選択し、表示されているLUNを選択し右クリックから【オンライン】を選択します。

未割り当てのディスクで右クリックし、【新しいシンプルボリューム】を選択します。

ドライブレターの割り振りやフォーマットを実行して、LUNを利用可能な状態にします。

参考及びリンク

ローカル階層を追加(アグリゲートを作成)

物理ポートを組み合わせてインターフェイスグループを作成する

物理ポートを介して VLAN を設定します

SVM を作成します

LIF を作成

ボリュームを作成します

SAN ストレージをプロビジョニング

Best practices for modern SAN

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?