пʼятницю, 29 березня 2013 р.

Amazon EC2. Миграция "LVM over software RAID" тома между инстансами



Имеем следующую задачу.
На одном инстансе Server1 на Amazon EC2 подключены несколько EBS томов, объединенных в software RAID10 (для повышения скорости работы). Поверх рейда установлен LVM, где хранятся большие объемы данных.

Инстанс подлежит апгрейду на более мощный. Т.е. нужно поднять новый Server2 и перенести данные. Т.к. LVM том значительного размера (более терабайта), просто копировать данные по сети нежелательно - слишком много времени это займет, а сервис, обслуживаемый сервером, надолго отключать нельзя.

Самое логичное, что можно сделать в таой ситуации - перемонтировать EBS тома на новый инстанс и активировать RAID + LVM уже на новом сервере, сохранив при этом данные.

Далее я опишу эту процедуру.

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

Алгоритм следующий (все имена и пути взяты в качестве примера, понятно. что нужно подставить реально используемые в системе):

 Отключение дисков на Server1

- размонтируем том на Server1 (разумеется, предварительно остановив сервисы, использующие данный том):

# umount /mnt/data

- деактивируем volume group (иначе не получится остановить рейд):

# vgchange -a n VG00

- останавливаем RAID массив

# mdadm -S /dev/md0

- отключаем EBS тома от Server1

Подключение дисков на Server2

- копируем /etc/mdadm.conf (или ту его часть, которая описывает нужный нам массив) с Server1 на Server2
- подключаем EBS тома на Server2
- запускаем RAID массив:

# mdadm --assemble --scan /dev/md0

- проверяем, что RAID и LVM нормально увидели новые диски

# cat /proc/mdstat
.....
# vgdisplay

Если по какой-то причине LVM не видит volumes, нужно пересканировать physical volumes:
# pvscan

- активируем volume group

# vgchange -a y VG00

- монтируем

# mount /dev/mapper/VG00-data /mnt/data

и убеждаемся, что данные на месте и доступны :)

Вот. собственно, и все.

Немає коментарів:

Дописати коментар