クラウドインテグレーション事業部の池田(kiwi_clp)です。

本日はEC2で稼働するWindowsの一部ドライブがオフラインになる事例の共有です。

原因

結論からお伝えするとEBSのデタッチ後、NVMeデバイスがオフラインとなりオフラインとなったNVMeデバイスが特定のドライブで利用されたことでオフラインになった事が原因でした。

AWSドキュメントにも記載されておりますので以下に引用します。

When you unmount and detach a volume from an instance, Windows flags the device location as offline. The device location remains offline after rebooting, and stopping and restarting the instance. When you restart the instance, Windows might mount one of the remaining volumes to the offline device location. This causes the volume to be unavailable in Windows. To prevent this from happening and to ensure that all volumes are attached to online device locations the next time Windows starts, perform the following steps:

https://docs.aws.amazon.com/ebs/latest/userguide/ebs-detaching-volume.html#detach

一次対応

一次対応はオフラインとなっているドライブをオンラインにすることでオフラインとなったドライブが利用可能となります。

ドライブの管理画面は以下の順でアクセス可能です。

[Windows管理ツール]→[コンピュータの管理]→[ディスクの管理]

オフラインになっているディスクを右クリックして「オンライン」を選択すれば復旧可能です。

恒久対応

恒久対応はオフラインになっているNVMeデバイスのアンインストールです。

上記一次対応で復旧してもオフラインとなっているNVMeデバイスがあれば再利用されたタイミングで再発します。

まずは以下の順でデバイスマネージャーにアクセスします。

[Windows管理ツール]→[コンピュータの管理]→[デバイスマネージャー]

上部「表示」から「非表示のデバイスの表示」を選択します。

その後、「記憶域コントローラー」を展開して薄いアイコンの「AWS NVMe Elastic Block Storage Adapter」を右クリックして「デバイスのアンインストール」を選択します。

この時、「このデバイスのドライバーソフトウェアを削除します。」にチェックを入れてしまうとEBSパフォーマンス低下やOSが起動しなくなど別の障害が発生してしまう可能性がありますのでご注意ください。

 

オフラインになっているデバイスをアンインストールしたら恒久対応完了です。

ちなみに「このデバイスのドライバーソフトウェアを削除します。」にチェックを入れてアンインストールをしてみましたが表面上の不具合は確認出来ませんでした。

再起動もOSは起動しましたがWindowsバージョンの違いや環境の違いでEBSパフォーマンスの低下やOS起動不可など多くの障害が発生してしまう可能性がございますのでお気をつけください。