LinuxサーバでSolidfire iSCSIボリュームをマウントしてみる
LinuxサーバからSolidfireのiSCSIボリュームをマウントする時の手順の覚書です。
NetAppからテクニカルレポートが提供されているので、そちらも参考にして シンプルにiSCSIボリュームをマウントする手順を記載しています。
なお、Storage側のiSCSIボリューム作成・設定完了済みの前提です。
SolidfireのiSCSiボリューム作成・設定については、
Ansibleを利用したiSCSIボリューム作成の記事があるので、よろしければそちらもどうぞ。
##前提
以下の環境で試しています
- Cent 7.7
- Solidfire 12.2
##作業の流れ
- Linuxサーバに iSCSIパッケージ導入
- 認証方式にあわせてiscsi.confファイルを編集
- iSCSIボリュームを検出
- LinuxサーバでLVMボリュームとしてマウントしてみる
1. Linuxサーバに iSCSIパッケージ導入
まずは必要なパッケージを導入
$ sudo yum install –y iscsi-initiator-utils
- 出力は省略:必要に応じて "y" を入力 -
$ cat /etc/iscsi/initiatorname.iscsi
$ sudo systemctl restart iscsid
$ sudo systemctl enable iscsid
2. 認証方式にあわせてiscsi.confファイルを編集
VAG認証方式
VAGでの認証方式(Initiator名とVolumeを紐づけてアクセス許可)を利用する場合は、特にLinuxサーバ側でiscsi.confファイルの設定作業は不要です。
CHAP認証方式
CHAP認証方式を利用する場合は、iscsi.confファイルを編集して、認証情報を記述します。ファイル編集後、設定反映のためiscsidサービスを再起動します。
以下認証情報である前提の記述例を記載します。
項目 | 値 | 備考 |
---|---|---|
認証方式 | CHAP | |
username | TenantA | |
Initiator Secret | zp9g_fW_Jt5C4Y6y | |
Target Secret | aZ_RKL_tw8w3_ZuS |
$ sudo vi /etc/iscsi/iscsid.conf
ーー追記する内容ーー
node.session.auth.authmethod = CHAP
node.session.auth.username = TenantA
node.session.auth.password = zp9g_fW_Jt5C4Y6y
node.session.auth.username_in = TenantA
node.session.auth.password_in = aZ_RKL_tw8w3_ZuS
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = TenantA
discovery.sendtargets.auth.password = zp9g_fW_Jt5C4Y6y
discovery.sendtargets.auth.username_in = TenantA
discovery.sendtargets.auth.password_in = aZ_RKL_tw8w3_ZuS
ーー追記する内容ーー
$ sudo systemctl restart iscsid
3. iSCSIボリュームを検出
LinuxサーバでiSCSIボリュームを認識できるようにします。
iSCSIボリュームを検出し、ログインすることで、Linuxサーバがデバイスとして認識します。
$ sudo iscsiadm -m discovery -t st -p <Solidfire SVIP>:3260
$ sudo iscsiadm -m node -L all
4. LinuxサーバでLVMボリュームとしてマウントしてみる
認識したiSCSiボリュームを、Linuxサーバでマウントしてみます。
今回はLVMボリュームとしてマウントします。
以下パラメータの前提でのコマンド例を記載します。
| 項目 | 値 |
|:---|---|---|
|disk | sdb |
|vg名| vg01 |
|lv名| lvol01 |
|ディレクトリ| /sfvol01 |
$ sudo pvcreate /dev/sdb
$ sudo vgcreate vg01 /dev/sdb
$ sudo lvcreate -l 100%FREE -n lvol01 vg01
$ sudo mkfs.xfs /dev/mapper/vg01-lvol01
$ sudo mkdir /sfvol01
$ sudo mount /dev/mapper/vg01-lvol01 /sfvol01/
なお、/etc/fstabに登録する場合は、"_netdev"のつけ忘れに注意ください。
$ sudo cat /etc/fstab|grep sfvol01
/dev/mapper/vg01-lvol01 /sfvol01 xfs defaults,_netdev 0 0
これで、再起動後も自動的にiSCSIボリュームをマウントしてくれます。
まとめ
LinuxサーバでiSCSIボリュームをマウントする操作を記載してみました。
久しぶりにiSCSIボリュームをマウントしようとすると、コマンドなんだっけとかなることもあるかと思います。
今回は手動でマウント作業を実施しましたが、Ansibleとかの構成管理ツール等で自動化しておくと何かと便利(かも)です。