Windows NASの可用性をいろいろと試したくて――仮想マシン環境に再現してみた山市良のうぃんどうず日記(209)

前回は、「Windows Server 2019 IoT for Storage」搭載NASを試用するに当たって、実機ではリスクのある操作を行う代わりに、安全にいろいろと試せるようにHyper-V仮想マシン環境にWindows Server 2019をインストールし、ソフトウェアRAIDでOSとデータボリュームをミラーリングしました。今回は、この仮想マシン環境を使っていろいろと試してみます。その結果を踏まえた上で、実機でもディスクの抜き差しをテストしてみます。

» 2021年06月23日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「山市良のうぃんどうず日記」のインデックス

山市良のうぃんどうず日記

実機と仮想マシンに再現したディスク構成、違いはメーカー独自のRAID管理ツール

 前回(第208回)は、「Windows Server 2012 R2」以前向けに作成された以下のドキュメントを参考にして、Hyper-V仮想マシン環境に、「Windows Server IoT 2019 for Storage」搭載NAS(Network Attached Storage)の2ドライブモデルと同等のRAID(ミラーリング)環境を作ってみました。

 このドキュメントは参考になりましたが、そのままではうまくいきません。トライ&エラーで試行錯誤の末、前回記事の手順で構築することができました(画面1)。なお、筆者の手順が正しいとは限りませんのでご注意ください。

画面1 画面1 本物のWindows Server IoT 2019 for Storage搭載NASのディスク構成(左)と、Hyper-V仮想マシンに構築した“それっぽい”環境(右)

 「ダイナミックディスク」で構成したC:ドライブおよびD:ドライブのミラーリングは、おそらく忠実に再現できたと思います。違いがあるとすれば、実機の方にはNASメーカー独自のRAID管理ツールが存在する点です。実は、このメーカー製のRAID管理ツールがいかに重要であるか、後で分かります。

 試用したNASは2ドライブ構成で、1台のディスク障害からOSとデータのボリュームを保護してくれます。オンラインのままでディスク交換が可能で、1台のディスク障害までなら、ダウンタイムなしで復旧することができます。

 実機でテストするのは、ディスクが使用不能になるリスクがあるため避けたいところです。そのために前回、同一のRAID構成をセットアップしたHyper-V仮想マシンを用意しました。仮想マシンであれば、オンラインのまま仮想ハードディスクを削除したり、追加したりできます。ソフトウェアRAIDは再構築に数時間かかり、完了するまではパフォーマンスが劣化するという制約がありますが、仮想マシン環境であればチェックポイントを利用できるので再構築が完全に終わるまで待っている必要もありません。

 では、早速いろいろと試してみましょう。

稼働中に2台目のディスク(ディスク1)の削除を試す!

 2台目のディスク(ディスク1)に障害が発生したと想定し、実行中の仮想マシンから対応する仮想ハードディスクを削除してみます(画面2)。すると、「ディスクの管理」スナップインではミラーリングされた2つのボリュームの状態が「冗長の失敗」に変化しますが、C:ドライブ、D:ドライブへの読み書きには影響しません(画面3)。

画面2 画面2 実行中の仮想マシンから2台目のディスクに対応する仮想ハードディスクを削除する
画面3 画面3 ミラーリングされたボリュームの冗長は失われるが、C:ドライブとD:ドライブの読み書きに影響はない

稼働中に1台目のディスク(ディスク0)の削除を試す!

 では、1台目のディスク(ディスク0)を削除した場合はどうなると思いますか? 1台目のOSボリュームは、現在のOSの起動に使われたボリュームなので、継続稼働に影響するのではないかと想像する人もいるかもしれません。実際には、先ほどと同じく、冗長は失われますが、C:ドライブ、D:ドライブの読み書きは引き続き可能です(画面4)。

画面4 画面4 1台目のディスクに対応する仮想ハードディスクを削除した場合も同様に、冗長は失われるがOSとデータは保護される

2ドライブ正常時に2台目のディスク(ディスク1)からの起動を試す!

 OSボリュームをミラーリングした場合、ブート構成データの起動エントリとして、2台目のディスクを参照する(2台目のディスクから起動するための)「Windows Server - セカンダリプレックス」が追加されます。

 このエントリを選択して起動すると、2台目のディスク(ディスク1)のOSイメージを使用しますが、2つのドライブが正常な場合、起動後は通常の方法で起動した場合と全く変わりません(画面5)。筆者には起動後にどちらの起動エントリを使用して起動されたものなのか、識別することはできませんでした。

画面5 画面5 「Windows Server - セカンダリプレックス」を選択して起動した場合でも、2つのドライブが正常であれば通常起動と何ら変わらない

1ドライブ異常時に2台目のディスク(ディスク1)からの起動を試す!

 Windowsの起動時、一方のディスクに障害がある場合(あるいは存在しない場合)はどうなるでしょうか? 障害が2台目のディスク(ディスク1)の場合は、既定の起動エントリを使用して1台目のディスクから起動できます。また、冗長は失われますが、C:ドライブとD:ドライブの読み書きにも影響はありません。

 障害が1台目のディスク(ディスク0)の場合は、これまでの起動ディスクが存在しないため、システムのブート順序に従って試行され、最終的に2台目のディスクのEFIシステムパーティションのブート構成データを使用して起動しようとします。2台目のパーティション1にEFIシステムパーティションのコピーを作成してあるので、これは成功します。

 2台目のディスク(ディスク1)のEFIシステムパーティションのブート構成データで「Windows Server - セカンダリプレックス」を既定の起動エントリに設定しておけばそのまま起動しますが(前回、その設定について説明しました)、そうでない場合は対話的に「Windows Server - セカンダリプレックス」を選択して起動する必要があります。

 筆者の構築した環境では、2台目のディスク(ディスク1)だけで起動した場合、C:ドライブの読み書きに影響はありませんが、D:ドライブが参照できなくなりました。この状態は「ディスクの管理」スナップインでC:ボリュームおよびD:ボリュームに対して「ミラーの削除」を実行し、「不足」しているディスクを削除することで回復することができました(画面6画面7)。

画面6 画面6 1台目のディスクに障害がある場合、2台目のディスクに準備しておいたEFIシステムパーティションから起動するので、「Windows Server - セカンダリプレックス」(文字化けしている理由は不明)を選択して起動する
画面7 画面7 D:ドライブにアクセスできない状態は、ミラーを削除することで回復できた

ミラーボリュームを正常な状態までに復旧するには……

 ダイナミックディスクのソフトウェアRAIDによるミラーリングの保護は、1台のディスクに障害が発生するまでの保護です。削除したディスクをもう一度接続しても、あるいは真っさらなディスクを追加しても、ミラーリングされたドライブとして自動的に復旧するわけではありません。冗長が失われた場合は、ミラーを全て削除し、前回説明したのと同様の手順で新たにC:とD:ボリュームをミラーリングして再同期する必要があります(画面8)。

画面8 画面8 Windowsの標準機能では、障害ディスクを新しいディスクと入れ替えたとしても自動復旧することはない。新たにミラーリングの構成と再同期が必要

 これは煩雑なコマンドラインでの作業が中心ですし、再同期が完了するまでには数時間かかります。また、再同期が完了するまでの間、システム全体としてのパフォーマンスが大きく劣化します。OSボリュームの保護のためにミラーリングに頼るのではなく、システムイメージのバックアップを適切に取得し、いざというときにはベアメタル回復した方が早いかもしれません。

 Windows ServerベースのNAS専用機の場合、ここからがメーカー独自のRAID管理ツールの出番です。抜いたのと同じディスクを装着、または交換用のディスクカートリッジを装着するとそれを検出し、2回のクリックでディスクの準備からRAIDの再構築までを実施してくれます(画面9)。

画面9 画面9 Windows ServerベースのNAS専用機の場合、ディスクを装着または交換するとそれを検出し、2回のクリックでRAIDの再構築を開始できる

 これは、あるメーカーのNASの話です。他社のNASの場合は実装が異なるかもしれませんが、簡単に復旧できることは変わらないはずであり、それがNASの“売り”でもあります。別の言い方をすれば、通常のWindows Serverの場合、OSボリュームの保護にWindows標準のダイナミックディスクのミラーリングはお勧めしません。前回触れたように、ダイナミックディスクは開発終了扱いであり、将来のリリースで「記憶域スペース」に完全に置き換えられることになっているからです。そして、記憶域スペースは、OSディスクとしての使用はサポートされません(C:ドライブを記憶域スペースで保護することはできません)。

システムイメージの作成とベアメタル回復は?

 最後に、バックアップと復元はミラー構成でどのようになるのかも確かめてみました。仮想マシンに新しい仮想ハードディスクとDVDドライブを追加し、「Windows Serverバックアップ」を使用して単発のカスタムバックアップを実行、フルバックアップ(ベアメタル回復用の項目とD:ドライブ)を追加した仮想ハードディスクのボリュームに取得しました。

 仮想マシンをオフにし、ミラー構成の2つの仮想ハードディスクを同容量の真っさらな仮想ハードディスクに置き換え、インストールメディアから「Windows回復環境(Windows Recovery Environment、WinRE)」を起動して、「イメージでシステムを回復」を実行します(Windowsを修復→トラブルシューティング→イメージでシステムを回復)。

 フルバックアップを取得していますが、今回は「システムドライブのみ復元する」を選択してベアメタル回復用のバックアップのみを復元してみました。

 復元完了後、仮想マシンが再起動されると、C:およびD:ドライブのミラー構成を含めて復元されていました。「システムドライブのみ復元する」を選択したため、D:ドライブの中は当然空っぽです(画面10)。重要なのは、通常のバックアップと復元操作で、ダイナミックディスクのミラー構成も復元できることが分かったことです。「システムドライブのみ復元する」を選択しなかった場合、D:ドライブ内のファイルやフォルダを含めて完全に復元することができました。

画面10 画面10 「システムドライブのみを復元する」を選択した場合でも、C:だけでなくD:ドライブのミラー構成を含めて復元された(D:ドライブの中身は復元対象外になるので空っぽ)

 ミラー構成では、OSボリュームは1台のディスク障害から保護されます。ベアメタル回復用のバックアップの目的は、2台のディスクの両方が故障した場合に役立ちます。また、ハードウェア障害以外の理由で起動不能になった場合のシステムの復元にも役立ちます。

 例えば、Windows Updateの更新プログラムのインストールが原因で起動不能になったり、システムが不安定になったりした場合などです。ミラーリングされたドライブは両方に同じイメージが存在するので、ソフトウェア的な異常からは保護されません。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。