Amazon EC2 ext4 EBSボリュームをXFSファイルシステムに変換する


8

Amazon EC2 ext4ファイルシステムをXFSファイルシステムに変換して、一貫したスナップショットを取得してS3に送信できるようにする必要があります。us-eastでi686アーキテクチャを備えたubuntuサーバー10.10のカスタムの小さなイメージを使用しています。問題は、すべてのファイルに1つのEBSドライブしか使用していないことです。sshからインスタンスにログインすると、ドライブのマウントを解除したり、フォーマットしたり、何も実行したりできないため、問題が発生します。私の推測では、EBSボリュームを2つに分割し、/ var / wwwと/ var / libを2番目のEBSボリュームに移動して、代わりにXFSに変換する必要があります。私はapache2、mysql、ispconfig、bind、postfix、courier、pureftp(http://www.howtoforge.com/perfect-server-ubuntu-10.10-maverick-meerkat-ispconfig-3)を使用しています

ありがとうございました。

回答:


9

ルートボリュームを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)。


おかげで、問題が発生した場合に2番目の方法でバックアップから復元できるかどうか確信が持てないため、最初のオプションを使用します。
jaz

各EBSボリュームを個別に復元できます。両方のボリュームのスナップショットを個別に保持して、必要なものを復元できます。AmazonのEBSスナップショットは差分で圧縮されているため、使用される合計容量は、1つのボリュームとは対照的に、2つのボリューム上のデータとそれほど異なってはなりません。
cyberx86

1
オプション1の場合:「cloudimg-rootfs」ラベルがXFSに対して長すぎるため、最近のubuntuバージョンは起動に失敗します。使用するラベルを短くしてこれを修正する必要があります。以下のリンクからのこれらの手順:/ dev / xvdfデバイスに「/」というラベルを付けます。次のコマンドを実行するだけです:xfs_admin -L \ / / dev / xvdf / xfsディレクトリに/ dev / xvdfをマウントします。新しいXFSのボリューム(/ XFSは/ etc / fstabの)に関連する編集fstabファイルと確認/ラベルのボリュームに関連付けられている/してXFSはファイルシステムがここからのルートマウントポイント用に設定されますjsianes.blogspot.com/2014/06/...
JaredBroad
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.