今回は、次期Windows Serverの「フェイルオーバークラスタリング」の新機能「ローリングアップグレード」を説明します。似たような名前の「ローリングアップデート」もありますが、こちらは現行バージョンでも利用可能で、新機能ではありません。
次期Windows Serverの「フェイルオーバークラスタリング」では、旧バージョンのフェイルオーバークラスターからの「ローリングアップグレード(Rolling Upgrade)」が新機能としてサポートされます。
フェイルオーバークラスターには「ローリングアップデート(Rolling Update)」という似たような名前の仕組みもありますが、こちらは「クラスター対応更新(Cluster-Aware Updating:CAU)」という機能名で知られる、現行のWindows Server 2012でも利用できる全く別の機能です。
クラスター対応更新は、フェイルオーバークラスターのメンバーサーバー(ノード)のWindows Serverおよびアプリケーションのパッチ管理を自動化する仕組みです。マイクロソフトのMicrosoft Updateサービスや社内設置の「Windows Server Update Services(WSUS)」サーバーから更新プログラムを検索して最新状態にアップデートしたり、共有フォルダーに配置した更新プログラムや修正プログラム(QFE/LDR)をインストールさせたりすることができます。
クラスター対応更新は、フェイルオーバークラスターのメンバーノードを1台ずつ順番にアップデートし、クラスター全体のアップデートが完了するまでのプロセスを自動で行います。具体的には、ノードに必要な更新プログラムのスキャン、別ノードへの役割の退避、ノードのメンテナンスモードへの移行、更新プログラムのインストール、ノードの再起動、メンテナンスモードの終了(ノードの復帰)といった一連のタスクを自動実行します。
役割の移動時にダウンタイムが発生しないスケールアウトファイルサーバーやHyper-Vホストクラスターは、クラスター対応更新を利用することで、高可用性を維持しながらクラスターノードのアップデートを完了できます。
以下の画面1は、Windows Server Technical Previewで構成した2ノードのスケールアウトファイルサーバーを、クラスター対応更新を用いてアップデートしているところです。スケールアウトファイルサーバーでは、役割がノード間を移動しても、共有フォルダーへのクライアントアクセスは透過的にフェイルオーバーされ継続できます。そのため、アップデートの開始から完了まで、共有フォルダーへのアクセスが切断されたり、利用不能になったりすることはありません。
前述の通り、クラスター対応更新は次期Windows Serverの新機能ではありません。この機能は、Windows Server 2012のフェイルオーバークラスタリング機能に対して初めて提供されました。Windows Server Technical Previewに搭載されているものは、おそらくWindows Server 2012 R2と同じものです。
次の画面2は、Windows Server 2012 R2のHyper-Vホストクラスターを、クラスター対応更新でアップデートしているところです。このように、Hyper-Vホストクラスターの場合は、稼働中の仮想マシンをライブマイグレーションで自動的に退避してくれます。
クラスター対応更新はWindows Server 2012からの標準機能ですが、マイクロソフトの仮想化管理ツールである「System Center Virtual Machine Manager」(VMM)を仮想化基盤に導入することで、Hyper-Vホストやその他のインフラストラクチャサーバーのベアメタル展開やパッチ管理をVMMのコンソールから集中的に管理することができます。
VMMのパッチ管理機能はWSUSサーバーと連携して動作するもので、適用が必要な更新プログラムを「更新基準(ベースライン)」として定義し、仮想化基盤を構成するサーバーの対応状況をスキャンして、不足していれば「修復」という操作で対象のサーバーをメンテナンスモードに移行してインストールを開始できます。
対象がHyper-Vホストクラスターの場合は、クラスターのための可用性を維持したまま実行できる修復オプションが提供されます。最新のSystem Center 2012 R2 Virtual Machine Managerは、Windows Server 2008 R2 SP1以降のHyper-Vクラスターのパッチ管理に対応しています(画面3)。
次期バージョンのWindows Serverの新機能であるクラスターのローリングアップグレードは、クラスター対応更新(ローリングアップデート)とは全く別物です。
ローリングアップグレードは、クラスターに参加するノードのオペレーティングシステム(OS)を、クラスター上で稼働するサービスの可用性を維持しながら、Windows Server 2012 R2からWindows Serverの次期バージョンにアップグレードできるというものです。現在のサーバーハードウエアのままでOSだけをアップグレードして、クラスター全体を最新バージョンにアップグレードすることもできますし、新しいサーバーハードウエアに入れ替えながらアップグレードすることも可能です。
ローリングアップグレードを可能にするのは、新しいHyper-Vにおける仮想マシン構成バージョン「5.0」のサポート、双方向のクロスバージョンライブマイグレーションのサポート、そして新しいフェイルオーバークラスタリング機能のWindows Server 2012 R2ベースのクラスター機能レベル(ClusterFunctionalLevel)のサポートです。
ローリングアップグレードという表現はしませんでしたが、これらの機能については本連載の第4回「新しい「Hyper-V」への移行に備える――仮想化基盤も次世代に」でも説明しました。ただし、第4回では“Windows Server 2012 R2のHyper-Vホストをクラスターのメンバーのままで、Windows Server Technical Previewにアップグレードすることも可能です”と書きましたが、この表現は正しくありませんでした。
以下のドキュメントにWindows Server 2012 R2のフェイルオーバークラスターを、Windows Server Technical Previewにアップグレードする方法が説明されています。このドキュメントによると、各ノードのアップグレードで、アップグレードインストール(インプレースアップグレード)はサポートされていません。
このドキュメントに基づいて、Windows Server 2012 R2のHyper-Vホストクラスターを、Windows Server Technical Previewにアップグレードする具体的な手順を、以下の図1に示します。なお、Hyper-Vホストクラスターではない、フェイルオーバークラスターの場合は、手順が異なる部分があります。また、この手順はWindows Server Technical Previewの場合であり、正式リリース版では変更になる可能性があります。
ノードのOSをアップグレードする際には、1台ずつクラスターからノードを削除して実施します。クラスターからノードを削除するには「フェイルオーバークラスターマネージャー(Failover Cluster Manager)」を使用して、「一時停止|役割のドレイン(Pause|Drain Roles)」を選択してノードを一時停止した後、「他のアクション|削除(More Actions|Evict)」を選択してノードをクラスターから削除します(画面4)。Hyper-Vホストクラスターの場合、役割のドレイン」を実行することで、対象のノード上で稼働中の仮想マシンがアクティブな別のノードにライブマイグレーションで待避されます。また、その他のクラスターリソースも別のノードに移動されます。
ノードのアップグレードは、ファイルや設定、アプリケーションを引き継ぐアップグレードインストールではなく、“クリーンインストール”で行います。インストール完了後、ネットワークの設定やコンピューター名の設定、ドメイン参加設定、共有ストレージへの接続を行い、「Hyper-V」の役割と「フェイルオーバークラスタリング」の機能、およびその他の必要な機能(マルチパスI/Oなど)をインストールします(画面5)。
なお、本連載の第4回で説明しましたが、次期バージョンのHyper-Vでは、サーバーハードウエアが「第二レベルアドレス変換拡張(Second Level Address Translation:SLAT)」に対応していることが必須条件になる予定です。SLATに対応していないノードは、次期バージョンにアップグレードしても、Hyper-Vの役割を有効にできず、元のHyper-Vホストクラスターにも戻すことができないので注意が必要です。
これでアップグレードが完了したサーバーをクラスターに戻す準備ができたので、「フェイルオーバークラスターマネージャー(Failover Cluster Manager)」の「ノードの追加ウィザード(Add Node Wizard)」やWindows PowerShellの「Add-ClusterNode」コマンドレットを使用して、サーバーをクラスターの新しいノードとして追加します(画面6)。
全てのノードのOSが新しいバージョンに入れ替わるまで、この手順を繰り返します。新しいバージョンに入れ替えたノードに明示的に仮想マシンを配置するには、手動でライブマイグレーションを実行します(画面7)。なお、新しいバージョンのHyper-Vに仮想マシンを移行しても、仮想マシンの構成バージョンは古い5.0のままで変わらないため、ノードのHyper-Vバージョンを気にすることなく双方向でライブマイグレーションを実行することが可能です。
Windows Server Technical PreviewのサーバーをWindows Server 2012 R2のフェイルオーバークラスターのノードとして追加した場合、Windows Server Technical PreviewのクラスターサービスはWindows Server 2012 R2と互換性のある「クラスター機能レベル(ClusterFunctionLevel):8」で動作します。
「クラスター機能レベル:8」のクラスターには、Windows Server 2012 R2とWindows Server Technical Previewのノードが混在でき、仮想マシンのライブマイグレーションや移動で問題が生じないように、仮想マシンの構成バージョンのアップグレードはブロックされます(アップグレードの実行は無視されます)。
クラスターの全ノードのアップグレードが完了したら、「Update-ClusterFunctionalLevel」コマンドを実行して、Windows Server Technical Previewのネイティブの「クラスター機能レベル:9」にアップグレードできます。クラスター機能レベルのアップグレード後は、クラスター上の仮想マシンの構成バージョンを「6.0」(Technical Previewのビルド9841の場合)にアップグレードできます。
なお、構成バージョンのアップグレードのために、仮想マシンを停止する必要があります。また、クラスター機能レベルのアップグレード後は、旧バージョンのノードは混在できなくなり、クラスター機能レベルのダウングレードもできなくなります。
次期バージョンのWindows Serverは、正式リリースが2015年後半という当初の予定から2016年にずれ込むことが決まりました。もしまだ仮想化を進めておらず、仮想化は次期バージョンのWindows Serverでと考えているなら、次期バージョンを待つことなく、現行バージョンで仮想化を進めても無駄にならないでしょう。
今のうちにWindows Server 2012 R2 Hyper-Vベースの仮想化基盤を整備しておけば、毎月のWindows Updateや緊急のパッチ適用のために、仮想マシンを停止することなく仮想化基盤を最新の状態にアップデートできます。そして、次期バージョンのWindows Serverが正式リリースとなったときには、仮想マシンを停止することなく、クラスター全体を最新バージョンにアップグレードできます。
仮想マシンのゲストOSやアプリケーションのパッチ管理やOSのアップグレードはまた別に考える必要はありますが、物理環境の運用や保守に関してはとても楽になるはずです。注意点があるとしたら、SLAT対応のサーバーハードウエアを選定しておくことです。
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2015)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.