Назад | Перейти на главную страницу

Преобразование тома Amazon EC2 ext4 EBS в файловую систему XFS

Мне нужно преобразовать мою файловую систему Amazon EC2 ext4 в XFS, чтобы я мог делать последовательные снимки и отправлять их на S3. Я использую собственный небольшой образ сервера ubuntu 10.10 с архитектурой i686 в США-востоке. Проблема в том, что я использую только один диск EBS для всех файлов, и теперь это вызывает у меня головную боль, потому что я не могу размонтировать, отформатировать или действительно что-либо сделать с диском при входе в экземпляр из ssh. Я предполагаю, что мне нужно как-то разделить том EBS на 2 и переместить / var / www и / var / lib на второй том EBS и вместо этого преобразовать его в XFS. Я использую apache2, mysql, ispconfig, bind, postfix, courier, pureftp (http://www.howtoforge.com/perfect-server-ubuntu-10.10-maverick-meerkat-ispconfig-3)

Спасибо.

Вы можете либо преобразовать корневой том в XFS, либо создать второй том. Лично я предпочел бы последний вариант, поскольку он обеспечивает большую гибкость.

Опция 1: Преобразование корневого тома в XFS

  1. Остановите свой экземпляр (не завершите) (назовем его экземпляром A)
  2. Запустите новый экземпляр (назовем его экземпляром B)
  3. Отсоедините корневой том от экземпляра A и присоедините его к экземпляру B
  4. Создайте второй том EBS, подключите его к экземпляру B
  5. Отформатируйте новый том EBS как XFS (установите xfsprogs если еще не сделано)
  6. Скопируйте все данные из первого тома в новый (например, используя rsync -aHAXxSP /source /target)
  7. Отсоедините новый том от экземпляра B и присоедините его как корневой том экземпляра A
  8. Запуск экземпляра A
  9. Завершите работу экземпляра B (исходный корневой том должен сохраниться, храните его, пока все не сработает по вашему вкусу).

Причина прикрепления корневого тома к другому экземпляру заключается в достижении согласованности, что было бы сложно с используемым томом.

Вариант 2: Перенести данные на второй том EBS

  1. Создайте второй том 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 привяжет новый каталог к ​​его старому местоположению (т.е. 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

Перезапустите, чтобы убедиться, что все работает и работает должным образом. Вы также можете захотеть немного уменьшить корневой том, поскольку, надеюсь, он не должен сильно увеличиваться (или меняться) при удалении из него всех данных.

(Следует отметить, что файловую систему ext4 можно заморозить с помощью fsfreeze, который входит в util-linux-ng).