
しかし、最近、 Romain Serreの記事に出くわしました。この問題は、Windows Server 2016とその中に存在する新しい機能であるStorage Spaces Direct(S2D)によって解決されました。 非常に適切だと思われるので、この記事から写真を借りました。
ストレージスペースダイレクトテクノロジーは、 Habréで繰り返し検討されてきました 。 しかし、どういうわけか私は通り過ぎ、私はそれが「国民経済」で使用できるとは思わなかった。 ただし、これはまさに、2つのノードのクラスターを組み立てながら、サーバー間に単一の共有ストレージを作成できるテクノロジーです。 異なるサーバーにあるディスクの単一のRAID。 さらに、ディスクの1つまたはサーバー全体の出力によってデータが失われることはありません。

魅力的に聞こえますが、その仕組みを知りたいと思いました。 ただし、テスト用に2台のサーバーがないため、仮想環境でクラスターを作成することにしました。 hyper-vの利点とネストされた仮想化が最近登場しました。
実験のために、3つの仮想マシンを作成しました。 最初の仮想マシンで、ADコントローラーを持ち上げてRSATサーバーのリモート管理ツールをインストールしたGUIを使用してServer 2016をインストールしました。 クラスターノードの仮想マシンでは、サーバー2016をカーネルモードでインストールしました。 今月、神秘的なProject HonoluluはWindows Admin Centerリリースになりました。また、カーネルモードでサーバーを管理することがどれほど便利かを知りたいと思いました。 4番目の仮想マシンは、仮想化の2番目のレベルで、hyper-vクラスター内で実行する必要があります。

クラスターと記憶域スペースダイレクトサービスを機能させるには、Windows Server Datacenter 2016が必要ですが、記憶域スペースダイレクトのハードウェア要件にも注意する必要があります。 クラスターノード間のネットワークアダプターは、リモートダイレクトメモリアクセス(RDMA)をサポートする10 GB以上である必要があります。 プーリング用のディスクの数は少なくとも4です(オペレーティングシステム用のディスクを除く)。 サポートされているのは、NVMe、SATA、SASです。 RAIDコントローラを介したディスクの操作はサポートされていません。 docs.microsoft.comの要件の詳細。
私のように、ネストされたHyper-V仮想化を使用したことがない場合は、いくつかのニュアンスがあります。 まず、新しい仮想マシンではデフォルトで無効になっています。 仮想マシンでhyper-vロールを有効にしたい場合、機器がこのロールをサポートしていないことを示すエラーが表示されます。 第二に、組み込み仮想マシン(仮想化の第2レベル)はネットワークにアクセスできません。 アクセスを整理するには、natを構成するか、ネットワークアダプターのスプーフィングを有効にする必要があります。 3番目のニュアンス、クラスターノードを作成するには、動的メモリを使用できません。 詳細はこちら 。
したがって、node1、node2という2つの仮想マシンを作成し、すぐに動的メモリをオフにしました。 次に、ネストされた仮想化のサポートを有効にする必要があります。
Set-VMProcessor -VMName node1,node2 -ExposeVirtualizationExtensions $true
VMネットワークアダプターでスプーフィングサポートを有効にします。
Get-VMNetworkAdapter -VMName node1,node2 | Set-VMNetworkAdapter -MacAddressSpoofing On

HDD10とHDD 20をノードのシステムパーティションとして使用しました。 一般的なストレージ用に残りのディスクを追加しましたが、マークアップしませんでした。
Net1ネットワークインターフェイスは、外部ネットワークで動作し、ドメインコントローラーに接続するように構成されています。 Net2インターフェイスは、クラスターノード間でのみ内部ネットワーク操作用に構成されます。
プレゼンテーションを減らすために、ドメインにノードを追加し、ネットワークインターフェイスを構成するために必要な手順を省略します。 sconfigコンソールユーティリティを使用すると、これは大した問題ではありません。 スクリプトを使用してWindows管理センターをインストールしたことのみを明確にします。
msiexec /i "C:\WindowsAdminCenter1804.msi" /qn /L*v log.txt SME_PORT=6515 SSL_CERTIFICATE_OPTION=generate
Admin Centerのインストールは、共有フォルダーからネットワーク経由で失敗しました。 したがって、msで推奨されているように、ファイルサーバーの役割サービスをオンにして、インストーラーを各サーバーにコピーする必要がありました。
4月の更新がないと、Windows Admin Centerはクラスターを管理できないため、準備部分の準備ができて、クラスターの作成を開始する前にノードを更新することをお勧めします。
クラスターの作成を始めましょう。 必要なすべてのコンソールがドメインコントローラーにインストールされていることを思い出させてください。 したがって、ドメインに接続し、管理者の下でPowershell ISEを実行します。 次に、必要なロールをノードにインストールして、スクリプトを使用してクラスターを構築します。
$Servers = "node1","node2" $ServerRoles = "Data-Center-Bridging","Failover-Clustering","Hyper-V","RSAT-Clustering-PowerShell","Hyper-V-PowerShell","FS-FileServer" foreach ($server in $servers){ Install-WindowsFeature –Computername $server –Name $ServerRoles}
そして、インストール後にサーバーをオーバーロードします。
テストを実行して、ノードの準備状況を確認します。
Test-Cluster –Node "node1","node2" –Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration
html形式のレポートは、フォルダーC:\ Users \ Administrator \ AppData \ Local \ Tempで生成されました。 ユーティリティは、エラーがある場合にのみレポートへのパスを書き込みます。
最後に、192.168.1.100の共通IPアドレスを持つhpvclという名前のクラスターを作成します
New-Cluster –Name hpvcl –Node "node1","node2" –NoStorage -StaticAddress 192.168.1.100
その後、クラスターにフォールトトレランス用の共通リポジトリがないというエラーが表示されます。 フェールオーバークラスターマネージャーを実行し、取得内容を確認します。

オン(S2D)
Enable-ClusterStorageSpacesDirect –CimSession hpvcl
そして、キャッシュのドライブが見つからなかったという通知を受け取ります。 テスト環境はHDDではなくSSDにあるため、これについては心配しません。
次に、Powershellコンソールを使用してノードの1つに接続し、新しいボリュームを作成します。 4つの40GBディスクのうち、約74GBがミラーボリュームの作成に使用できることに注意してください。
New-Volume -FriendlyName "Volume1" -FileSystem CSVFS_ReFS -StoragePoolFriendlyName S2D* -Size 74GB -ResiliencySettingName Mirror

各ノードには、共通のボリュームC:\ ClusterStorage \ Volume1があります。
共有ディスククラスターの準備ができました。 次に、いずれかのノードで仮想マシンVMを作成し、共有ストレージに配置します。

仮想マシンのネットワークを構成するには、hyper-vマネージャーコンソールに接続し、同じ名前の各ノードで外部アクセスのある仮想ネットワークを作成する必要があります。 次に、フェールオーバークラスターマネージャーコンソールのネットワークインターフェイスのエラーを取り除くために、ノードの1つでクラスターサービスを再起動する必要がありました。
システムが仮想マシンにインストールされている間に、Windows Admin Centerへの接続を試みます。 ハイパーコンバージドクラスターを追加して、悲しい笑顔を取得します

ノードの1つに接続し、スクリプトを実行します。
Add-ClusterResourceType -Name "SDDC Management" -dll "$env:SystemRoot\Cluster\sddcres.dll" -DisplayName "SDDC Management"
管理センターを確認し、今回は美しいグラフィックを取得します

OSをクラスター内のVM仮想マシンにインストールした後、最初にしたことは、ライブ移行を2番目のノードに移動して確認することでした。 移行中に、マシンにpingを実行して、移行の速度を確認しました。 私は2つのリクエストでのみ連絡を失いましたが、これは非常に良い結果と考えることができます。
そして、ここでは、この超収束性の蜂蜜の樽に、大さじ2杯のタールを追加する価値があります。 テストおよび仮想環境では、すべてが正常に機能しますが、実際のハードウェアでどのように機能するかは興味深い質問です。 ここで、ハードウェア要件に戻る価値があります。 RDMAを備えた10GBネットワークアダプターの価格は約500ドルであり、Windows Serverライセンスと組み合わせると、Datacenterはそれほど安くないソリューションになります。 もちろん、これは専用ストレージよりも安価ですが、制限は重要です。
軟膏の2番目とメインのフライ、これは関数(S2D) が次のサーバー2016アセンブリから削除されるというニュースです。 Habrを読んでいるマイクロソフトの従業員がコメントすることを望みます。
結論として、私は私の印象についていくつかの言葉を言いたいです。 私にとって、新しいテクノロジーの知識は非常に興味深い経験でした。 まだ便利だとは言えません。 これらのスキルを実践できるかどうかはわかりません。 したがって、コミュニティに質問があります。将来、ハイパーコンバージドソリューションへの移行を検討する準備はできていますか? ノード自体への仮想ドメインコントローラーの配置についてどう思いますか?