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

8

Мне нужно преобразовать файловую систему Amazon EC2 ext4 в систему XFS, чтобы я мог делать последовательные снимки и отправлять их на S3. Я использую собственный небольшой образ сервера 10.10 Ubuntu с архитектурой 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 )

Спасибо.

язь
источник

Ответы:

9

Вы можете конвертировать корневой том в 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).

cyberx86
источник
Спасибо, я остановлюсь на первом варианте, потому что я не уверен, что смогу восстановить данные из резервной копии вторым способом, если что-то пойдет не так.
Jaz
Вы можете восстановить каждый том EBS независимо - вы можете хранить снимки обоих томов отдельно, восстанавливая тот, который вам нужен. Снимки Amazon EBS являются дифференциальными и сжатыми, поэтому общее используемое пространство не должно сильно отличаться от данных на двух томах, а не на одном.
cyberx86 12.12.11
1
Для варианта 1: последние версии Ubuntu не смогут загрузиться, потому что метка «cloudimg-rootfs» слишком длинная для XFS. Вам нужно исправить это, укоротив метку, которую он использует; эти шаги по ссылке ниже: пометьте / dev / xvdf устройство как '/'. Просто запустите: xfs_admin -L \ / / dev / xvdf Смонтируйте / dev / xvdf в каталоге / xfs. Отредактируйте файл fstab, связанный с новым томом XFS (/ xfs / etc / fstab), и убедитесь, что / связан с томом, отмеченным как /, а файловая система xfs настроена для корневой точки монтирования. Отсюда: jsianes.blogspot.com/2014/06/…
JaredBroad