2017年3月22日水曜日

AWS Storage Gateway のボリュームゲートウェイを使って iSCSI のデータストアを VMware 上に構築してみた

概要

AWS Storage Gateway には iSCSI のストレージ I/O があり Linux マシンや Windows マシンに iSCSI デバイスとしてディスクをマウントすることができます
VMware のデータストアにも iSCSI アダプタがあるため iSCSI なデータストアをホストにマウントすることができます
今回は AWS Storage Gateway のボリュームゲートウェイに含まれる iSCSI インタフェースの機能を使って VMware 上に iSCSI なデータストアを構築してみました

環境

  • VMware vCenter Server 6.0.0u2
  • VMware ESXi 6.0.0 3620759
  • AWS Storage Gateway (20170322 時点)
  • AWS Storage Gateway Appliance

AWS Storage Gateway Appliance のデプロイ

以下の URL から ova ファイルをダウンロードすることができます
https://dslbbkfzjw91h.cloudfront.net/AWS-Storage-Gateway.zip

Storage Gateway のコンソール上で作業をすすめる時に表示されるダウンロード URL と同じものです
他に Storage Gateway File という ova もありますが、そちらではないのでご注意ください
ダウンロードしたら解凍しましょう

ova のデプロイは vSphere Client 上でポチポチするだけなので箇条書きで簡単に説明します

  1. vSphere Web Client を開く
  2. ホストを選択 -> アクション -> OVF テンプレートのデプロイ
  3. ローカルファイルの選択で ova ファイルを選択
  4. 詳細の確認をする (特に変更なし)
  5. VM の名前を設定しデプロイするフォルダを選択
  6. デプロイするデータストアを選択 (データストアは 200GB ほど空きがあると嬉しい)、シックを選択
  7. ネットワークを設定
  8. デプロイ後にパワーオンにはチェックを入れずに作成開始

で OK です
デプロイ後に設定の変更を行うのでパワーオンはしないようにしてください
だいたい 10 - 20 分ほどで完了します

Appliance の設定変更

デプロイできた Appliance を選択し「設定の編集」を選択します
以下を修正、追加します

  • 50GB のディスクを 2 本追加する (ストレージの容量に余裕がなければ 50GB もなくても OK です)
  • iSCSI コントローラのタイプを「VMware 準仮想化」に変更
  • 仮想マシン オプション -> VMware Tools -> 時刻 にチェックを入れる

修正できたら OK で完了します
設定変更後は Appliance を起動しましょう
起動して IP アドレスが問題なく取得できれば OK です
これで Appliance の設定は完了です

AWS 側に Storage Gateway を追加する

ここからは AWS のコンソールで作業します
Storage Gateway のコンソールにアクセスしてください

ここで一点注意が必要なのですが、作業する環境から先程構築した Appliance にアクセスできる必要があります
もう少しいうと作業するブラウザが Appliance にアクセスできる必要があります
もし Appliance にリーチャビリティのない環境からやる場合は Appliance 側の環境にデスクトップ環境を用意してそこでブラウザを開いて作業するなどしてください

まずボリュームゲートウェイとして Storage Gateway を作成します
aws_storage_gateway_iscsi1.png

ホストプラットフォームの選択で VMware ESXi を選択します
ここでダウンロードできる zip ファイルは先程ダウンロードした Appliance になります
aws_storage_gateway_iscsi2.png

ゲートウェイに接続で先程起動した Appliance の IP を入力します
ここでブラウザから IP にアクセスできないとエラーになります
aws_storage_gateway_iscsi3.png

ゲートウェイのアクティブ化を行います
タイムゾーンと名前を設定しアクティブ化します
aws_storage_gateway_iscsi4.png

ローカルディスクを作成します
先程追加した 50GB のディスク 2 本をそれぞれ「アップロードバッファ」「キャッシュ」に設定します
aws_storage_gateway_iscsi5.png

これで ボリュームゲートウェイとしての Storage Gateway の作成は完了です

ボリュームを作成する

iSCSI としてマウントするには領域が必要になります
Appliance をデプロイしただけでは、iSCSI のインタフェースが提供されるだけで保存領域がないのでまだ使えません

左メニューのボリュームを選択します
ボリュームの作成から必要な情報を入力していきます
容量は先程作成した 50GB のローカル領域から必要な領域を切り出してください (今回は 20GB)
iSCSI ターゲット名は好きな名前を入れてください
あとで AWS 専用の suffiex と連結してターゲット名が作成されます
aws_storage_gateway_iscsi6.png

その後で CHAP 認証の設定が画面になりますが、今回は認証は設定しないのでスキップします

作成されるまで待ちましょう
だいたい 10 分ほどで作成が完了します

iSCSI アダプタを追加する

ボリュームが作成できたらホストに iSCSI データストアとしてマウントして使えるようにします
ここからの作業は vSphere Client に戻ります

ホストを選択 -> 管理 -> ストレージアダプタ -> iSCSI アダプタを選択 -> ターゲット -> 動的検出 -> 追加
で Appliance を追加します
Appliance の IP アドレスを入力し OK です
ポートはデフォルトの 3260 のままで OK です
aws_storage_gateway_iscsi7.png

追加できたら「最近構成が変更されたため、このストレージ アダプタを再スキャンすることをお勧めします。」と表示されるので素直に再スキャンしましょう
するとストレージアダプタ「ターゲット」と「アダプタ」の欄が 0 -> 1 になっていることが確認できると思います

ボリュームを追加していないとここが増えないので注意してください

iSCSI データストアをホストに追加する

あとはホストに iSCSI データストアをマウントするだけです
ストレージデバイスの一覧を確認すると「Amazon iSCSI Disk (eui.00928a31daae1551c8000000)」というディスクが追加されていると思います

ホストを選択 -> アクション -> ストレージ -> 新しいデータストア

を選択します
そして

VMFS -> データストア名入力、デバイス選択 -> パーティションの設定 (全部割り当てで OK) -> 終了

でマウントしましょう
データストアの一覧で iSCSI のデバイスが追加されていることを確認します
aws_storage_gateway_iscsi8.png

で、このあと

この後実際に VM にディスクを追加してパーティションを作成してフォーマットしてマウントして使おうとしたのですが、実はできませんでした
mkfs したところで止まってしまいうんともすんとも言わなくなってしまいました
いろいろ試したんですが、結局うまく動作せず Appliance のトラシュをする前に力尽きました
もしかしたら何かやり方がおかしかっただけかもしれませんが、、、
(うまく動いたって方がいたら教えてほしいです、、、)
おそらく適当な VM に iSCSI イニシエータとかをインストールして Storage Gateway から直接マウントすれば iSCSI ストレージとして普通に使えるんだと思います
今回はそうではなくて ESXi のデータストアとして使いたかった感じです

あと今回の作業で全く出てこなかった s3 ですが、どうやら Storage Gateway は定期的にスナップショット取っておりそのボリュームデータが s3 に保存されるようです
で、その保存のタイミングとしてキャッシュボリュームと保管型ボリュームがあり、それぞれ s3 にスナップショットを取るタイミングが違うみたいです
またスナップショットはスケジューリングして定期的に取得することもできるみたいです

s3 に溜まったスナップショットのボリュームデータは s3 から直接見ることはできません
EBS ボリュームとして VM を別途作成して、その VM 内で確認するようです

Tips

Appliance にログインする方法はコンソールで sguser/sgpassword でログインできます
基本的な bash のコマンドなどは使えないので難しいトラシュはできないと思いますsshd もあがっていないようでした

最後に

AWS の Storage Gateway を使って VMware 環境上に iSCSI データストアを構築しました
別の機能でファイル共有という機能がそっちだと s3 上でファイルの内容の確認もできるそうなので、次回はそれを試してみたいと思います

参考サイト

0 件のコメント:

コメントを投稿