この記事では、Azure Stack Hub を既存のネットワーク環境に統合する方法を決めるのに役立つ Azure Stack Hub ストレージ インフラストラクチャの情報を提供します。 データ センターの拡張について概要を説明した後、2 つの異なるシナリオを紹介します。 Windows ファイル ストレージ サーバーに接続できます。 Windows iSCSI サーバーに接続することもできます。
Azure Stack Hub へのストレージの拡張の概要
パブリック クラウドにデータを配置するだけでは不十分なシナリオがあります。 おそらく、待機時間の影響を受けやすいコンピューティング集中型の仮想化データベース ワークロードがあり、パブリック クラウドへのラウンドトリップ時間がデータベース ワークロードのパフォーマンスに影響する可能性があります。 ファイル サーバー、NAS、または iSCSI ストレージ アレイに保持されているオンプレミスのデータがあり、オンプレミスのワークロードからアクセスする必要があり、規制やコンプライアンスの目標を満たすためにオンプレミスに存在する必要があります。 これらのシナリオは、データをオンプレミスに配置することが多くの組織にとって重要である理由を示しています。
では、Azure Stack Hub システム上で実行されている、Azure上のストレージ アカウントまたは仮想化されたファイル サーバー内で、そのデータをホストしてみませんか。 Azure とは異なり、Azure Stack Hub のストレージは有限です。 使用できる容量は、ノード数に加えて、購入するノードごとの容量によって完全に異なります。 また、Azure Stack Hubはハイパーコンバージド ソリューションであるため、使用量の需要に合わせてストレージ容量を増やしたい場合は、ノードを追加してコンピューティングフットプリントを拡大する必要もあります。 この要件は、特に、Azure Stack Hub システムの外部で低コストで追加できるコールド アーカイブ ストレージ用の追加容量が必要な場合は、コストが高くなる可能性があります。
この要件により、次のセクションで取り上げるシナリオが示されます。 Azure Stack Hub システム、Azure Stack Hubで実行されている仮想化されたワークロードを、ネットワーク経由でアクセス可能なAzure Stack Hubの外部のストレージ システムに簡単かつ効率的に接続するにはどうすればよいですか?
ストレージを拡張するための設計
次の図は、ワークロードを実行している 1 つの仮想マシンがデータの読み取りと書き込みを目的として外部ストレージ (VM とAzure Stack Hub自体) に接続して利用するシナリオを示しています。 この記事では、ファイルの簡単な取得に重点を置きますが、データベース ファイルのリモート ストレージなど、より複雑なシナリオでこの例を展開できます。
この図では、Azure Stack Hub システム上の VM が複数の NIC でデプロイされていることがわかります。 冗長性とストレージのベスト プラクティスの両方から、ターゲットと宛先の間に複数のパスを設定することが重要です。 状況が複雑になるのは、Azure と同様に、Azure Stack Hub の VM にパブリック IP とプライベート IP の両方がある場合です。 外部ストレージが VM に到達する必要がある場合、プライベート IP は主に Azure Stack Hub システム内、vNet およびサブネット内で使用されるため、パブリック IP 経由でのみ行うことができます。 外部ストレージは、サイト間 VPN を通過して vNet 自体にパンチインしない限り、VM のプライベート IP 空間と通信できません。 そのため、この例では、パブリック IP 空間経由の通信に重点を置く必要があります。 図のパブリック IP 空間で注目すべきことの 1 つは、2 つの異なるパブリック IP プール サブネットがあることです。 既定では、Azure Stack Hubはパブリック IP アドレスの目的でプールを 1 つだけ必要としますが、冗長ルーティングでは 2 つ目のプールを追加することを検討する必要があります。 ただし、現時点では、特定のプールから IP アドレスを選択することはできないため、実際には、複数の仮想ネットワーク カード間で同じプールのパブリック IP を持つ VM が使用される可能性があります。
この説明では、境界デバイスと外部ストレージの間のルーティングが処理され、トラフィックがネットワークを適切に通過できることを前提としています。 この例では、バックボーンが 1 GbE、10 GbE、25 GbE、またはそれ以上高速かどうかは関係ありません。 ただし、この選択は、この外部ストレージにアクセスするすべてのアプリケーションのパフォーマンス ニーズに対処するために、統合を計画する際に考慮することが重要です。
Windows Server iSCSI ターゲットに接続する
このシナリオでは、Azure Stack HubにWindows Server 2019仮想マシンをデプロイして構成し、Windows Server 2019実行される外部 iSCSI ターゲットに接続するように準備します。 必要に応じて、MPIO などの主要な機能を有効にして、VM と外部ストレージの間のパフォーマンスと接続を最適化します。
Windows Server 2019 VM を Azure Stack Hub にデプロイする
Azure Stack Hub管理ポータルから、システムを正しく登録してマーケットプレースに接続すると仮定して、[Marketplace Management] を選択します。 Windows Server 2019イメージがまだない場合は、Azureから [追加] を選択し、Windows Server 2019を検索します。 Windows Server 2019 Datacenter イメージを追加します。
Windows Server 2019イメージのダウンロードには時間がかかる場合があります。
Azure Stack Hub環境にWindows Server 2019イメージを追加したら、Azure Stack Hub ユーザー ポータルにサインインします。
Azure Stack Hub ユーザー ポータルにサインインしたら、IaaS リソース (コンピューティング、ストレージ、ネットワーク) をプロビジョニングできるオファーのサブスクリプションがあることを確認します。
サブスクリプションを取得したら、Azure Stack Hub ユーザー ポータルのダッシュボードに戻り、[リソースの作成] を選択し、[コンピューティング] を選択して、Windows Server 2019 Datacenter ギャラリー項目を選択します。
[ 基本 ] ブレードで、次の情報を入力します。
名前: VM001
ユーザー名: localadmin
[パスワード]、[パスワードの確認]: <ご自分が選択したパスワード>
サブスクリプション: <ご自分が選択したサブスクリプション、コンピューティング/ストレージ/ネットワークのリソースを含む>
リソース グループ: storagetesting (新規作成)
[OK] を選択します。
[サイズの選択] ブレードで [Standard_F8s_v2] を選択し、[選択] を選択します。
[ 設定] ブレードで、 仮想ネットワークを選択します。 [ 仮想ネットワークの作成 ] ブレードで、アドレス空間を 10.10.10.0/23 に設定し、サブネットのアドレス範囲を 10.10.10.0/24 に更新します。 [OK] を選択.
パブリック IP アドレスを選択します。 [ パブリック IP アドレスの作成 ] ブレードで、[ 静的 ] ラジオ ボタンを選択します。
[パブリック受信ポートを選択] ドロップダウンで、[RDP (3389)] を選択します。
他の既定値をそのまま使用し、[OK] を選択します。
概要を読み、検証を待ってから、[ OK] を 選択してデプロイを開始します。 デプロイは約 10 分で完了します。
デプロイが完了したら、[ リソース ] で仮想マシン名 VM001 を選択して [概要] を開きます。
[DNS 名] の下で [構成] を選択し、DNS 名前ラベル「vm001」を指定し、[保存] を選択して、[VM001] を選択します。
[概要] ブレードの右側にある仮想ネットワーク/サブネットのテキストで storagetesting-vnet/default を選択します。
storagetesting-vnet ブレードで、[サブネット] を選択し、[+サブネット] を選択します。 新しい [ サブネットの追加] ブレードで、次の情報を入力し、[ OK] を選択します。
名前: subnet2
アドレス範囲 (CIDR ブロック): 10.10.11.0/24
ネットワーク セキュリティ グループ: なし
ルート テーブル: なし
保存した後、 VM001 を選択します。
概要の左側で、[ ネットワーク] を選択します。
[ ネットワーク インターフェイスのアタッチ] を選択し、[ ネットワーク インターフェイスの作成] を選択します。
[ ネットワーク インターフェイスの作成] で、次の情報を入力します。
名前: vm001nic2
サブネット: サブネットが 10.10.11.0/24 であることを確認する
ネットワーク セキュリティ グループ: VM001-nsg
リソース グループ: storagetesting
ネットワーク インターフェイスをアタッチしたら、 VM001 を選択し、[ 停止 ] を選択して VM をシャットダウンします。
VM が停止 (割り当て解除) されたら、概要の左側で [ ネットワーク] を選択し、[ ネットワーク インターフェイスの接続] を選択して、 vm001nic2 を選択します。 [OK] を選択. 追加の NIC は、しばらくすると VM に追加されます。
[ ネットワーク ] ブレードで vm001nic2 タブを選択し、[ ネットワーク インターフェイス:vm001nic2] を選択します。
vm001nic インターフェイス ブレードで [IP 構成] を選択し、ブレードの中央にある [ipconfig1] を選択します。
[ipconfig1 設定] ブレードで、[パブリック IP アドレスに 対して有効] を選択し、[ 必要な設定の構成] を選択します。 [ 新規作成] を選択し、名前として「vm001nic2pip」と入力し、[ 静的] を選択して、[ OK] を選択します。 保存を選びます。
設定を保存した後、VM001 の概要に戻り、[開始] を選択して、構成した Windows Server 2019 VM を起動します。
VM が起動したら、VM001 への RDP セッションを確立 します。
VM 内で接続した後、 CMD (管理者として) を開き、 ホスト名 を入力して OS のコンピューター名を取得します。 これは VM001 と一致している必要があります。 後で使用するために、この名前を書き留めておきます。
Azure Stack Hub 上の Windows Server 2019 VM で 2 番目のネットワーク アダプターを構成する
既定では、Azure Stack Hub からは、仮想マシンに接続されている最初の (プライマリ) ネットワーク インターフェイスに既定のゲートウェイが割り当てられます。 Azure Stack Hubでは、仮想マシンに接続されている追加の (セカンダリ) ネットワーク インターフェイスに既定のゲートウェイが割り当てられません。 そのため、既定では、セカンダリ ネットワーク インターフェイスが存在するサブネットの外部のリソースと通信することはできません。 ただし、セカンダリ ネットワーク インターフェイスはサブネットの外部のリソースと通信できますが、通信を有効にする手順はオペレーティング システムによって異なります。
まだ接続を開いていない場合は、 VM001 への RDP 接続を確立します。
管理者として CMD を開き、route print を実行します。これにより、この VM 内の 2 つのインターフェイス (Hyper-V ネットワーク アダプター) が返されます。
ipconfig を実行して、セカンダリ ネットワーク インターフェイスに割り当てられている IP アドレスを確認します。 この例では、インターフェイス 6 には 10.10.11.4 が割り当てられています。 セカンダリ ネットワーク インターフェイスに対して、既定のゲートウェイ アドレスは返されません。
セカンダリ ネットワーク インターフェイスのサブネットの外部にあるアドレスに宛てたすべてのトラフィックを、サブネットのゲートウェイにルーティングするには、CMD から次のコマンドを実行します。
route add -p 0.0.0.0 MASK 0.0.0.0 <ipaddress> METRIC 5015 IF <interface><ipaddress>は、現在のサブネットの .1 アドレスで、<interface>はインターフェイス番号です。
追加されたルートがルート テーブル内にあることを確認するには、route print コマンドを入力します。
次の ping コマンドを実行して送信通信を検証することもできます。
ping 8.8.8.8 -S 10.10.11.4
-Sフラグを使用すると、ソース アドレスを指定できます。この例では、10.10.11.4 が、現在既定のゲートウェイが設定されている NIC の IP アドレスです。CMD を閉じます。
Windows Server 2019 iSCSI ターゲットを構成する
このシナリオでは、Windows Server 2019 iSCSI ターゲットがAzure Stack Hub環境の外部でHyper-Vで実行されている仮想マシンである構成を検証します。 この仮想マシンは、8 つの仮想プロセッサ、1 つの VHDX ファイル、最も重要な 2 つの仮想ネットワーク アダプターを使用して構成します。 理想的なシナリオでは、これらのネットワーク アダプターにはルーティング可能なサブネットが異なりますが、この検証では、同じサブネット上にネットワーク アダプターがあります。
iSCSI ターゲット サーバーの場合は、Hyper-V、VMware、または選択した代替アプライアンス (専用の物理 iSCSI SAN など) で実行されているWindows Server 2016またはWindows Server 2019、物理または仮想を使用できます。 主な焦点は、Azure Stack Hub システムとの間の接続です。 ただし、ソースと宛先の間に複数のパスを持つことが望ましいのは、冗長性が高まり、MPIO などのパフォーマンス向上を促進する高度な機能を使用できるためです。
ファイル共有の構成に進む前に、Windows Server 2019 iSCSI ターゲットを最新の累積的な更新プログラムと修正プログラムで更新し、必要に応じて再起動します。
更新と再起動後、このサーバーを iSCSI ターゲットとして構成できるようになりました。
サーバー マネージャーを開き、[管理] を選択し、[ロールと機能の追加] を選択します。
開いたら、[次へ] を選択し、[役割ベースまたは機能ベースのインストール] を選択し、[サーバーの役割の選択] ページに到達するまで選択を進めます。
[ ファイル サービスと記憶域サービス] を展開し、[ ファイル] と [iSCSI サービス] を展開して、[ iSCSI ターゲット サーバー ] ボックスを選択します。 ポップアップ プロンプトを受け入れて新しい機能を追加し、完了に進みます。
完了したら、サーバー マネージャーを閉じます。
エクスプローラーを開き、C:\ に移動し、iSCSI という名前の新しいフォルダーを作成します。
サーバー マネージャーをもう一度開き、左側のメニューから [ファイル サービスと記憶域サービス] を選択します。
[iSCSI] を選択し、右側のペインにある [iSCSI 仮想ディスクを作成するには、新しい iSCSI 仮想ディスク ウィザードを開始してください] リンクを選択します。 ダイアログ ボックスが開きます。
[iSCSI 仮想ディスクの場所を選択] ページで [カスタム パスを入力してください] のラジオ ボタンを選択し、C:\iSCSI を参照して、[次へ] を選択します。
iSCSI 仮想ディスクの名前として 「iSCSIdisk1 」と入力し、必要に応じて説明を追加して、[ 次へ] を選択します。
仮想ディスクのサイズを 10 GB に設定し、[ 固定サイズ] を選択して、[ 次へ] を選択します。
これは新しいターゲットであるため、[New iSCSI target]\(新しい iSCSI ターゲット\) を選択し、[次へ] を選択します。
[ターゲット名の指定] ページで「TARGET1」と入力し、[次へ] を選択します。
[アクセス サーバーの指定] ページで [追加] を選択します。 この手順では、iSCSI ターゲットへの接続が承認されている特定 のイニシエーター を入力するためのダイアログが開きます。
[イニシエーター ID の追加] ウィンドウで、[選択した種類の値の入力] を選択し、[種類] で、IQN がドロップダウン メニューで選択されていることを確認します。 iqn.1991-05.com.microsoft:<computername><computername> は VM001 のコンピューター名を入力し、[次へ] を選択します。
[ 認証の有効化 ] ページで、ボックスを空白のままにして、[ 次へ] を選択します。
選択内容を確認し、[ 作成] を選択して閉じます。 サーバー マネージャーで作成した iSCSI 仮想ディスクが表示されます。
Windows Server 2019 iSCSI イニシエーターと MPIO を構成する
iSCSI イニシエーターを設定するには、まず、Azure Stack Hub システムの Azure Stack Hub ユーザー ポータルにサインインし、VM001 の概要ページに移動します。
VM001 への RDP 接続を確立します。 接続したら、サーバー マネージャーを開きます。
[役割と機能の追加] を選択し、[機能] ページが表示されるまで、既定値を受け入れます。
[機能] ページで [マルチパス I/O] を追加し、[次へ] を選択します。
必要に応じて[ 移行先サーバーを自動的に再起動 する]ボックスを選択し、[ インストール]、[ 閉じる]の順に選択します。 再起動が必要になる可能性が最も高いので、完了したら VM001 に再接続します。
サーバー マネージャーに戻り、MPIO のインストールが完了するまで待ち、[閉じる] を選択してから、[ツール] を選択して MPIO を選択します。
[ マルチパスの検出 ] タブを選択し、[ iSCSI デバイスのサポートを追加 する] ボックスを選択し、[ 追加] を選択し、[ はい ] を選択して VM001 を 再起動 します。 ウィンドウが表示されない場合は、[ OK] を選択し、手動で再起動します。
再起動したら、VM001 への新しい RDP 接続を確立します。
接続したら、サーバー マネージャーを開き、[ツール]を選択し、[iSCSI イニシエーター] を選択します。
Microsoft iSCSI ウィンドウが表示されたら、[はい] を選択して、既定で iSCSI サービスを実行できるようにします。
[iSCSI イニシエーターのプロパティ] ウィンドウで、[探索] タブを選択します。
2 つのターゲットを追加するので、最初に [ ポータルの検出 ] ボタンを選択します。
iSCSI ターゲット サーバーの最初の IP アドレスを入力し、[詳細] を選択します。
[ 詳細設定] ウィンドウで、次を選択し、[ OK] を選択します。
ローカル アダプター: Microsoft iSCSI イニシエーター。
イニシエーター IP: 10.10.10.4。
[ターゲット ポータルの探索] ウィンドウに戻り、[OK] を選択します。
次の値でプロセスを繰り返します。
IP アドレス: 2 番目の iSCSI ターゲット IP アドレス。
ローカル アダプター: Microsoft iSCSI イニシエーター。
イニシエーター IP: 10.10.11.4。
ターゲット ポータルは次のようになります。[アドレス] 列には、独自の iSCSI ターゲット IP が指定されています。
[ターゲット] タブに戻り、ウィンドウの中央から iSCSI ターゲットを選択し、[接続] を選択します。
[ ターゲットに接続 ] ウィンドウで、[ マルチパスを有効にする ] ボックスを選択し、[詳細設定] を選択 します。
次の情報を入力し、[OK] を選択します。 [ ターゲットに接続 ] ウィンドウで、[ OK] を選択します。
- ローカル アダプター: Microsoft iSCSI イニシエーター。
- イニシエーター IP: 10.10.10.4。
- ターゲット ポータル IP: <最初の iSCSI ターゲット IP / 3260>。
2 番目のイニシエーターとターゲットの組み合わせに対してプロセスを繰り返します。
- ローカル アダプター: Microsoft iSCSI イニシエーター。
- イニシエーター IP: 10.10.11.4。
- ターゲット ポータル IP: <2 番目の iSCSI ターゲット IP / 3260>。
[ ボリュームとデバイス ] タブを選択し、[ 自動構成] を選択します。 MPIO ボリュームが表示されます。
[ ターゲット ] タブに戻り、[ デバイス ] を選択すると、前に作成した 1 つの iSCSI VHD への 2 つの接続が表示されます。
MPIO ボタンを選択すると、負荷分散ポリシーとパスの詳細が表示されます。
[OK] を 3 回選択してウィンドウと iSCSI イニシエーターを閉じます。
ディスク管理 (diskmgmt.msc) を開くと、[ ディスクの初期化 ] ウィンドウが表示されます。
既定値をそのまま使用するには、[ OK] を選択します 。 次に、新しいディスクまで下にスクロールし、右クリックして[ 新しいシンプル ボリューム]を選択します。
ウィザードの指示に従って、既定値を受け入れます。 ボリューム ラベルを「iSCSIdisk1」に変更し、[完了] を選択します。
ドライブはフォーマットされ、ドライブ文字が表示されます。
エクスプローラーを開き、[ この PC ] を選択すると、VM001 に接続されている新しいドライブが表示されます。
外部ストレージ接続をテストする
通信を検証し、基本的なファイル コピー テストを実行するには、まず、Azure Stack Hub システムの Azure Stack Hub ユーザー ポータルにサインインし、VM001 の概要ページに移動します。
[ 接続 ] を選択して VM001 への RDP 接続を確立します。
タスク マネージャーを開き、[パフォーマンス] タブを選択し、ウィンドウを RDP セッションの右側にスナップします。
管理者として Windows PowerShell ISE を開き、RDP セッションの左側にスナップします。 ISE の右側で、[コマンド] ペインを閉じ、[スクリプト] ボタンを選択して、ISE ウィンドウの上部にある白いスクリプト ペインを展開します。
この VM には、VHD を作成するためのネイティブ PowerShell モジュールはありません。これは、iSCSI ターゲットへのファイル転送をテストするために大きなファイルとして使用します。 この場合は、DiskPart を実行して VHD ファイルを作成します。 ISE で、次の手順を実行します。
Start-Process Diskpart新しい CMD ウィンドウが開きます。 次のコマンドを入力します。
Create vdisk file="c:\\test.vhd" type=fixed maximum=5120
このプロセスには数秒しかかかりません。 完了したら、 エクスプローラー を開き、C:\ に移動します。新しい test.vhd ファイルと 5 GB のサイズが表示されます。
CMD ウィンドウを閉じ、ISE に戻ります。 スクリプト ウィンドウに次のコマンドを入力します。 F:\ を、先ほど適用した iSCSI ターゲット ドライブ文字に置き換えます。
Copy-Item "C:\\test.vhd" -Destination "F:\\"スクリプト ウィンドウで行を選択し、F8 を押してを実行します。
コマンドの実行中に、2 つのネットワーク アダプターを監視し、VM001 の両方のネットワーク アダプター間でデータの転送が行われるのを確認します。 また、各ネットワーク アダプターが負荷を均等に共有していることにも注意してください。
このシナリオでは、Azure Stack Hubで実行されているワークロードと外部ストレージ アレイ (この場合は Windows Server ベースの iSCSI ターゲット) の間の接続性が強調されています。 このシナリオは、パフォーマンス テストとして設計されておらず、代替の iSCSI ベースのアプライアンスを使用している場合に実行する必要がある手順を反映するものではありません。 ただし、ワークロードをAzure Stack Hubにデプロイし、Azure Stack Hub環境の外部のストレージ システムに接続する際に行う主要な考慮事項の一部を取り上げます。