オンプレのESXi6.0でAWS StorageGatewayを作成2　～ボリュームゲートウェイ：保管型ボリューム編～

オンプレのESXi6.0でAWS StorageGatewayファイルゲートウェイを作成 ～ボリュームゲートウェイ：保管型ボリューム編～
+ 2017.08.4　create

前回の記事 ([オンプレのESXi6.0でAWS StorageGatewayファイルゲートウェイを作成](http://qiita.com/teco_naka/items/213045ebf4f9aa49ea89))に続いて保管型ボリューム編です。
保管型ボリュームは対象ボリュームごとスナップショットとしてS3へ保存されます。
データの自動バックアップ等に使えそうです。

**ゲートウェイの種類**
・**ファイルゲートウェイ**
　ファイルゲートウェイをNFSのマウントポイントとしてS3へデータを保存できます。

・**ボリュームゲートウェイ**
　オンプレミスのアプリケーションサーバーから iSCSI デバイスとしてマウントできます。
　「キャッシュ型ボリューム」と「保管型ボリューム」の２パターンあり
　　- キャッシュ型ボリューム
　　  データをS3に保存し、頻繁にアクセスするデータサブセットのコピーをローカルに保持します。
　　- **保管型ボリューム
　　  データをローカルに保存し、そのデータのポイントインタイムスナップショットをS3に非同期バックアップします。今回はこちらを作成します。**
　
・**仮想テープライブラリ**
　Amazon S3 にデータをバックアップして、既存のテープベースのプロセスを使用しながら、Amazon Glacier に保存します。


---


環境
---
Hypervisor:ESXi6.0  ([サポートされているハイパーバイザーとホストの要件](http://docs.aws.amazon.com/ja_jp/storagegateway/latest/userguide/Requirements.html#requirements-host) )
クライアント:CentOS Linux release 7.3.1611 (Core)

ゲートウェイの作成
---
### 1. awsコンソール からStorageGatewayを作成
　　ボリュームウェイ-保管型ボリュームを選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178248/a9cfc3c9-8e92-177b-af98-58bca83efdc2.png)

### 2. ESXiのOVAイメージダウンロード
　　イメージのダウンロードをポチします。
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-06-09%2018_12_50-AWS%20Storage%20Gateway.png?raw=true)

**ダウンロードできたら一旦awsコンソールからは離れてESXi側で仮想マシンを作成します。**

### 3. ESXiの仮想マシンへデプロイ
　　３．１新規仮想マシン作成
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_22_03-esxi6.0%20-%20VMware%20ESXi.png?raw=true)
　　OVFファイルまたはOVAファイルから仮想マシンをデプロイを選択
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_22_33-esxi6.0%20-%20VMware%20ESXi.png?raw=true)
　　仮想マシン名を入力し、先ほどダウンロードしたOVAファイルを指定
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_31_01-esxi6.0%20-%20VMware%20ESXi.png?raw=true)
　　データストアの選択
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_39_36-esxi6.0%20-%20VMware%20ESXi.png?raw=true)
　　デプロイオプション　ディスクのプロビジョニングは**シック**を選択
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_40_22-esxi6.0%20-%20VMware%20ESXi.png?raw=true)
　　完了ポチして作成
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-16%2018_40_42-esxi6.0%20-%20VMware%20ESXi.png?raw=true)

- ハードディスク2にアップロードバッファ用とアプリケーションデータ用のディスクを追加します。（最低2つ以上のディスクが必要です。）  
ディスク１と同様にシックプロビジョニングで作成します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178248/c8d1d509-9953-1272-ae39-df12c1e59175.png)


- 時刻の同期
 仮想マシンオプションの時刻設定
 - [x] ホストとゲスト時間を同期
 にチェックを入れます 
![image.png](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-06-12%2019_37_10-esxi6.0%20-%20VMware%20ESXi.png?raw=true)

ゲートウェイを起動します。
固定IP等設定する場合はコンソールメニューから設定します。
初めてローカルコンソールにログインする場合は、sguser というユーザー名と sgpasswordを使用して VM にログインします。
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-05-17%2013_53_46-esxi6.0%20-%20VMware%20ESXi.png?raw=true)

　　
**ここでawsコンソールに戻ります。**

### 4. ゲートウェイに接続
　　作成したゲートウェイのIPを入力します。
　　IPはオンプレ環境のローカルIPで大丈夫です。
![alt](https://github.com/nakamuraseiji/img/blob/master/storagegw/2017-06-16%2018_53_09-AWS%20Storage%20Gateway.png?raw=true)

### 5. ゲートウェイのアクティブ化
　　タイムゾーン、ゲートウェイ名を入力してアクティブ化します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/178248/17001c52-a787-f10e-8308-15ee222bffbc.png)


### 6. ボリュームの作成
　　アプリケーションがデータを読み書きするストレージボリュームを作成します。
　　・ゲートウェイ名を選択します。
　　・ディスクIDを選択します。
　　・ボリュームの内容は新規なので「新しい空のボリューム」を選択します。
　　・iSCSIターゲット名を入力します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178248/b495fa0e-0162-20ec-04cd-ea312a6f22c6.png)

### 7. CHAP認証の設定
　　ボリュームのチャレンジハンドシェイク認証プロトコル (CHAP) の設定は今度にしてここではスキップします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/178248/a13824eb-1ec8-355f-1b69-5a5b0602b979.png)


### 8. クライアントOS側の設定
　　クライアントのCentosでiSCSIイニシエータパッケージをインストールして設定します。

  ```text:iscsi-initiator-utils
インストール
# yum install iscsi-initiator-utils
サービス起動
# systemctl enable iscsid.service
# systemctl start iscsid
# service iscsid status
ターゲット検出
/sbin/iscsiadm --mode discovery --type sendtargets --portal 192.168.1.1:3260
192.168.1.1:3260,1 iqn.1997-05.com.amazon:vgw-target1
ターゲットに接続
# /sbin/iscsiadm --mode node --targetname iqn.1997-05.com.amazon:vgw-target1 --portal 192.168.1.1:3260,1 --login
Logging in to [iface: default, target: iqn.1997-05.com.amazon:vgw-target1, portal: 192.168.1.1,3260] (multiple)
Login to [iface: default, target: iqn.1997-05.com.amazon:vgw-target1, portal: 192.168.1.1,3260] successful.
ボリュームのアタッチ確認
# ls -l /dev/disk/by-path
合計 0
lrwxrwxrwx. 1 root root  9  8月  4 16:26 ip-192.168.1.1:3260-iscsi-iqn.1997-05.com.amazon:vgw-target1-lun-0 -> ../../sdb
```

  ```text:iscsi設定カスタマイズ
設定編集：タイムアウトを長く取ります。
# vi /etc/iscsi/iscsid.conf
98c98
< node.session.timeo.replacement_timeout = 600
---
> node.session.timeo.replacement_timeout = 120
109c109
< node.conn[0].timeo.noop_out_interval = 60
---
> node.conn[0].timeo.noop_out_interval = 5
115c115
< node.conn[0].timeo.noop_out_timeout = 600
---
> node.conn[0].timeo.noop_out_timeout = 5

再接続
# iscsiadm -m discoverydb -t sendtargets -p 192.168.1.1:3260 -o delete
# iscsiadm --mode node --targetname iqn.1997-05.com.amazon:vgw-target1 --portal 192.168.1.1:3260,1 --login

# echo 600 > /sys/block/sdb/device/timeout
システム再起動(いならいかも・・)
# shutdown -r now
```

```text:ディスクマウント
ファイルシステム作成
# fdisk /dev/sdb
オプション指定は特になくnコマンドデフォルトで作成
デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   104857599    52427776   83  Linux
# mkfs.xfs /dev/sdb1
UUID確認
# blkid
/dev/sdb1: UUID="3679ed59-a4e3-4f4a-9c70-ae231ea2bc28" TYPE="xfs"
fstabに書き込み
# vi /etc/fstab
UUID=3679ed59-a4e3-4f4a-9c70-ae231ea2bc28 /volumegw               xfs     defaults        0 0

ディレクトリ作成
# mkdir /volumegw

マウント
# mount /volumegw

マウント確認
# df -h
ファイルシス        サイズ  使用  残り 使用% マウント位置
/dev/mapper/cl-root    14G  2.4G   12G   18% /
devtmpfs              487M     0  487M    0% /dev
tmpfs                 497M     0  497M    0% /dev/shm
tmpfs                 497M  6.7M  490M    2% /run
tmpfs                 497M     0  497M    0% /sys/fs/cgroup
/dev/sda1            1014M  229M  786M   23% /boot
tmpfs                 100M     0  100M    0% /run/user/0
/dev/sdb1              50G   33M   50G    1% /volumegw

```

これでボリュームゲートウェイの作成完了。うぇい
後はファイル作ってテストするなりなんなりと

AWSコンソールからボリュームのスナップショットスケジュールを設定しておけば
/volumegwの自動バックアップがとれますねー