Windows Server マシンでの Hyper-V クラスターの設定:ステップバイステップガイド
仮想インフラストラクチャ、特に大規模なデータセンターにおいて、極めて重要な要件の一つは、単一障害点を排除し、サービスやアプリケーションの高可用性を確保することです。 Hyper-V 環境では、Microsoft のフェイルオーバー クラスタリング テクノロジーを利用することで、1 台のホストに障害が発生した場合でも、他の複数の Hyper-V ホスト(またはノード)が負荷を引き継げるように構成できます。
このステップバイステップ ガイドでは、初期のホストおよびネットワーク構成、Hyper-V ロールのインストール、クラスタの作成など、Hyper-V フェイルオーバー クラスタリング構成の実践的な側面について学びます。
Hyper-V ホストの構成
フェイルオーバー・クラスタリングに対応できるようホストを準備するには、特定のクラスタで使用されるすべてのホストにインストールするオペレーティングシステムを選択する必要があります。次に、Hyper-V クラスタの設定に備えて、すべてのホストを含む環境の基本設定を行う必要があります。
インストールするオペレーティングシステムの選択
この構成では、可動部分を最小限に抑え、セキュリティを向上させるために、2台のWindows Server 2016 Server Coreを使用しています。Windows Server 2016 Server Coreを使用することで、不要なコンポーネントを大幅に排除し、システムのリソース消費を削減できます。Server Coreでは管理がやや難しくなりますが、そのデメリットは効率性とセキュリティの向上というメリットによって相殺されます。また、Hyper-Vクラスターの構築には、Windows Server 2019などの新しいバージョンのWindows Serverを使用することも可能です。
注: Windows Server 2016 Server Core の管理および構成には、PowerShell を使用します。技術的には、デスクトップ エクスペリエンスを備えた Windows Server を使用して、Hyper-V フェールオーバー クラスタリングを構成することも可能です。
環境の初期設定
Hyper-V ホストをクラスターとして考える前に、ホストの初期設定を行う必要があります。これには、Windows サーバーの準備を行う際とほぼ同様の手順(名前付け、ネットワーク設定、パッチ適用など)が含まれます。特にネットワークの計画は、Windows クラスターにおいて極めて重要です。これは、クラスター内の適切な通信だけでなく、共有ストレージとの通信も可能にするためです。
Naming. 両方のサーバーには名前が付けられ、lab ドメインに参加しました。なお、Windows Server 2016 以降では、 ドメインへの参加は、もはや前提条件ではありません. 以下のスクリーンショットには、最初のサーバーの設定が表示されています H1. 2台目のサーバーの設定 H2 似ている。
Updates. Hyper-V クラスタリングのベストプラクティスに従い、Hyper-V クラスタの候補となるノードをすべて、利用可能な最新のパッチレベルに更新する必要があります。Hyper-V ホストに更新プログラムをインストールすることで、システムのセキュリティが向上します。更新プログラムのインストールを完了するには、Windows を再起動する必要がある場合があります。
Consistency. ベストプラクティスとして、コンピュータ名とIPアドレスを除き、すべてのクラスタノード候補を同一の構成にすることを推奨します。これにより、パッチレベルやネットワーク設定など、ホスト間のすべての設定が標準化されます。
ネットワーク計画
適切な環境計画を立てることで、将来発生しうる多くのリスクを軽減することができます。このシナリオにおけるラボネットワークについては、4つの ネットワークアダプタ 各ホストごとに設定されています。簡便さを考慮し、両方のラボ用ホストではNICのチーム構成は行っていません。ただし、本番環境では、いずれかのネットワークに単一障害点が生じるのを防ぐために、アダプタのチーム構成を行うことが推奨されます。
当ラボのセットアップでは、以下の通りです:
- 管理およびVMトラフィック
- iSCSI
- プライベート・クラスタのトラフィック
- ライブマイグレーション
上記のネットワーク構成を踏まえ、各サーバーに希望するサブネット範囲内のIPアドレスを割り当てます。また、ここではVLANについても考慮する必要があります。なぜなら、サブネットをプロビジョニングされたVLANと整合させたい場合がほとんどだからです。この点については、事前に十分に検討しておく必要があります。
iSCSI ストレージターゲットの設定
Hyper-V クラスターのストレージは、クラスターを構築する上で極めて重要なポイントです。本例では、ラボ環境における iSCSI ストレージとして、FreeNAS を使用して iSCSI ターゲットを作成し、これを Hyper-V クラスターに提供しています。もちろん、お好みのベンダー製ハードウェアやソフトウェア iSCSI での設定方法はベンダーによって異なる場合がありますので、必ず各ベンダーが定めた手順に従ってください。
注: FreeNASは、FreeBSDをベースとした汎用的で柔軟性の高いオペレーティングシステムであり、コンピュータにインストールしてNASとして利用することができます。Hyper-Vクラスタの共有ストレージを作成したり、バックアップアプライアンスを構築したりすることが可能です。 FreeNAS と NAKIVO のソリューション.
以下に、FreeNAS を使用して Hyper-V フェールオーバー クラスタリング用のストレージを設定する方法の概要を簡単に紹介します。iSCSI 用の FreeNAS の設定方法について、詳細には立ち入りません。ただし、Hyper-V ホストにいくつかの iSCSI ターゲットを提供するための基本的な設定については、以下に示します。
- FreeNAS で iSCSI サービスを起動し、Hyper-V ホストで使用する予定のネットワーク設定に合わせて、ストレージネットワークのネットワーク構成を設定してください。
- これから作成するターゲットの基本となる IQN 設定を確認してください。
- FreeNAS に、iSCSI トラフィックをリッスンするためのポータルを設定します。
- iSCSIターゲット名を設定します。このFreeNASアプライアンスでは、以下を設定します:
- a
quorumディスクウィットネスとして使用するボリューム - Hyper-Vクラスター共有ボリュームとして使用し、仮想マシンを格納するためのボリューム
注: クォーラムとは、Windows クラスタにおけるメカニズムの一種であり、クラスタ内の構成要素のいずれかに障害が発生した場合でも、クラスタが機能するために必要なクラスタリソースの過半数が常に利用可能であることを保証するために使用されます。
Starting with Windows Server 2012、デフォルトでは、クラスター内の各ノードは1票のクォーラム投票権を持っています。Windows Server 2016でファイル共有、ディスク、または新しいクラウドストレージアカウントを追加して投票権を増やすことで、クラスターの一部が、その共有、ディスク、またはクラウドストレージアカウントの投票権を主張することにより、常にクォーラム投票の50%以上を確保できるようになります。With Windows Server 2012 R2, 推奨事項が変更され、ディスクまたはファイル共有のウィットネスを常に設定するようになりました。投票権は、ノード数が偶数の場合に限り、追加のウィットネス(ファイル共有、ディスク、またはクラウドストレージアカウント)にも付与されます。ノード数が奇数の場合、そのウィットネスには投票権が与えられず、使用されません。
以下のスクリーンショットでは、2つのターゲット名を作成しています。1つはディスクウィットネスとして使用するクォーラムボリューム、もう1つはクラスター共有ボリュームとして使用するボリュームです。
- エクステントを追加します。以下の例では、これらはFreeNASアプライアンスで物理的に割り当てた個々のディスクにマッピングされています。
- ターゲットをエクステントに関連付けます。ターゲットは、FreeNAS内のストレージにマッピングされます。
Hyper-V ロールのインストール
へ Hyper-V ロールをインストールする サービスについては、ターミナルで次のコマンドを実行してください。 PowerShell コマンド プロンプト:
Install-WindowsFeature -Name Hyper-V -IncludeAllSubFeature -IncludeManagementTools -Restart
ストレージの設定:iSCSI ポータルアドレスの追加
iSCSI ポータルアドレスを追加する前に、以下のように Microsoft iSCSI サービスを設定して起動する必要があります。
- サービスを”自動”に設定してください。
Set-Service -Name msiscsi -StartupType Automatic
- サービスを起動してください。
Start-Service msiscsi
- PowerShell を使用して、プロビジョニングされた iSCSI ポータルアドレスを追加します:
New-iscsitargetportal -targetportaladdress
- 特定のiSCSIターゲット(この場合は、FreeNASアプライアンス上で作成されたもの)を接続します。以下に、クラスター用にプロビジョニングされたHyper-VホストにFreeNASターゲットを追加する際に使用した例を示します。
Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:quorum -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1Connect-IscsiTarget -nodeaddress iqn.2005-10.org.freenas.ctl:hvvol1 -IsPersistent $true -IsMultipathEnabled $true -InitiatorPortalAddress 10.0.0.70 -TargetPortalAddress 10.0.0.1
以下のコマンドを実行することで、追加されたターゲットを確認できます。 Get-iSCSItarget コマンド。
注: 以下の get-disk ディスク情報を表示するコマンドを実行し、Hyper-V クラスターの共有ストレージがオンライン状態で正常に動作していることを確認してください。
仮想スイッチの設定
設定 仮想スイッチ Hyper-V フェイルオーバー クラスターのネットワーク設定を適切に行うには、これが必要です。PowerShell または Hyper-V マネージャー Hyper-V用の仮想スイッチを設定するには。
PowerShellで仮想スイッチを作成するコマンドの例:
New-VMSwitch "ExternalSwitch01" -NetAdapterName "Public" -AllowManagementOS 1
注: 特にライブマイグレーションを実行する際は、仮想スイッチが一致していることを確認する必要があるため、両方のホストで仮想スイッチの名前を同じに設定してください。
Hyper-V クラスターの作成
PowerShell を使えば、クラスターの作成はたった 1 行のコマンドレットで簡単に行えます。
- クラスターを作成する前に、次のコマンドを実行して、クラスター構成が Hyper-V クラスタリングのベストプラクティスに準拠していることを確認してください。
Test-Cluster H1,H2
- “”を使用してください。
new-clusterクラスタを作成し、そのクラスタに名前、ノード、および静的IPアドレスを割り当てるためのコマンドレット。
New-Cluster -Name HVCluster -node H1,H2 -staticAddress 192.168.85.75
- クラスタの作成処理が完了すると、コマンドラインにクラスタ名が表示された出力が表示されます。
Hyper-V クラスタ化された共有ボリューム
iSCSIターゲットの観点からは共有ストレージを利用しているとはいえ、VMを格納するストレージがHyper-V上で正しく設定されていることを確認する必要があります。 clustered shared volume. クラスタ化された共有ボリューム(CSV)は、Windows Server 2008 R2でHyper-Vロールと併用するために導入され、これにより仮想マシン(VM)は VHDファイル クラスタ内のどのノードからもアクセス可能です。また、CSVには耐障害性が組み込まれており、I/O障害の検出機能により、通信障害が発生した場合に代替の通信経路が使用できるようになっています。
それでは、VM用のクラスタ化された共有ボリュームを段階的に作成する手順を見ていきましょう。
- VMのストレージとして使用するクラスタディスクリソースの名前を変更します(任意)。このラボ環境では、これは クラスタディスク 1:
(Get-ClusterResource | ?{$_.Name -eq "Cluster Disk 1"}).name = "VMs"
- これで、このボリュームをクラスタ共有ボリュームに追加できます:
Get-ClusterResource -Name "VMs"| Add-ClusterSharedVolume
注: また、フェイルオーバー クラスター マネージャーを使用して、CSV にディスクを追加することもできます:
- クラスタ共有ボリュームの状態を、以下のコマンドで確認してください。
get-clustersharedvolumeコマンドレット。
注: もし、以下の方法で接続する管理用ワークステーションをお持ちの場合は、 Failover Cluster Manager, に接続することで、グラフィカルユーザーインターフェース(GUI)を使ってストレージを確認できます。 Windows フェイルオーバー クラスター。ここでは、その様子がはっきりと見て取れます。 ディスク 利用可能なリソースと、それらに割り当てられた役割です。以下には、クォーラムディスクと、クラスタ共有ボリュームとして指定されたVMのディスクの両方が表示されています。
Hyper-V のストレージ設定の変更
クラスタ化された共有ボリュームの設定が完了したので、Hyper-V の設定を変更して、Hyper-V クラスタ共有ボリュームを仮想マシンの保存先としてデフォルトに設定することができます。
の Hyper-V Settings 各ホストについて、次の設定を変更してください。 Virtual Hard Disks 場所と Virtual Machines クラスター共有ボリュームへのパスは、次のとおりです。 C:ClusterStoragevolume(x) Hyper-V ホスト上で。
高可用性VMの作成
これで、フェイルオーバー・クラスター・マネージャーを起動し、高可用性VMの作成を開始できます。
- を右クリックして
Rolesそして、以下を作成することを選択します。New Virtual Machine.
- 仮想マシンを実行するHyper-Vホスト(クラスタノードのいずれか)を選択してください。
- 以下の手順に従って進めてください。
New Virtual Machine Wizard新しい仮想マシンのプロビジョニングを促すメッセージ。
- その
Connect Virtual Hard Diskウィザードのこのステップでは、仮想マシンがHyper-Vのクラスタ化された共有ボリューム上に作成されることを確認してください。
- その
Summaryこのステップでは、選択したオプションが表示されます。
- [完了]をクリックすると、
High Availability Wizardロールおよび仮想マシンでの高可用性の有効化に関する概要が表示されます。ご覧のとおり、正常に有効化されています。
- 高可用性レポートをご覧になりたい場合は、以下のリンクをクリックしてください。
View Reportこのボタンをクリックすると、高可用性テストの結果がより詳細に表示されます。
Hyper-V フェイルオーバー クラスターの設定が完了し、クラスター内で高可用性を備えた仮想マシンが稼働しています。クラスター内にさらに仮想マシンを作成して、Hyper-V の高可用性機能を利用することができます。
まとめ
Hyper-V フェイルオーバー クラスタリングを利用すれば、障害発生時の仮想マシンのダウンタイムを短縮できます。ただし、Hyper-V クラスタのバックアップを頻繁に行わない限り、仮想マシンのデータは保護されません。Hyper-V フェイルオーバー クラスタ内では、仮想マシンがホスト間で移行される可能性があるため、仮想マシンのバックアップは困難な作業になりがちです。NAKIVO のソリューションを利用すれば、クラスタ内で実行中の仮想マシンであっても、簡単にバックアップを行うことができます。

























