IBMCloud iSCSIブロックストレージのオーダ/接続

##目的
IBMCloudでBlock Storageをオーダし、Linuxホストへの接続を試す
また、スナップショットの取得と復旧からデータが復元されることを確認した。

参考IBMDocs:[Block Storageの管理](https://cloud.ibm.com/docs/BlockStorage?topic=BlockStorage-managingstorage&locale=ja)
##ブロックストレージのオーダ


**クラシックインフラストラクチャ** -> **Block Storage**を選択
![貼り付けた画像_2020_11_11_9_55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/e259a86e-4c3c-5df4-c97e-cd76e3c2312c.png)

* 地域:**デプロイする地域を選択**、任意
* ロケーション:**デプロイするロケーションを選択**、任意
* ゾーン:**デプロイするゾーンを選択**、任意
* 支払い方法:**課金タイプを選択**、任意
* サイズ:**ブロックストレージの容量**、任意
* スナップショットスペース:**本体容量とは別にスナップショットの保存領域**、任意
* OSタイプ:**接続先のOSタイプを選択**、任意
* IOPSプロファイル:**どの程度のワークロードで用いるかによってプロファイルを選択**、任意

画面右の**サービス規約にチェック**をいれ、**作成**を選択
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f63383863373238612d373534372d323530652d326336642d3937363338373731343636342e706e67__2836×1432_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/04d3e8aa-3a37-22aa-42e0-7ba8679fa12b.png)



![Banners_and_Alerts_と_Block_Storage_の注文.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/2e4dcefe-0335-b63c-cf10-478096e5a536.png)

##ブロックストレージ側の設定

**クラシックインフラストラクチャ** -> **Block Storage**を選択
![貼り付けた画像_2020_11_11_9_55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/e259a86e-4c3c-5df4-c97e-cd76e3c2312c.png)

作成したブロックストレージを探し、**名前を選択**する。
![Block_Storage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/a949c0d7-e0f9-0b3e-25e2-91f298b1d392.png)

**許可ホスト** -> **ホストの許可**を選択
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f30343837396238632d343332312d383437392d653633612d3332656531303736616330382e706e67__2874×1436_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/b8e316ec-9801-c452-fb18-c7f18fd48223.png)

**接続先のホスト**を選択し、 -> **保存**を選択
![スクリーンショット_2020_11_12_11_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/7e51fb8e-ec35-ac8b-9d72-c68ba1a3699b.png)


##Linuxホスト側の設定
iSCSIイニシエータとマルチパスドライバのインストール。

```
[root@kou-cent11 ~]# yum install iscsi-initiator-utils device-mapper-multipath
```

デフォルト構成で**/etc/multipath.conf**を構成

```
[root@kou-cent11 ~]# mpathconf --enable --with_multipathd y
[root@kou-cent11 ~]# systemctl start multipathd.service
[root@kou-cent11 ~]# systemctl status multipathd.service
● multipathd.service - Device-Mapper Multipath Device Controller
   Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled; vendor preset: enabled)
   Active: active (running) since 火 2020-11-10 19:22:08 CST; 21s ago
  Process: 7556 ExecStart=/sbin/multipathd (code=exited, status=0/SUCCESS)
  Process: 7551 ExecStartPre=/sbin/multipath -A (code=exited, status=0/SUCCESS)
  Process: 7550 ExecStartPre=/sbin/modprobe dm-multipath (code=exited, status=0/SUCCESS)
 Main PID: 7559 (multipathd)
    Tasks: 6
   CGroup: /system.slice/multipathd.service
           └─7559 /sbin/multipathd
```

接続を許可するイニシエーターを設定
**ホスト詳細の表示**を選択
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f32313735626166622d396635662d343531622d316138312d3239386566376438313135392e706e67__3350×1724_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f698d00f-f2a0-18ee-820d-6fa79a6f554d.png)

**ホストIQN**をコピーしておく
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f61343631633736622d623830652d373365352d643562642d3937313432653639303862352e706e67__3348×1728_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/b70b2fdf-4bf0-a681-453e-863e6d829760.png)


コピーしたIQNを下記ファイルに設定する

```
[root@kou-cent11 ~]# vi /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-11.com.ibm:sl02su1160157-v107496936
```

CHAP設定
ポータルでIDとパスワードを確認して、**/etc/iscsi/iscsid.conf**を変更する
![ストレージの詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/e0395472-1832-366b-a0fe-4df6436aa0e8.png)


```
vi /etc/iscsi/iscsid.conf
#node.session.auth.authmethod = CHAP
node.session.auth.authmethod = CHAP

#node.session.auth.username = username
node.session.auth.username = SL02SU1160157-V107496936

#node.session.auth.password = password
node.session.auth.password = v3M4WD4Z2cvV9cgl

#discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.authmethod = CHAP

#discovery.sendtargets.auth.username = username
discovery.sendtargets.auth.username = SL02SU1160157-V107496936

#discovery.sendtargets.auth.password = password
discovery.sendtargets.auth.password = v3M4WD4Z2cvV9cgl
```

iSCSI有効化、起動

```
[root@kou-cent11 ~]# systemctl enable iscsi.service
[root@kou-cent11 ~]# systemctl start iscsi.service
[root@kou-cent11 ~]# systemctl status iscsid.service
● iscsid.service - Open-iSCSI
   Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; vendor preset: disabled)
   Active: active (running) since 火 2020-11-10 19:52:23 CST; 40s ago
     Docs: man:iscsid(8)
           man:iscsiuio(8)
           man:iscsiadm(8)
 Main PID: 8170 (iscsid)
   Status: "Ready to process requests"
    Tasks: 1
   CGroup: /system.slice/iscsid.service
           └─8170 /sbin/iscsid -f
```

ストレージの接続

ポータルでターゲット・アドレスを確認する
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f36646133666236302d386536312d363662662d366661352d6334396232623933323432312e706e67__3342×1720_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/ab297055-4d60-fcbd-b542-34b3efef1eaa.png)


接続元サーバからディスカバリーの実行

```
[root@kou-cent11 ~]# iscsiadm -m discovery -t sendtargets -p 10.201.190.38
10.201.190.38:3260,1033 iqn.1992-08.com.netapp:stftok0401
10.201.190.46:3260,1041 iqn.1992-08.com.netapp:stftok0401
```

ターゲットへの自動ログイン

```
[root@kou-cent11 ~]# iscsiadm -m node -L automatic
Logging in to [iface: default, target: iqn.1992-08.com.netapp:stftok0401, portal: 10.201.190.38,3260] (multiple)
Logging in to [iface: default, target: iqn.1992-08.com.netapp:stftok0401, portal: 10.201.190.46,3260] (multiple)
Login to [iface: default, target: iqn.1992-08.com.netapp:stftok0401, portal: 10.201.190.38,3260] successful.
Login to [iface: default, target: iqn.1992-08.com.netapp:stftok0401, portal: 10.201.190.46,3260] successful.
[root@kou-cent11 ~]#
```

接続確認

```
[root@kou-cent11 ~]# iscsiadm -m session
tcp: [1] 10.201.190.38:3260,1033 iqn.1992-08.com.netapp:stftok0401 (non-flash)
tcp: [2] 10.201.190.46:3260,1041 iqn.1992-08.com.netapp:stftok0401 (non-flash)

[root@kou-cent11 ~]# fdisk -l | grep /dev/mapper
Disk /dev/mapper/3600a098038304759643f4d48636a5551: 21.5 GB, 21474836480 bytes, 41943040 sectors
```

マルチパスになっているか確認

```
[root@kou-cent11 ~]# multipath -l
3600a098038304759643f4d48636a5551 dm-0 NETAPP  ,LUN C-Mode
size=20G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=0 status=active
| `- 3:0:0:0 sdb  8:16    active undef running
`-+- policy='service-time 0' prio=0 status=enabled
  `- 2:0:0:0 sda  8:0     active undef running
```


###パーティション作成

GPTパーティションで作成

```
[root@kou-cent11 conf]# parted /dev/mapper/3600a098038304759643f4d48636a5551
GNU Parted 3.1
/dev/mapper/3600a098038304759643f4d48636a5551 を使用
GNU Parted へようこそ！ コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) print
モデル: Linux device-mapper (multipath) (dm)
ディスク /dev/mapper/3600a098038304759643f4d48636a5551: 21.5GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

(parted) quit
```

###ファイルシステムの作成

ext4で作成

```
[root@kou-cent11 ~]# mkfs -t ext4 /dev/mapper/3600a098038304759643f4d48636a5551
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=16 blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
```

###マウント

マウントポイントの作成してマウントする。
必要に応じて/etc/fstabへ記述する。

```
[root@kou-cent11 ~]# mkdir /adddisk
[root@kou-cent11 ~]# mount /dev/mapper/3600a098038304759643f4d48636a5551 /adddisk
[root@kou-cent11 ~]# df -h /dev/mapper/3600a098038304759643f4d48636a5551
ファイルシス                                  サイズ  使用  残り 使用% マウント位置
/dev/mapper/3600a098038304759643f4d48636a5551    20G   45M   19G    1% /adddisk
```

##スナップショット取得

マウントしたブロックストレージにファイルを作成し、スナップショットを取得
その後、ファイルを削除してスナップショットを復元してみる。

10GByteのダミーファイルを作成
ブロックストレージの容量に対して半分使用している状態

```
[root@kou-cent11 adddisk]# yum -y install util-linux
[root@kou-cent11 adddisk]# fallocate -l 10G snap_dummy
[root@kou-cent11 adddisk]# ls -lh /adddisk
-rw-r--r--. 1 root root 10G 11月 11 05:13 snap_dummy
[root@kou-cent11 adddisk]# df -h
/dev/mapper/3600a098038304759643f4d48636a5551    20G   11G  8.6G   55% /adddisk
```

###スナップショットの取得

**手動スナップショットの取得**を選択
![ストレージの詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/be1e3e8d-da32-835c-cc31-6fa5d70d6662.png)

成功画面がでてくる
![ストレージの詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/bb1c7685-3f76-18bf-5f5d-800b9ceaff8c.png)

###スナップショットからの復元

ファイルを削除

```
[root@kou-cent11 /]# rm -rf /adddisk/snap_dummy
[root@kou-cent11 /]# ls /adddisk
lost+found
[root@kou-cent11 /]#
```

復元対象をアンマウントする

```
[root@kou-cent11 /]# umount /adddisk
```

復元する**スナップショット** -> **復元**を選択
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3730333034332f36303535643133312d343533342d326563342d326161622d3235323366363431653764632e706e67__3350×1726_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/f9ae31a2-fe23-0261-d740-29f5b71537b1.png)


メッセージを確認し、問題なければ**YES**を選択
![ストレージの詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/e3df7a79-7f16-e9cf-c84c-1fde417ebbc7.png)

![ストレージの詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/703043/d1a2d069-63cc-e887-c723-f6951c1d7b6a.png)



マウントして復元されたか確認する
削除前と同じデータが復元された

```
[root@kou-cent11 /]# mount /dev/mapper/3600a098038304759643f4d48636a5551 /adddisk
[root@kou-cent11 adddisk]# ls -lh /adddisk
-rw-r--r--. 1 root root 10G 11月 11 05:13 snap_dummy
[root@kou-cent11 /]# df -h
/dev/mapper/3600a098038304759643f4d48636a5551    20G   11G  8.6G   55% /adddisk
```