すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:データディスクを使用して、Linux ECSインスタンスのシステムディスクにビジネスデータを保存するにはどうすればよいですか。

最終更新日:Feb 12, 2025

ビジネスデータの増加によりElastic Compute Service (ECS) インスタンスのシステムディスクが過負荷になっていて、システムディスクの負荷を軽減するために特定のディレクトリに保存されているビジネスデータをデータディスクで保存する場合は、このトピックの操作を実行できます。 このトピックでは、特定のディレクトリに格納されているビジネスデータをデータディスクに転送し、そのディスクを使用してディレクトリに書き込まれた後続のビジネスデータを格納する方法について説明します。

警告

このトピックの操作にはデータ移行が含まれます。これは、ビジネスシステムの通常の操作に影響を与える可能性があります。 ディスクの負荷を軽減するために、システムディスクのサイズを変更することを推奨します。 詳細については、「手順1: ディスクのサイズを変更してディスク容量を拡張する」をご参照ください。

前提条件

  • システムディスク使用率が100% 未満です。

    重要

    このトピックの操作は、システムディスクの使用率が100% 未満の場合にのみ実行できます。 ECSインスタンスにログインし、df -hコマンドを実行して、ルートパーティションの使用率が100% に達しているかどうかを確認します。 ルートパーティションの使用率が100% に達した場合、問題のトラブルシューティングを行います。 詳細については、「Linuxインスタンスのディスク容量不足の問題の解決」をご参照ください。

  • システムディスクにビジネスデータを格納するデータディスクは、次の要件を満たしています。

    • データディスクは使用中 (In_use) 状態です。

    • データディスクは初期化され、ディスクのファイルシステムはマウントされません。 データディスクを初期化する方法については、「Linuxインスタンスでデータディスクを初期化する」をご参照ください。

次の例では、/userdataディレクトリに格納されているビジネスデータがAlibaba Cloud Linux 3.2104の /dev/vdb1パーティションに転送されます。 /userdataをビジネスデータを転送するディレクトリの名前に置き換え、/dev/vdb1をビジネスデータを転送するパーティションまたはデバイスの名前に置き換えます。

ワークフロー

手順

ステップ1: データをシステムディスクにバックアップする

偶発的な操作によるデータ損失を防ぐため、システムディスクのスナップショットを作成してディスクデータをバックアップすることを推奨します。 詳細については「スナップショットの作成」をご参照ください。

説明

スナップショットに対して課金されます。 スナップショットの課金については、「スナップショット」をご参照ください。

手順2: 業務データをシステムディスクからデータディスクにコピーする

  1. 次のコマンドを実行して、/temporaryという名前のファイルディレクトリを作成し、データディスクパーティションをディレクトリにマウントします。

    sudo mkdir /temporary
    sudo mount /dev/vdb1 /temporary
  2. /userdataディレクトリ内のデータを、データディスクパーティションがマウントされている /temporaryディレクトリにバックアップします。 /userdataを、データをバックアップするディレクトリの実際の名前に置き換えます。

    sudo cp -v /userdata/* /temporary

    rsyncツールをインストールしてファイルをコピーし、コピーの進行状況を表示することもできます。

    sudo yum install -y rsync
    rsync --progress /userdata/* /temporary

ステップ3: データディスクパーティションのマウントポイントを、ビジネスデータが格納されているディレクトリに設定する

  1. ステップ2を完了したら、次のコマンドを実行して、/temporaryディレクトリにマウントされているファイルシステムをマウント解除します。

    sudo umount /temporary
  2. 次のコマンドを実行して、/userdataディレクトリの名前を /userdata_bakに変更します。 データ移行の例外を防ぐために、短期バックアップ用のディレクトリを使用します。

    sudo mv /userdata /userdata_bak
    警告

    このステップでは、ビジネスデータが格納されている元のディレクトリの名前が変更されます。これにより、ビジネスシステムがエラーや短期的なデータ損失を報告する可能性があります。 ビジネスへのデータ移行のリスクを評価し、オフピーク時にデータ移行操作を実行することを推奨します。

  3. 次のコマンドを実行して、/temporaryディレクトリの名前を /userdataに変更します。

    sudo mv /temporary /userdata
  4. /dev/vdb1データディスクパーティションを /userdataディレクトリにマウントします。 /dev/vdb1を実際のパーティション名に、/userdataを実際のディレクトリ名に置き換えます。

    sudo mount /dev/vdb1 /userdata
  5. df -Thコマンドを実行して、データディスクパーティションがディレクトリにマウントされているかどうかを確認します。 次の図は、/dev/vdb1パーティションが /userdataディレクトリにマウントされていることを示しています。截屏2025-01-22 10

ステップ4: ビジネスシステムが期待どおりに実行されるかどうかを確認する

  1. 業務システムをすぐに再起動して、業務システムが期待どおりに実行されているかどうかを確認することを推奨します。

    問題が発生した場合は、次のいずれかのソリューションを使用してビジネスシステムを復元します。

    • 解決策1: ステップ3の操作と同様の操作を実行します。

      1. /userdataディレクトリにマウントされているファイルシステムをマウント解除します。

      2. /userdataディレクトリの名前を /temporaryに変更します。

      3. /userdata_bakディレクトリの名前を /userdataに戻します。

      4. 業務システムを再起動します。

    • 解決策2: システムディスクのスナップショットを使用して、スナップショットが作成されたときのディスクの状態にディスクをロールバックします。 詳細については、「スナップショットを使用したディスクのロールバック」をご参照ください。

  2. 業務システムが期待どおりに実行されることを確認したら、/userdata_bakディレクトリを削除します。