Linux Elastic Compute Service (ECS) インスタンスのシステムディスクのディレクトリからデータディスクへビジネスデータを移行し、システムディスクの負荷を軽減します。
データ移行はビジネスに影響を与える可能性があります。 代わりにシステムディスクのサイズ変更を検討してください。 詳細については、「手順1:ディスクのサイズを変更してディスク容量を拡張」をご参照ください。
前提条件
-
システムディスクの使用率が 100% 未満であること。
重要インスタンスにログインし、df -h を実行してルートパーティションの使用率を確認します。使用率が 100% に達した場合は、「Linux で "no space left" の問題を解決する」をご参照ください。
-
移行先のデータディスクが次の要件を満たしていること:
-
データディスクが [利用中] (In_use) 状態であること。
-
データディスクが初期化済みで、ファイルシステムがマウントされていないこと。 詳細については、「Linux インスタンスでのデータディスクの初期化」をご参照ください。
-
この例では、Alibaba Cloud Linux 3.2104 上で、/userdata ディレクトリから /dev/vdb1 パーティションにデータを移行します。 /userdata と /dev/vdb1 は、実際のディレクトリ名とパーティション名に置き換えてください。
ワークフロー
手順
手順1:システムディスクのバックアップ
データの損失を防ぐために、システムディスクのスナップショットを作成します。 詳細については、「手動でのスナップショットの作成」をご参照ください。
スナップショットには料金が発生します。 詳細については、「スナップショットの課金」をご参照ください。
手順2:データディスクへのデータのコピー
-
/temporary ディレクトリを作成し、データディスクのパーティションをマウントします。 /dev/vdb1 は実際のパーティション名に置き換えてください。
sudo mkdir /temporary sudo mount /dev/vdb1 /temporary -
/userdata から、マウントした /temporary ディレクトリにデータをコピーします。 /userdata は実際のディレクトリ名に置き換えてください。
sudo cp -rv /userdata/. /temporaryまたは、rsync を使用して進捗状況を表示しながらファイルをコピーすることもできます。
sudo yum install -y rsync rsync --progress /userdata/* /temporary
手順3:データディスクパーティションのデータディレクトリへのマウント
-
/temporary ディレクトリをアンマウントします。
sudo umount /temporary -
/userdata の名前を短期的なバックアップとして /userdata_bak に変更します。
sudo mv /userdata /userdata_bak警告データディレクトリの名前を変更すると、ビジネスエラーや短期的なデータ損失が発生する可能性があります。 リスクを評価し、この操作はオフピーク時間に実行してください。
-
/temporary の名前を /userdata に変更します。 /userdata は実際のディレクトリ名に置き換えてください。
sudo mv /temporary /userdata -
/dev/vdb1 を /userdata にマウントします。 実際のパーティション名とディレクトリ名に置き換えてください。
sudo mount /dev/vdb1 /userdata -
df -Thコマンドを実行して、データディスクパーティションがターゲットディレクトリにマウントされているかどうかを確認します。次の出力は /dev/vdb1 が /userdata にマウントされていることを示しています。[ecs-xxx ~]$ df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 867M 0 867M 0% /dev tmpfs tmpfs 879M 0 879M 0% /dev/shm tmpfs tmpfs 879M 436K 878M 1% /run tmpfs tmpfs 879M 0 879M 0% /sys/fs/cgroup /dev/vda1 ext4 40G 2.8G 35G 8% / /dev/vdb1 ext4 40G 3.8G 34G 11% /userdata
手順4:ビジネスシステムの動作確認
-
ビジネスシステムを再起動し、期待どおりに動作することを確認します。
-
ビジネスシステムが正常に動作することを確認した後、/userdata_bak ディレクトリを削除します。