Windows Server 2019 Datacenter を再起動するたびに「Controller cache pinned for missing or offline VDs」のようなポップアップが出る場合、原因はOS不具合ではなく、RAIDコントローラー(例:Dell PERC)が“保護のためにキャッシュを保持している”状態であることが多いです。本記事では、データ損失を避けるための切り分けと、安全順の対処手順を具体的に解説します。
現象:再起動のたびに「Controller cache pinned(missing/offline VDs)」が表示される
代表的な症状は次のようなものです。
- Windows Server 2019 を再起動すると、ログオン直後に「Event Notification Application」のポップアップで警告が出る
- メッセージに Controller cache pinned / missing or offline VDs(VDが欠損/オフライン)といった文言が含まれる
- サーバー自体は起動するが、再起動のたびに同じ警告が繰り返される
このポップアップはWindowsの標準機能というより、サーバーベンダーの管理コンポーネント(Dell OpenManage系など)がRAIDコントローラーの状態を通知しているケースが多いです。つまり、Windows側の設定変更やパッチ適用だけで消える類の警告ではありません。
結論:Windowsの不具合ではなく、RAIDコントローラーが「書き込み中キャッシュ」を保護している警告
この警告の本質はシンプルで、RAIDコントローラーが次の状態になっている可能性が高い、ということです。
- 何らかの理由で 仮想ディスク(Virtual Disk / VD)が欠損・オフライン扱いになった
- そのVDに対して、まだディスクへ反映しきれていない 書き込みキャッシュ(いわゆるダーティキャッシュ)が残っている
- データ保護のため、コントローラーがキャッシュを Pinned(固定)/ Preserved(保持)として温存している
公式ドキュメントの説明としては、Dell PERC 9(H330/H730/H830 等)で「Offline or missing virtual drives with preserved cache error message」として案内されています。
Dell:Offline or missing virtual drives with preserved cache error message
まず押さえる:VD・PD・Foreign・Preserved Cache の用語を短時間で理解する
| 用語 | 意味(ざっくり) | 今回のトラブルと関係する点 |
|---|---|---|
| PD(Physical Disk) | 物理ディスク(HDD/SSD) | 抜け・接触不良・故障があるとVDが崩れる |
| VD(Virtual Disk) | RAIDで構成された論理ディスク | OSからは1本のディスクのように見える |
| Offline / Missing VD | VDが見えない/オフライン扱い | キャッシュ保持(Pinned/Preserved)とセットで出やすい |
| Preserved Cache | 保護のため保持されるキャッシュ | 不用意に破棄すると「未反映の書き込み」が失われ得る |
| Foreign configuration | “外部構成”。コントローラーが想定していない構成情報 | Importすべき状況で、先にキャッシュ破棄すると危険になり得る |
最優先は「安全確認」:やってはいけない行動
警告が出ると焦って対処したくなりますが、RAIDの“保持キャッシュ”はデータ保護に直結します。次の行動は避けてください。
注意: 状況を確認せずに「Preserved Cache を Clear(破棄)」するのは危険です。未反映の書き込みが失われる可能性があります。特にForeign configuration があるケースでは、手順を誤るとデータ損失につながり得ます。
- 根拠なくキャッシュを破棄する
- 原因調査をせず、再起動を繰り返す(状態が悪化するケースもある)
- “ディスクを抜き差ししてみる”を本番稼働中に雑にやる(接触不良が悪化する)
- 「Windowsの更新で直るはず」と決め打ちして、RAID側の確認を後回しにする
切り分けの要点:なぜ再起動のたびに警告が出るのか
再起動は「RAIDコントローラーが構成とキャッシュを再評価するタイミング」です。起動時に、次のような条件が揃うと警告が出続けます。
- 過去に一瞬でもディスク/ケーブル/バックプレーンの問題でVDが欠損扱いになった
- その時点で書き込みキャッシュが残った
- 復旧(ImportやRebuildなど)が完了していない、または保持キャッシュが残り続けている
つまり、再起動が原因ではなく「再起動によって“問題が見える化されている”」と捉えるのが正解です。
状態別の早見表:何を見て、何をすべきか
| 見えている状態 | 可能性が高い原因 | 最初にやるべきこと(安全優先) |
|---|---|---|
| VDが「Missing/Offline」、PDが抜け/未認識 | 物理障害(ディスク故障、接触不良、ケーブル/バックプレーン) | 物理確認 → ハード診断 → 復旧手順(Import/Replace/Rebuild) |
| Foreign configuration が検出される | 構成情報の不一致(交換/移設/一時的断) | 先に Import(外部構成の取り込み)を検討 |
| VDはOnlineだが「Preserved Cache」が残る | 過去の欠損でキャッシュ保持が残留 | ログ/状態を確認 → 公式手順に沿って Manage Preserved Cache |
| 同時にBBU/CacheVault警告がある | キャッシュ保護ユニット劣化、電源断の影響 | バッテリー/CacheVault状態確認 → 交換検討 → FW更新 |
対処の全体像:安全順に進める「王道フロー」
ここからは、実務で事故を起こしにくい順に手順を並べます。ポイントは「物理→構成→キャッシュ→復旧確認→再発防止」です。
手順1:物理ディスクと配線を確認(最重要)
最初にやるべきは、管理画面やOS操作ではなく“物理の健全性”です。Dellの説明でも、ケーブルやドライブが正しく認識されていることが前提になっています。
Dell:Offline/Missing VD + Preserved Cache エラーメッセージの概要
| 確認ポイント | 具体的な見方 | 異常だった場合の次の一手 |
|---|---|---|
| 全ドライブが刺さっているか | ドライブベイのLED、ラッチ、物理装着状態 | 不用意な抜き差しは避けつつ、保守手順に沿って点検 |
| ドライブが認識されているか | iDRAC/ライフサイクルコントローラー/OMSAでPD一覧 | 未認識ならケーブル/バックプレーン/ドライブ故障を疑う |
| バックプレーン・ケーブル | 過去の作業履歴、振動、清掃、移設の有無 | 再現性が低い場合ほど接触不良が疑わしい |
| 電源系のイベント | 停電、瞬断、UPSログ、PSU警告 | 電源断が契機ならキャッシュ保持が残りやすい |
ここで重要なのは「ドライブが戻ったように見える」場合でも、RAID側では“欠損として扱った履歴”が残り、保持キャッシュが解除されず警告が出続けることがある点です。物理が怪しいままキャッシュ処理へ進むのは危険です。
手順2:RAIDの状態を“読む”(OSのイベントログだけで判断しない)
Windows Server 2019 のイベントログ(System/Storage関連)も参考になりますが、今回の警告はRAIDコントローラー起点です。可能なら次のいずれかでRAID状態を確認します。
- iDRAC の Storage/ログ(モデルにより画面名は異なります)
- Lifecycle Controller / RAID設定ユーティリティ
- OpenManage Server Administrator(OMSA)を導入しているなら、VD/PDの状態を直接確認
OMSAがある場合の例(環境によりコマンドは異なります):
omreport storage vdisk
omreport storage pdisk controller=0
omreport storage controller
この段階で「VDがOnlineなのか」「Degradedなのか」「Offline/Missingなのか」「Foreignがあるのか」「Preserved Cacheが残っているのか」を押さえます。ここが曖昧なまま進めると、手順の選択を誤りやすくなります。
手順3:Foreign configuration があるか確認し、あるなら Import を優先
Foreign configuration(外部構成)が検出されている場合、先に取り込む(Import)べきケースがあります。Dellの手順でも、Foreign構成がある状況で先にキャッシュを破棄するとリスクがある旨が示されています。
Dell:Managing Preserved Cache(保持キャッシュの管理)
Foreign が起きやすい典型例:
- 同一サーバー内でのコントローラー交換や設定初期化
- ディスクを別筐体に移した(または戻した)
- ディスクが一時的に未認識になり、復帰した
ポイント: Foreign がある=構成情報が“ここにある”可能性が高い、ということです。ここでキャッシュを先に捨てると、「戻せたはずの整合性」を捨てる行為になり得ます。
手順4:RAID設定ユーティリティで「Import」または「Preserved Cache の処理」を実施
物理が問題なく、状態が把握できたら、RAID設定ユーティリティ側で対処します。Dell PERCの場合、起動時の設定ユーティリティ(例:BIOSでは Ctrl + R)から行います。UEFI構成ではCtrl+Rが使えず、HIIメニュー側で実施する案内もあります(機種/世代でUIは変わります)。
代表的な作業パターンは次の2つです。
パターンA:Foreign configuration があり、Importできる
- RAID設定ユーティリティへ入る
- Foreign configuration を検出しているか確認
- Import(取り込み)を実行
- 必要に応じて Rebuild(リビルド)を開始/継続
- VDが Online(またはRebuild中)になり、警告が解消するか確認
Import後、しばらくはRebuildや整合性処理が走ることがあります。本番運用なら性能影響や完了見込みを考慮し、監視を厚くしておくのが安全です。
パターンB:Foreignはないが Preserved Cache が残っている(Manage Preserved Cache)
Dellの具体例として、VD Mgmt画面でコントローラーを選択し、F2 → Manage Preserved Cache で保持キャッシュの破棄/保持を選ぶ手順が案内されています。
Dell:Manage Preserved Cache の手順
ここで重要なのは「破棄するかどうか」を“状況に応じて”判断することです。判断材料を表にまとめます。
| 判断材料 | 安全側の解釈 | 推奨アクション |
|---|---|---|
| 過去にVDがMissing/Offlineになった形跡がある | 未反映書き込みが残っている可能性 | 可能なら復旧(Import/ドライブ復帰)を優先し、破棄は最後 |
| Foreign configuration が検出される | 取り込める構成がある可能性 | 先にImport。破棄は慎重に |
| 完全なバックアップがあり、データ損失許容がある | 最悪の事態に備えられる | 公式手順に沿って破棄を検討(ただし影響範囲を理解してから) |
| 業務停止が許されず、原因特定ができない | 無理に触ると復旧不能になるリスク | ログ採取→ベンダーサポートへ。保守手順に従う |
Windows側でできる補助的な確認(ただし主戦場はRAID側)
RAID側対処が本筋ですが、Windows Server 2019 側でも「兆候」を拾えます。例えば次の観点です。
- Systemログに Storport / disk / nvme / iaStor などのエラーがないか
- 突然のI/Oタイムアウトやリセットが起きていないか
- 予兆として「一瞬ドライブが消える」ような記録がないか
PowerShell例(ログ確認の入口として):
Get-WinEvent -LogName System -MaxEvents 200 |
Where-Object { $_.Message -match 'storport|disk|reset|timeout|controller' } |
Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, Message
ただし、PERC配下の論理ディスクはWindowsから見える情報が抽象化されるため、Windowsログだけで「Foreignがある」「Preserved Cacheが残っている」といった核心には到達しにくいです。補助として使い、結論はRAID側の状態から出すのが確実です。
復旧できたかの確認:警告が消えた“だけ”で終わらせない
警告が消えたとしても、次の確認をして初めて「復旧完了」と判断できます。
- VDが Online(またはRebuild完了)になっている
- PDに Predictive Failure や Media Error が増加していない
- 整合性チェック(Consistency Check)やPatrol Readの結果に異常がない
- 同じ再起動手順を踏んでも警告が再発しない
ここを飛ばすと「たまたま消えた」だけで、数日後に再発→今度は本当にVDが落ちる、という流れになりがちです。
再発防止:原因が“ディスク”ではなく“周辺”にあることも多い
本件は「ディスク故障」だけでなく、周辺要因で発生します。再発を減らすために、以下をセットで見直します。
ファームウェア更新(iDRAC / PERC / ドライブ)
再発防止として、iDRACやPERCのファームウェア更新が案内されていることがあります。既知の不具合が絡む場合、更新で改善する可能性があります。
Dell EMC PowerEdge Servers Troubleshooting Guide
接触不良・バックプレーン・ケーブル
再起動や振動、温度変化で“一瞬消える”症状は、ケーブル/バックプレーン系が原因のことがあります。ドライブ自体は健康でも、I/O経路が不安定だとVD欠損→キャッシュ保持の流れに入りやすいです。
電源品質(UPS・PSU・瞬断)
瞬断が多い環境では、書き込み途中のキャッシュが残るリスクが上がります。UPSのログ、PSU冗長の実効性、電源系イベント(SEL)を点検し、原因を潰しておくと再発率が下がります。
よくある質問
「Windows Server 2019の更新プログラム」で直りますか?
警告そのものはRAIDコントローラーの状態に起因するため、Windows Updateだけで根治する可能性は高くありません。もちろんOS更新は重要ですが、今回はRAID側の「VD欠損/オフライン」と「保持キャッシュ」を正しく処理するのが本筋です。
「Preserved Cacheを破棄すれば消える」のでは?
消えることはありますが、未反映の書き込みを捨てる可能性があります。特にForeign configurationがある場合は、先にImportすべき状況があり得ます。焦って破棄せず、状態確認→公式手順→必要ならサポート相談、の順が安全です。
「再起動のたびに出る」けど普段は問題ない。放置していい?
放置はおすすめしません。警告は「RAIDが“データ保護のために例外動作をしている”」サインです。今は動いていても、次の瞬断や次回のディスクエラーで一気に顕在化することがあります。軽症のうちに原因(物理/構成/キャッシュ)を整理しておく方が、結果的に停止時間が短く済みます。
まとめ:やるべきことは「OS修復」ではなく「RAID側で欠損VDと保持キャッシュを正しく処理」
Windows Server 2019 の再起動後に「Controller cache pinned(missing/offline VDs)」が出る問題は、Windowsの不具合というより、RAIDコントローラーが“欠損/オフライン扱いになったVD”と“保持キャッシュ”を守っている状態で起こる警告です。
- 最初に物理(ドライブ/配線/バックプレーン/電源)を確認
- RAIDの状態を把握し、ForeignがあるならImportを優先
- Preserved Cacheの処理は、状況確認の上で慎重に
- 復旧後は整合性と再発防止(FW更新・周辺要因の点検)まで実施
公式手順の参照先:

コメント