Elastic Compute Service (ECS) インスタンスをホストする物理マシン上のローカルディスクが破損した場合、ローカルディスクが分離された後もインスタンスは物理マシン上に残ります。 このトピックでは、ECSコンソールおよびAlibaba Cloud CLIを使用して、損傷したローカルディスクを分離する方法について説明します。 このトピックで説明する手順は、ECSインスタンスのローカルディスク関連のシステムイベントを処理する場合にのみ実行できます。
背景情報
分離できるのは、ビッグデータインスタンスタイプのインスタンスが使用する破損したローカルディスクのみです。 次のシステムイベントを処理すると、破損したローカルディスクを分離できます。
Disk:ErrorDetected
イベント。ローカルディスクに対して損傷アラートが生成されたときにトリガーされます。SystemMaintenance.IsolateErrorDisk
イベント。システムメンテナンスのために破損したローカルディスクを分離する必要がある場合にトリガーされます。SystemMaintenance.RebootAndIsolateErrorDisk
イベント。インスタンスを再起動する必要があり、システムメンテナンスのためにインスタンスによって使用されている破損したローカルディスクを分離する必要がある場合に発生します。SystemMaintenance.ReInitErrorDisk
イベント。システムメンテナンスのために破損したローカルディスクを再初期化する必要がある場合にトリガーされます。SystemMaintenance.RebootAndReInitErrorDisk
イベント。インスタンスを再起動する必要があり、システムメンテナンスのためにインスタンスによって使用されている破損したローカルディスクを再初期化する必要がある場合に発生します。
詳細については、「ローカルディスクを搭載したインスタンスのO&Mシナリオとシステムイベント」をご参照ください。
手順
ECSコンソールで破損したローカルディスクを分離
ECSコンソールにログインします。
左側のナビゲーションウィンドウで、[イベント] をクリックします。
[イベント] ページの左側のナビゲーションウィンドウで、[ローカルディスクベースのインスタンスイベント] をクリックします。
[ローカルディスクベースのインスタンスイベント] ページで、[ローカルディスクの損傷イベント] タブをクリックします。
管理するインスタンスを見つけて、[操作] 列の [修復] をクリックします。
[設定の変更] ステップで、インスタンスの設定ファイルを変更します。 次に、[次へ] をクリックします。
一部のLinuxインスタンスでは、[構成の変更] 手順が表示されている場合、画面の指示に従って次の操作を実行します。 このセクションでは、/dev/vddという名前の破損したローカルディスクが使用されます。
ECS インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
(オプション) アプリケーション層でローカルディスクの読み取りおよび書き込み操作を分離します。
nofailパラメーターをローカルディスクのインスタンスの /etc/fstab設定ファイルに追加します。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
パラメーター
説明
/dev/vdd
ローカルディスクのデバイス名。DescribeInstanceHistoryEvents操作によって返されるデバイス値です。
/mnt/vdd
ローカルディスクのマウントポイント。
mount | grep "/dev/vdd"
コマンドを使用して照会できます。ext4
ローカルディスクのファイルシステムタイプ。
blkid /dev/vdd1
コマンドを使用して照会できます。バリア=0
ファイルシステムのバリアを無効にするために使用されるマウントオプション。
nofail
ファイルシステムで指定されたローカルディスクが存在しない場合でも、ECSインスタンスのブートシーケンスが中断されないことを示します。
ローカルディスクをアンマウントします。
umount /dev/vdd
重要ローカルディスクをアンマウントしない場合、ローカルディスクが分離されて修復された後、ローカルディスクのデバイス名が変更されます。 この場合、アプリケーションは、別のディスクからデータを読み取り、または別のディスクにデータを書き込む可能性があります。
[破損したディスクの分離] ステップで、[OK] をクリックします。
次のステップが表示されない場合は、ページを更新します。
(オプション) [インスタンスの再起動] ステップで、[再起動] をクリックします。
[インスタンスの再起動] ステップが表示された場合は、[再起動] をクリックしてインスタンスを再起動します。
説明インスタンスの再起動後、分離された破損したローカルディスクは一時的に1 MiBダミーハードディスクに変換され、その後の操作が容易になります。 アプリケーション層では、破損したローカルディスクの読み取り操作と書き込み操作を継続的に分離し、/etc/fstabファイルでnofailパラメーターを設定する必要があります。
インスタンスの再起動後、[新しいディスクの挿入] の [OK] をクリックします。
Alibaba Cloudが、インスタンスをホストしている物理マシン上の破損したローカルディスクを交換するのを待ちます。 ほとんどの場合、交換プロセスは完了するまでに最大5営業日を必要とします。 ローカルディスクを交換すると、ディスクを復元する必要があるイベントが表示されます。
イベントを受信したら、[ディスクの復元] の [復元] をクリックします。
次のステップが表示されない場合は、ページを更新します。
(オプション) [インスタンスの再起動] ステップで、[再起動] をクリックします。
[インスタンスの再起動] ステップが表示された場合は、[再起動] をクリックしてインスタンスを再起動します。
インスタンスの再起動後、[完了] ステップで [完了] をクリックします。
Alibaba Cloud CLIを使用して破損したローカルディスクを分離する
Elastic Compute Service (ECS) インスタンスが作成されました。 Alibaba CLIがインスタンスにインストールされています。 さまざまなオペレーティングシステムにAlibaba Cloud CLIをインストールする方法については、以下のトピックを参照してください。
DescribeInstanceHistoryEvents操作を呼び出して、指定したリージョンで [Inquiring] 状態のシステムイベントを照会し、EventId、DiskId、およびDeviceパラメーターの戻り値を記録します。
Alibaba Cloud CLIで次のコマンドを実行します。
aliyun ecs DescribeInstanceHistoryEvents \ --RegionId <TheRegionId> \ --InstanceEventCycleStatus.1 Inquiring
次のコードは、JSON形式のサンプルレスポンスを示しています。
{ "InstanceSystemEventSet": { "InstanceSystemEventType": [ { "InstanceId": "i-2ze3tphuqvc93ci****3", "EventId": "e-2ze9y****wtqcvai68rl", "EventType": { "Code": 3, "Name": "SystemMaintenance.IsolateErrorDisk" }, "EventCycleStatus": { "Code": 28, "Name": "Inquiring" }, "EventPublishTime": "2017-11-30T06:32:31Z", "ExtendedAttribute" : { "DiskId": "d-disk1", "Device": "/dev/xvda" } } ] }, "PageSize": 10, "PageNumber": 1, "TotalCount": 1, "RequestId": "02EA76D3-5A2A-44EB-****-8901881D8707" }
損傷したローカルディスクを分離する前に、ECSインスタンスにログインして準備をします。
ECS インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
(オプション) アプリケーション層でローカルディスクの読み取りおよび書き込み操作を分離します。
インスタンスがLinuxインスタンスの場合、nofailパラメーターをローカルディスクのインスタンスの /etc/fstab設定ファイルに追加します。
/dev/vdd /mnt/vdd ext4 defaults,barrier=0,nofail 0 0
パラメーター
説明
/dev/vdd
ローカルディスクのデバイス名。DescribeInstanceHistoryEvents操作によって返されるデバイス値です。
/mnt/vdd
ローカルディスクのマウントポイント。
mount | grep "/dev/vdd"
コマンドを使用して照会できます。ext4
ローカルディスクのファイルシステムタイプ。
blkid /dev/vdd1
コマンドを使用して照会できます。バリア=0
ファイルシステムのバリアを無効にするために使用されるマウントオプション。
nofail
ファイルシステムで指定されたローカルディスクが存在しない場合でも、ECSインスタンスのブートシーケンスが中断されないことを示します。
ローカルディスクをアンマウントします。
umount /dev/vdd
重要ローカルディスクをアンマウントしない場合、ローカルディスクが分離されて修復された後、ローカルディスクのデバイス名が変更されます。 この場合、アプリケーションは、別のディスクからデータを読み取り、または別のディスクにデータを書き込む可能性があります。
AcceptInquiredSystemEvent操作を呼び出して、指定されたシステムイベントに応答します。
Alibaba Cloud CLIで次のコマンドを実行します。
aliyun ecs AcceptInquiredSystemEvent -- RegionId <TheRegionId> -- EventId <TheEventId>
インスタンスを再起動するかどうかを確認します。
イベントコードが
SystemMaintenance.IsolateErrorDisk
の場合:RequestId値のみが返された場合、インスタンスを再起動する必要はありません。
code
の戻り値がSwitchToOffline.OnlineIsolateFailの場合、インスタンスを再起動する必要があります。
イベントコードが
SystemMaintenance.RebootAndIsolateErrorDisk
の場合、AcceptInquiredSystemEvent操作を呼び出した後にインスタンスを再起動する必要があります。
インスタンスを再起動するには、Alibaba Cloud CLIで次のコマンドを実行します。
aliyun ecs RebootInstance -- InstanceId <TheInstanceId>
説明インスタンスの再起動後、分離された破損したローカルディスクは一時的に1 MiBダミーハードディスクに変換され、その後の操作が容易になります。 アプリケーション層では、破損したローカルディスクの読み取り操作と書き込み操作を継続的に分離し、/etc/fstabファイルでnofailパラメーターを設定する必要があります。
Alibaba Cloudが物理マシン上の破損したローカルディスクを置き換え、
SystemMaintenance.ReInitErrorDisk
またはSystemMaintenance.RebootAndReInitErrorDisk
イベントを発行するまで待ちます。 ほとんどの場合、交換プロセスは完了するまでに最大5営業日を必要とします。AcceptInquiredSystemEvent操作を思い出して、システムイベントに応答します。 ローカルディスクが再初期化状態になります。
Alibaba Cloud CLIで次のコマンドを実行します。
aliyun ecs AcceptInquiredSystemEvent -- RegionId <TheRegionId> -- EventId <TheEventId>
インスタンスを再起動するかどうかを確認します。
イベントコードが
SystemMaintenance.ReinitErrorDisk
の場合:RequestId値のみが返された場合、インスタンスを再起動する必要はありません。
code
の戻り値がSwitchToOffline.OnlineReInitFailの場合、インスタンスを再起動します。
イベントコードが
SystemMaintenance.RebootAndReinitErrorDisk
の場合、AcceptInquiredSystemEvent操作を呼び出した後にインスタンスを再起動する必要があります。
インスタンスを再起動するには、Alibaba Cloud CLIで次のコマンドを実行します。
aliyun ecs RebootInstance -- InstanceId <TheInstanceId>
結果
破損したローカルディスクが交換されてから数分後、ローカルディスクの破損イベントは消えます。
次のステップ
破損したディスクが分離されたら、インスタンスとローカルディスクのステータスを確認します。 交換されたローカルディスクは元の容量に復元され、データディスクを再フォーマットできます。 詳細については、「Windowsインスタンスでサイズが2 TiBを超えないデータディスクを初期化する」または「Linuxインスタンスでサイズが2 TiBを超えないデータディスクを初期化する」をご参照ください。