2021年12月

28

【やってみた】Azure Stack HCIを導入してみた:Azure Stack HCI構築編

こんにちは。
てくさぽBLOGメンバーの宮里です。

今回はAzure Stack HCIの検証をしてみたので3回シリーズで検証で得られた知見をお伝えします。
検証の目的は、Azure Stack HCIの構築・管理・クラウドとの連携をどのような手順でおこなうのか、使いやすいのか、を実機を使って体感してみることです。

今回は3回シリーズの1回目で、Windows Server 2019の2台をAzure Stack HCIとして構築した手順をご紹介します。

第一回:【やってみた】Azure Stack HCIを導入してみた:Azure Stack HCI構築編 *本編
第二回:【やってみた】Azure Stack HCIを導入してみた:管理機能編
第三回:【やってみた】Azure Stack HCIを導入してみた:Azureと連携編
 

Index


 

はじめに

まず、Azure Stack HCIについて簡単に説明します。現在のAzure Stack HCIは2種類あります。1つはクラウドのAzureがサブスクリプションで提供する専用OSを利用するタイプ、もう1つはWindows Serverで提供される機能を利用するタイプです。今回は後者で検証します。
Windows Server が持つ仮想化機能のHyper-VとSDS(Software defined Storage)機能のS2D(ストレージスペースダイレクト)で、外部ストレージを使用しない仮想基盤であるHCI(ハイパーコンバージドインフラ)を実現します。

私は実機を使った検証や構築は初めての経験になります。そのため、うまくできるのか不安な気持ちと楽しみの気持ちの半々で挑みました。

検証機につきましては、レノボ・エンタープライズ・ソリューションズ様から実機をお借りして行いました。
レノボ・エンタープライズ・ソリューションズ様、ありがとうございます!

今回の検証環境の概要図はこちらになります。お借りしたAzure Stack HCIのハードウェアはLenovo ThinkAgile MXの2ノード(以下、MXサーバー)になります。もう1台、周辺サーバー用にSR630(以下、Hyper-Vサーバー)もあります。オンプレ側はこれら物理サーバー3台を使用して検証を行いました。



 

1. 事前準備

MXサーバーでの構築検証の前に以下を実施しておきます。物理サーバーへのWindows Server 2019インストールには、XClarity Controllerの仮想ファイル(ISOイメージ)のマッピング機能を利用したのでインストール用メディアを用意する必要はありませんでした。

  • Hyper-VサーバーにWindows Server 2019 構築。周辺サーバーを仮想マシンで構築するためHyper-Vを有効にします。
  • MXサーバーの2台にWindows Server 2019 構築。ADドメインにメンバーサーバーとして参加しておきます。
  • 以下の2台の周辺サーバーをSR630のHyper-Vサーバー上に仮想マシンで構築します。
    - 周辺サーバー1:Active Directory ドメインコントローラ(以下、ADサーバー)
    - 周辺サーバー2:Windows Admin Centerサーバー(以下、WACサーバー)*Azure Stack HCIの管理をWACサーバーから行います。WACサーバー自体の構築手順は第2回のブログでお伝えします。


 

2. MXサーバー環境構築

2-1. 必要なコンポーネントの追加

WACサーバーにて、ドメインのadministratorアカウントでMXサーバーに接続します。

「役割と機能」にて”Hyper-V”、”データ重複排除”、”Data Center Bridging”、”フェールオーバークラスタリング”の4つの役割と機能を選択してインストールします(2台とも)。

4つの役割と機能を選択すると関連する必要なコンポーネントもまとめてインストールされます。

2-2. ネットワークの設定

今回設定したAzure Stack HCIのネットワーク構成は以下になります。2台のノード間は直接接続し、外部ネットワーク用の物理スイッチとの接続は各ノードとも1ポートです。

今回のネットワーク設定は「Microsoft Storage Spaces Direct (S2D) Deployment Guide」(以下、デプロイメントガイド)という資料を参考にしました。英語資料ですが接続構成毎に詳細に解説してありますので、ぜひMXサーバー構築の際には一読されることをおすすめします。今回はデプロイメントガイド43ページからの「RoCE: 2-3 nodes, direct-connected」という箇所を参考にしました。

MXサーバーにリモートデスクトップ接続して以下の設定作業を行います。2台ありますのでそれぞれで設定します。

以下はホストOSが認識しているネットワークアダプターです。この後、PowerShellで設定していくので、コマンドの入力をしやすくするために「Slot4 ポート1」「Slot4 ポート2」と言う名前になっているMellanoxアダプターの名前を変更します。

”pNIC1-Port1”、”pNIC1-Port2”とそれぞれ変更しました。

続いて”IBM USB Remote NDIS Network Device”を無効にします。これが有効のままだとこの後のフェールオーバークラスタの設定ウィザードでエラーになるためです。

ここからPowerShellで設定します。デプロイメントガイド49ページに沿って実行していきます。以下の設定を行いました。

  • DCBXプロトコルのブロック(Set-NetQosDcbxSettingコマンド)Set-NetQosDcbxSetting
  • 帯域制御(QoS)の設定(New-NetQosPolicyコマンド)
  • SMB-Directのフローコントロールの有効化(Enable-NetQosFlowControlコマンド)
  • その他通信のフローコントロールの無効化(Disable-NetQosFlowControlコマンド)
  • 通信制御をノード間通信用に適用(Enable-NetAdapterQosコマンド)
  • 最低帯域の設定 – SMB-Directは50%、Cluster-HBは1%(New-NetQosTrafficClassコマンド)
  • Mellanoxアダプターのフロー制御を無効にする(Set-NetAdapterAdvancedPropertyコマンド)
PS C:\Users\Administrator> Set-NetQosDcbxSetting -InterfaceAlias “pNIC1-Port1” -Willing $False

確認

この操作を実行しますか?

Set-NetQosDcbxSetting -Willing $false -InterfaceAlias “pNIC1-Port1”

[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): y

PS C:\Users\Administrator> Set-NetQosDcbxSetting -InterfaceAlias “pNIC1-Port2” -Willing $False

確認

この操作を実行しますか?

Set-NetQosDcbxSetting -Willing $false -InterfaceAlias “pNIC1-Port2”

[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): y

PS C:\Users\Administrator> New-NetQosPolicy -Name “SMB” -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3

Name           : SMB
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
JobObject      :
NetDirectPort  : 445
PriorityValue  : 3

PS C:\Users\Administrator> New-NetQosPolicy -Name “Cluster-HB” -Cluster -PriorityValue8021Action 7

Name           : Cluster-HB
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
Template       : Cluster
JobObject      :
PriorityValue  : 7

PS C:\Users\Administrator> New-NetQosPolicy -Name “Default” -Default -PriorityValue8021Action 0

Name           : Default
Owner          : Group Policy (Machine)
NetworkProfile : All
Precedence     : 127
Template       : Default
JobObject      :
PriorityValue  : 0

PS C:\Users\Administrator> Enable-NetQosFlowControl -Priority 3

PS C:\Users\Administrator> Disable-NetQosFlowControl -Priority 0,1,2,4,5,6,7

PS C:\Users\Administrator> Enable-NetAdapterQos -Name “pNIC1-Port1”

PS C:\Users\Administrator> Enable-NetAdapterQos -Name “pNIC1-Port2”

PS C:\Users\Administrator> New-NetQosTrafficClass “SMB” -Priority 3 -BandwidthPercentage 50 -Algorithm ETS

Name                      Algorithm Bandwidth(%) Priority                  PolicySet        IfIndex IfAlias

—-                       ———       ————        ——–                     ———          ——- ——-
SMB                       ETS              50                      3                               Global

PS C:\Users\Administrator> New-NetQosTrafficClass “Cluster-HB” -Priority 7 -BandwidthPercentage 1 -Algorithm ETS

Name                      Algorithm Bandwidth(%) Priority                  PolicySet        IfIndex IfAlias

—-                      ——— ———— ——–                  ———        ——- ——-

Cluster-HB                ETS       1            7                         Global

PS C:\Users\Administrator> Set-NetAdapterAdvancedProperty -Name “pNIC1-Port1” -RegistryKeyword “*FlowControl” -RegistryValue 0

PS C:\Users\Administrator> Set-NetAdapterAdvancedProperty -Name “pNIC1-Port2” -RegistryKeyword “*FlowControl” -RegistryValue 0

PS C:\Users\Administrator>

次にHyper-Vマネージャーで仮想スイッチを作成します。Hyper-Vマネージャーは[スタート] ボタン-[管理ツール] -[Hyper-V マネージャー] で実行します。
右ペインの[操作] メニューから”仮想スイッチマネージャー”を開き、”新しい仮想ネットワークスイッチ”を選択して、仮想スイッチの種類として”外部”を選択します。

仮想スイッチを以下のように設定して作成します。

  • 仮想スイッチの名前:S2DSwitch
  • 仮想スイッチの種類:”外部ネットワーク”、物理スイッチに接続している物理NICを選択
  • ”管理オペレーティングシステムにこのネットワークアダプターの共有を許可する”にチェック

すると、”vEthernet(S2DSwitch)”という名前のHyper-v Virtual Ethernet Adapterが作成されました。これがホストOSが利用するネットワークアダプターになります。

次に再びPowerShellで設定を行います。デプロイメントガイド50ページに沿って実行していきます。以下の設定を行いました。

  • MellanoxアダプターへのRDMA有効化(Enable-NetAdapterRDMAコマンド)
  • Intelアダプター(em1)へのRDMA無効化(Disable-NetAdapterRDMAコマンド)
PS C:\Users\Administrator> Enable-NetAdapterRDMA -Name “pNIC1-Port1”

PS C:\Users\Administrator> Enable-NetAdapterRDMA -Name “pNIC1-Port2”

PS C:\Users\Administrator> Disable-NetAdapterRDMA -Name “em1”

続いてこの”vEthernet(S2DSwitch)”にホストOS用の固定IPを設定します。

また、物理スイッチに接続した物理NIC(em1)のプロパティを表示し、”インターネットプロトコル バージョン4(TCP/IP V4)”のチェックボックスがオフでIPアドレスが設定できないことを確認します。

続いてノード間通信用に直接接続しているMellanoxの物理NICに固定IPを設定します。外部ネットワークと接続しないのでデフォルトゲートウェイは指定しません。

最後に、設定した固定IPにpingコマンドが正常に実行されればOKです。

以上で本章の最初に示したネットワーク構成になりました。

2-3. フェールオーバークラスタの構成

引き続きMXサーバーにリモートデスクトップ接続して設定を進めます。フェールオーバークラスターマネージャーは[スタート] ボタン-[管理ツール] -[フェールオーバークラスターマネージャー] で実行します。起動したら、右ペインの[操作] メニューから”構成の検証”をクリックします。

「構成の検証ウィザード」が起動します。MXサーバー2台が選択されていることを確認して「次へ」をクリックします。

テストオプション画面で「すべてのテストを実行する」を選択し、次の確認画面を進みます。

下図のように”検証済み”、”成功”と表示されればテストは完了です。「検証されたノードを使用してクラスターを今すぐ作成する」にチェックを入れて完了します。続けてクラスターの作成ウィザードが始まります。

「クラスタ名」と「クラスタ用IPアドレス」を入力し、次の画面で確認します。

クラスタの作成ウィザードが正常に完了したことを確認します。

続いて、作成したクラスタ名を右クリックし、”クラスタークォーラム設定の構成”を選択します。

クラスタクォーラム構成ウィザードを実行します。構成オプション選択画面では”クォーラム監視を選択する”を選択します。

続いて監視の選択画面では”ファイル共有監視を構成する”を選択します。そして次の画面で利用する共有フォルダのぱすを入力します。今回は事前構築したADサーバー(サーバー名:AD01)上に作成した共有フォルダ(¥¥AD01¥quorum)を指定します。

指定した項目を確認して設定を進めます。正常に構成されたことが確認できました。

フェールオーバークラスタマネージャーにて、両方のノードが稼働中であることを確認したらここまでは完了です。

躓きポイント:

この”クラスタークォーラム設定の構成”の設定で1点躓いたのでご紹介します。
最初に実行した際にウィザードの最後で以下のようなエラーとなりました。

調べると共有フォルダのアクセス権が不足していました。作成した共有フォルダのプロパティ画面の「セキュリティ」タブで2台のコンピュータ名とクラスタ名の3つをコンピュータアカウントとしてアクセス権を”フルコントロール”にして追加します。

この後にクラスタクォーラム構成ウィザードを再度実行したら正常に構成されました。

2-4. ディスクの構成(S2Dの有効化)

リモートデスクトップ接続したまま、引き続きS2D(記憶域スペースダイレクト)を有効にしてディスクの構成を行います。まず「ディスクの管理」ツールで各ディスクが以下のように”未割り当て”となっていることを確認します。

PowerShellでS2Dを有効にします。”Enable-ClusterStorageSpacesDirect”コマンドを実行します。

PS C:\Users\Administrator> Enable-ClusterStorageSpacesDirect
確認この操作を実行しますか?ターゲット ’クラスターの記憶域スペース ダイレクトを有効にします’ で操作’nicp-cluster’を実行しています。[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は “Y”): yNode        EnableReportName
——-       ————————
NICP01   C:\WIndows\Cluster\Reports\EnableClusterS2D on 2021.11.11-14.55.16.htm
PS C:\Users\Administrator>

フェールオーバークラスターマネージャーにて、新しくプールとクラスター仮想ディスク(ClusterPerformanceHistory)が作成されて、どちらもステータスがオンラインであることを確認します。

2-5. ボリューム作成

ここからWACサーバーで設定していきます。
WACサーバーにてクラスタを登録してから、クラスタに接続して作成します。

ボリューム画面から「作成」をクリックし、名前とサイズを入力します。今回はtest-vol01という200GBのボリュームを作成しました。

しばらくするとボリュームが作成されます。状態がOKになっていれば利用できます。

プロパティを確認します。作成直後はこのような状態になります。

フェールオーバークラスターマネージャーからも確認してみます。このようにクラスタの共有ボリュームとして作成されていることが確認できました。

以上で共有ストレージを持たない2ノードのクラスタ構成で共有ディスクが作成できました。

これで仮想マシンを作成できるようになりました。

仮想マシンの作成やMXサーバーでの管理機能について検証してみた内容は第2回のブログでお伝えします。

 

さいごに

実機での検証は所々うまく動作せず、調べたり聞いたりと試しながらでしたが6時間ほどで検証は成功しました!
実際にXClarity Controllerを使ってみると操作性も良く、Enterpriseへアップグレードすることによる仮想ドライブのマッピングも便利でした。

Windows Admin Centerではインターフェースが分かりやすかったので、まだまだ触り始めの私でも十分理解出来ました。

個人的にはネットワークの設定辺りで躓くことが多かったです。参考にした手順書を見習いながら設定を進めましたがうまくいかないこともあり、一つ一つ調べながらの作業となりました。

もう少しネットワークの勉強が必要ですね。

 

構築編は以上になります。
如何でしたでしょうか、次は管理機能編になりますので是非ご覧ください。

 

お問い合わせ

この記事に関するご質問は下記までご連絡ください
エヌアイシー・パートナーズ株式会社
技術支援本部
E-Mail:nicp_support@NIandC.co.jp

 

その他の記事

2022年06月24日

【早わかり】AIX と IBM i ライセンス情報

こんにちは。エヌアイシー・パートナーズ 村上です。 2022年度は新しい試みとして、 ・理解しているつもりだけど説明はできない ・時間があれば調べたいと思っていた ・当たり前な知識かもしれなくて質問しにくい という内容を取り上げた「早わかりシリーズ」を掲載していきます。 今回は、IBM Power のメインOS、AIX と IBM i のライセンス情報をご紹介します。 AIX とIBM i は、片方のライセンス情報しか知らないという方も意外と多いので、ぜひこの機会に比較しながら読んでみてくださいね。   セクション 1) 永続ライセンスのおさらい 2) マンスリーとサブスクリプションをご存じですか? 3) ライフサイクルとバージョンのポイント   1) 永続ライセンスのおさらい AIX とIBM i のスタンダードなライセンス「永続ライセンス」。 有効期限のない永続ライセンスは、SWMA (SoftWare MAintenance) と合わせて所有します。 永続ライセンス OSを利用できる権利。1年目に購入。 SWMA 「サブスクリプション(最新バージョンへのアップグレード)」と「テクニカルサポート(対象製品に対するQAサポート)」の権利。 1年~5年で選択し、継続するためには都度オーダーが必要。 更改などで新ハードウェアへ移行する場合、 AIX 永続ライセンスはIBM Power本体に紐づくので、新ハードウェアになるタイミングで永続ライセンスが買い直しになります IBM i 既存機のライセンスを新ハードウェア移管することが可能です(移行先の機械レベルが高くなる場合は追加料金が発生) IBM i には、移行中ライセンスとして安価なITL(IBM Temporary License)が提供されたり、DR機専用のライセンスがあったりもします。   2) マンスリーとサブスクリプションをご存じですか? さて、このセクションが今回のブログの本題です。 2022年6月現在、AIX とIBM i には「永続」「マンスリー」「サブスクリプション」と3種類のライセンスがあります。 以下は利用ケースのイメージです。 利用ケース 永続ライセンス ・長期間利用 マンスリーラインセンス ・移行時の短期利用 ・スパイク(最低限の環境をさっと作って概ねの方向性を確認する) サブスクリプションライセンス ・初期投資を抑えたい場合に利用 ・HWに依存せず臨機応変に利用(中長期間でAIXの場合) サブスクリプションライセンスは、AIX は2021年、IBM i は2022年に提供が開始されました。 (表が見えにくいのでクリックして拡大してご覧ください) サブスクリプションライセンスは、今後拡張が予定されています。 利用ケースにあったライセンスを選択できるようになってきたので、臨機応変な検討ができるようになりますね。   3) ライフサイクルとバージョンのポイント 2022年6月時点で、IBMは「AIX も IBM i も将来の投資を継続する」という発表をしています。 IBM Power ユーザとしては一安心です。 どちらのOSも、サポートライフサイクルは10年間となります。 下記にバージョンのポイントを纏めてみました。 <AIX > 購入できるバージョン v7.2 , v7.3 標準サポートがあるバージョン v7.1, v7.2, v7.3 どうやってもサポートが終わっているバージョン v5.3 実はまだ有償延長サポートがあるバージョン v6.1 TLが出るタイミング(※) 1回/年、成熟してくると1回/2年 サポートライフサイクル(10年) 標準(最短6年)+延長保守(3~5年) <IBM i > 購入できるバージョン v7.3 , v7.4, v7.5 標準サポートがあるバージョン v7.3, v7.4, v7.5 どうやってもサポートが終わっているバージョン v6.1 実はまだ有償延長サポートがあるバージョン v7.1, v7.2 TRが出るタイミング(※) 2回/年(最新バージョンと1世代前のバージョンに対して) サポートライフサイクル(10年) 標準(7年)+延長保守(3年) <※TLとTRの補足> TL:テクノロジー・レベル。AIXにおける問題の修正、新しいハードウェアのサポート、ソフトウェアの機能拡張が含まれたプログラム。 TR:テクノロジー・リフレッシュ。IBM i におけるオファリング、サービス、およびハードウェアの機能拡張を提供するプログラム。 かなり前のバージョンも、延長保守のサポートがあるため更改時も安心です。 ただ、延長保守サポートは、部品不足による急な保守終了や、新規の問い合わせに対応いただけない、という面があるので要注意です。 また、延長保守サポートには細かい前提が設けられており前提にも随時変更が入りますので、ご利用を検討される際はお問い合わせください。   さいごに つい先日(2022年6月)、IBM i の複数のソフトウェアラインセンスが無償化される発表(IBM PartnerWorld)がありました。 IBM i では更改の検討が始まると、実際に利用している有償ソフトウェアの見直しが入ったりして、見積もりに時間がかかることがありますよね。 有償ライセンスが減ったことで、見積もりが少しでも簡単になり助かります。 クラウドシフトが進む中で、ライセンス体系、課金、監査方法が複雑化しています。 弊社には毎日のようにパートナー様からライセンス関連の相談やお問い合わせが来ています。 OSのみではなく、あらゆるソフトウェアのライセンス情報収集に日々奮闘(?)しているSEが多数おりますので、お困りの際はお気軽にご連絡ください! ※ 本ブログの情報は時間経過とともに変更が入る可能性があります。   お問い合わせ この記事に関する、ご質問は下記までご連絡ください。 エヌアイシー・パートナーズ株式会社 E-Mail:voice_partners@niandc.co.jp  

back to top