1

EBS ボリュームは のようにアタッチされext4ました/opt/apps。現在、それに関するデータはありません。ファイルシステム タイプを に変更しxfs、新しいマウント ポイントを に割り当てる方法は/data?

[centos@ip-10-24-xx-xxx ~]$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/xvda1     xfs       8.0G  1.4G  6.7G  17% /
devtmpfs       devtmpfs  7.3G     0  7.3G   0% /dev
tmpfs          tmpfs     7.2G     0  7.2G   0% /dev/shm
tmpfs          tmpfs     7.2G   17M  7.2G   1% /run
tmpfs          tmpfs     7.2G     0  7.2G   0% /sys/fs/cgroup
/dev/xvdb      ext4       99G   61M   94G   1% /opt/apps
tmpfs          tmpfs     1.5G     0  1.5G   0% /run/user/1000
4

2 に答える 2

1

ユースケースを実現するための 2 つのオプションがあることを確認してください。

ルート ボリュームを XFS に変換するか、2 つ目のボリュームを作成することができます。個人的には、後者の方が柔軟性が高いため、後者を好みます。

オプション 1:ルート ボリュームを XFS に変換する

  1. インスタンスを停止します (終了ではありません) (インスタンス A と呼びましょう)
  2. 新しいインスタンスを開始します (インスタンス B としましょう)
  3. インスタンス A からルート ボリュームをデタッチし、インスタンス B にアタッチします。
  4. 2 つ目の EBS ボリュームを作成し、インスタンス B にアタッチします
  5. 新しい EBS ボリュームを XFS としてフォーマットします (xfsprogsまだ行っていない場合はインストールします) 。
  6. すべてのデータを最初のボリュームから新しいボリュームにコピーします (例: を使用 rsync -aHAXxSP /source /target) 。
  7. インスタンス B から新しいボリュームを切り離し、インスタンス A のルート ボリュームとして接続します。
  8. インスタンス A を開始する
  9. インスタンス B を終了します (元のルート ボリュームは存続するはずです。問題が解決するまでそのままにしておきます)。

ルート ボリュームを別のインスタンスにアタッチする理由は、使用中のボリュームでは難しい一貫性を確保するためです。

オプション 2:データを 2 番目の EBS ボリュームに移動する

  1. 2 つ目の EBS ボリュームを作成し、インスタンスにアタッチします。XFSとしてフォーマットしてマウントする
  2. 新しいボリュームに移動するディレクトリを特定します (考慮すべきディレクトリには、/var/log、/var/lib/mysql、/var/www、/var/spool/mail、/var/vmail などがあります)。
  3. できるだけ多くのサービスを停止して、書き込みロックを解除します
  4. lsof | grep /path/to/dir残りの書き込みロックを確認するために使用します
  5. ディレクトリを新しい EBS ボリュームに移動します
  6. 新しいディレクトリを古い場所にマウントバインドします(つまりmount -o bind /mnt/path/to/dir /orig/path/to/dir
  7. ディレクトリごとに繰り返します
  8. サービスを開始して、すべてが機能していることを確認します
  9. ファイルを編集/etc/fstabして、マウント ポイントを永続的にします。例えば:/mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0

再起動して、すべてが持続し、正常に機能することを確認します。また、ルート ボリュームを少し縮小することを検討することもできます。ルート ボリュームからすべてのデータが削除されて、大きく成長 (または変化) しないことを願っています。

fsfreeze(参考までに、 に含まれているを使用して ext4 ファイル システムをフリーズできる場合がありますutil-linux-ng)。

于 2016-07-11T17:15:01.907 に答える