システムディスクを交換してオペレーティングシステムを変更すると、システムディスクとそのイメージも交換されます。元のシステムディスクはリリースされ、すべてのデータが削除されます。そのため、古いシステムディスクから作成したスナップショットを使用して直接ロールバックすることはできません。本トピックでは、システムディスクの交換後に元のシステムディスクのスナップショットからデータを復元する方法について説明します。
前提条件
-
古いシステムディスクからスナップショットを作成し、スナップショット ID を取得していること。詳細については、「スナップショットを手動で作成」をご参照ください。
説明スナップショットの使用には料金が発生します。詳細については、「スナップショットの課金」をご参照ください。
-
ディスクをアタッチする Elastic Compute Service (ECS) インスタンスのインスタンス ID を取得していること。
-
オペレーティングシステムを変更済みであること。詳細については、「システムディスクの交換 (オペレーティングシステムの変更)」をご参照ください。
操作手順
ステップ 1:スナップショットからのディスク作成
ECS コンソール - スナップショット に移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
クラウドディスクスナップショット タブで目的のスナップショットを見つけ、操作 列で をクリックします。
-
ECS インスタンスにアタッチする を選択し、ECS インスタンス ID を入力します。その他のパラメーターの詳細については、「設定パラメーターの詳細な説明」をご参照ください。
-
設定と料金を確認し、画面の指示に従って購入を完了します。
ステップ 2:ECS インスタンスへのログインとデータの復元
この例では、Alibaba Cloud Linux 3.2104 を使用しています。パーティションレイアウトはオペレーティングシステムによって異なる場合があります。実際の環境に応じて調整してください。
-
ECS インスタンスにリモート接続します。
詳細については、「Workbench を使用して Linux インスタンスにログイン」をご参照ください。
-
次のコマンドを実行して、データディスクのデバイス名を取得します。
sudo fdisk -lu[ecs-xxx ~]$ sudo fdisk -lu Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 × 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000edc45 Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion. Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 × 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: gpt Disk identifier: 6CA42D45-D495-417A-99B7-DFFEF4B29C93 # Start End Size Type Name 1 2048 6143 2M BIOS boot 2 6144 415743 200M EFI System 3 415744 83886046 39.8G Linux filesysteこの例では、Alibaba Cloud Linux 3.2104 を使用しており、3 つのパーティションがあります。
最初のパーティション
/dev/vdb1は、ブートローダーを保存し、システムがディスクから正常に起動できるようにします。このパーティションに注目する必要はありません。2 番目のパーティション
/dev/vdb2は、EFI ブートプログラムを保存し、システムが EFI ファームウェアを使用して起動できるようにします。このパーティションに注目する必要はありません。3 番目のパーティション
/dev/vdb3は、オペレーティングシステムのファイルとデータ (システムディスクから復元する必要があるデータ) を保存します。パーティションレイアウトはオペレーティングシステムによって異なります。実際の環境に応じて調整してください。
-
次のコマンドを実行して、マウントディレクトリを作成します。 この例では
/temporaryを使用します。必要に応じて変更してください。sudo mkdir -p /temporary -
次のコマンドを実行して、ファイルシステムをマウントします。
/dev/vdb3と/temporaryを実際の値に置き換えてください。sudo mount /dev/vdb3 /temporary -
次のコマンドを実行して、ファイルをコピーします。 この例では、古いシステムディスクの
/mntから新しいシステムディスクの/mntにデータをコピーします。これはあくまで一例です。復元したい実際のデータが保存されている場所 (例:/homeや/var/www) に合わせて、コマンド内のソースパスと宛先パスを必ず変更してください。sudo cp -v /temporary/mnt/* /mntまたは、rsync ツールをインストールして、進行状況を追跡しながらファイルをコピーすることもできます。
sudo yum install -y rsync rsync --progress /temporary/mnt/* /mnt
ステップ 3:サービスの正常な動作の確認
-
サービスが復元されていることを確認します。操作の完了後、関連するサービスを再起動し、正常に動作しているかどうかを確認します。
-
サービスが正常に動作していることを確認した後、元のシステムディスクのスナップショットから作成したデータディスクをデタッチし、データディスクをリリースします。詳細については、「データディスクのデタッチ」および「ディスクのリリース」をご参照ください。
> ディスクの作成