ディスクをトラブルシューティングすると、データディスクパーティションが失われる可能性があります。 このトピックでは、Linuxインスタンスでデータディスクパーティションが失われる問題と、その問題を解決する方法について説明します。 このトピックでは、ディスク使用の一般的な間違いと、ディスクを使用するためのベストプラクティスについても説明します。
前提条件
- パーティションを失ったデータディスクのスナップショットが作成されます。 データの復元中にエラーが発生した場合は、スナップショットを使用してデータディスクを復元前の状態にロールバックできます。 詳細については、「ディスクのスナップショットの作成」および「スナップショットを使用したディスクのロールバック」をご参照ください。
Alibaba Cloud アカウントが作成済みであること。 Alibaba Cloudアカウントを作成するには、[Alibaba Cloudに登録] ページに移動します。
背景情報
- fdisk: Linuxでデフォルトで提供されているディスクのパーティショニング用のツール。
- testdisk: Linuxでディスクパーティションまたはデータを復元するために使用されるツール。 デフォルトでは、このツールはLinuxでは提供されません。 ご自身でインストールする必要があります。 たとえば、yum install -y testdiskコマンドを実行して、CentOSにtestdiskをインストールできます。
- partprobe: デフォルトでLinuxで提供されるツール。 このツールは、システムを再起動することなく、カーネルがパーティションを再読み込みできるようにするために使用されます。
変更方法
fdisk を使用したパーティションの復元
上記の操作でパーティションを復元できない場合は、testdiskを使用してパーティションを復元できます。
testdisk を使用したパーティションの復元
この例では、ディスクデバイス名 /dev/xvdbが使用されます。 testdiskを使用して /dev/xvdbディスク上のパーティションを復元するには、次の手順を実行します。
- testdisk /dev/xvdbコマンドを実行します。 データディスクのデバイス名が異なる場合は、/dev/xvdbをデータディスクの実際のデバイス名に置き換えます。 次に、[続行] (デフォルト値) を選択し、Enterキーを押します。
- スキャンするパーティションテーブルの種類を選択します。 通常、デフォルト値Intelが選択されます。 データディスクでGUIDパーティションテーブル (GPT) 形式を使用している場合は、[EFI GPT] を選択します。
- 分析を選択し、Enterキーを押します。
- パーティション情報が表示されない場合は、クイック検索を選択してEnterキーを押します。 次の図に示すように、コマンド出力にパーティション情報が表示されます。
- パーティションを選択してEnterキーを押します。
- [書き込み] を選択してパーティションを保存します。 説明 予想されるパーティションがリストされていない場合は、[Deeper Search] を選択して検索を続行します。
- Yキーを押してパーティションを保存します。
- partprobe /dev/xvdbコマンドを実行して、パーティションテーブルを更新します。 データディスクのデバイス名が異なる場合は、/dev/xvdbをデータディスクの実際のデバイス名に置き換えます。
- パーティションを再度マウントし、データディスクのデータを表示します。
testdisk を使用したデータを復元
場合によっては、testdiskを使用してディスクパーティションをスキャンできますが、パーティションを保存できない場合があります。 このような場合は、データを直接復元できます。 以下の手順を実行します。
- testdiskを使用してディスクパーティションをスキャンします。 詳細については、このトピックの「testdiskを使用してパーティションを復元する」セクションの手順1から手順4を参照してください。
- Pキーを押してファイルを一覧表示します。 コマンドの出力を次の図に示します。
- 復元するファイルを選択し、Cキーを押します。
- 宛先ディレクトリを選択します。 この例では、ファイルは /homeディレクトリに復元されます。 もし
コピー完了! 次の図に示すように、1 ok、0 failed
が表示され、ファイルがコピーされます。 - /homeディレクトリに切り替えて、ファイルが復元されているかどうかを確認します。 次の図に示すように、ファイルが /homeディレクトリに表示されている場合、ファイルは復元されます。
よくある間違いとベストプラクティス
データはユーザーの中核資産です。 多数のユーザーがWebサイトを構築し、Elastic Compute Service (ECS) インスタンス上に自己管理型MySQL、MongoDB、またはRedisデータベースを作成します。 データ損失はビジネスに大きなリスクを引き起こす可能性があります。 このセクションでは、データセキュリティにおける一般的な間違いとベストプラクティスについて説明します。
- よくある間違い
Alibaba Cloudの基盤となるストレージは、3重のテクノロジーに基づいています。 したがって、一部のユーザは、オペレーティングシステムにデータ損失のリスクが存在しないと考える。 これは誤解です。 下層に格納されたデータの3つのコピーは、データディスクの物理層保護を提供します。 ただし、ディスクの使用中にウイルス感染、誤ったデータ削除、ファイルシステムの損傷などのエラーが発生した場合でも、データが失われる可能性があります。 データのセキュリティを確保するには、スナップショットや地理的冗長性などのテクノロジを使用する必要があります。 3つのコピーの詳細については、「Triplicate storage」をご参照ください。
- ベストプラクティス
データディスクパーティションの復元とデータ復元は、データ損失に対処するために使用できますが、期待どおりにデータを復元できない場合があります。 ベストプラクティスに従って、データの自動スナップショットまたは手動スナップショットを作成し、さまざまなバックアップ方法を使用してデータのセキュリティを最大化することをお勧めします。
- 自動スナップショットポリシーの適用
自動スナップショットポリシーをシステムディスクまたはデータディスクに適用して、ディスクの自動スナップショットを作成できます。 システムディスクが交換された場合、インスタンスの有効期限が切れた場合、またはディスクが手動でリリースされた場合、関連付けられた自動スナップショットがリリースされる可能性があります。
ディスクの自動スナップショットをディスクとともにリリースする場合は、ECSコンソールの [ディスクのプロパティの変更] ダイアログボックスで [ディスクのリリース中に自動スナップショットを削除] を選択します。 ディスクのリリース時に自動スナップショットを保持する場合は、このオプションをオフにします。
詳細については、「スナップショットに関するFAQ」および「自動スナップショットポリシーの作成」をご参照ください。
- 手動スナップショットの作成 次の操作など、ディスクに対して重要な操作やリスクの高い操作を実行する前に、ディスクのスナップショットを手動で作成します。
- カーネルを更新します。
- アプリケーションのアップグレードまたは変更。
- ディスク上のデータを復元します。
ディスクを復元する前に、ディスクのスナップショットを作成する必要があります。 スナップショットの作成後、他の操作を実行できます。
- OSSバックアップ、オフラインバックアップ、および地理的冗長性
OSSバックアップ、オフラインバックアップ、または地理的冗長性を使用して、重要なデータをバックアップできます。
- 自動スナップショットポリシーの適用