Амазон славится своей масштабируемостью. И вот если нам стало мало места на нашем виртуальном жестком диске, то его очень легко увеличить.
Заходим в AWS, например: https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Volumes
Тут у нас два пути: 1 - создаем снапшот со старого диска, затем разворачиваем его на новом (но придется вручную увеличивать его объем, т. к. он будет как у старого, а остаток пространсва - неразмеченным), 2 - создать пустой диск и скопировать, например rsync'ом данные со старого диска на новый.
Я пошел по 1му более тернистому пути :)
Создаем снапшот нашего старого EBS volume. Дожидаемся окончания.
Далее пецкаем Create Volume и там выбираем наш только что созданный снапшот. Ждем окончания (не забывая обновлять страничку).
В контекстном меню EBS раздела выбираем Attach volume - далее вирт машину, куда надо его присоединить и то как она будет видна в /dev (например, /dev/sdf) - только выбираем еще не занятое обозначение! иначе операция залипнет.
Затем логинимся на целевую вирт. машину по ssh и монтируем наш новый раздел. У меня тут вылез косяк такого метода, заключающийся в том, что из-за снапшота на новом разделе выделилось столько же места, сколько и на старом. А остальное осталось неразмеченным, потому пришлось расширять раздел:
1) делаем
fsck -c /dev/sdf
(sdf - имя, которое мы указывали при аттаче).
2) делаем
resize2fs /dev/sdf
(по умолчанию команда расширяет указанный раздел до конца свободного пространства на диске)
Затем можно еще раз чекнуть ФС - на всякий случай.
Если данные на старом разделе во время всей процедуры могли измениться, то сделаем следующее:
mount /dev/sdf /mnt/sdf/
rsync -av /mnt/oldebs/ /mnt/sdf/
Утилита rsync синхронизирует данные из 1го на 2й раздел, сохраняя права.
Теперь стопнем все службы, которые могут использовать старый диск и отмонтируем старый раздел:
umount /mnt/oldebs
И примонтируем на его место новый:
mount /dev/sdf /mnt/oldebs
Теперь остается подправить файл /etc/fstab - чтобы при загрузке ОС монтировался новый раздел, а не старый.
Идем в AWS консоль и делаем старому разделу Detach Volume.
Усё.
Заходим в AWS, например: https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Volumes
Тут у нас два пути: 1 - создаем снапшот со старого диска, затем разворачиваем его на новом (но придется вручную увеличивать его объем, т. к. он будет как у старого, а остаток пространсва - неразмеченным), 2 - создать пустой диск и скопировать, например rsync'ом данные со старого диска на новый.
Я пошел по 1му более тернистому пути :)
Создаем снапшот нашего старого EBS volume. Дожидаемся окончания.
Далее пецкаем Create Volume и там выбираем наш только что созданный снапшот. Ждем окончания (не забывая обновлять страничку).
В контекстном меню EBS раздела выбираем Attach volume - далее вирт машину, куда надо его присоединить и то как она будет видна в /dev (например, /dev/sdf) - только выбираем еще не занятое обозначение! иначе операция залипнет.
Затем логинимся на целевую вирт. машину по ssh и монтируем наш новый раздел. У меня тут вылез косяк такого метода, заключающийся в том, что из-за снапшота на новом разделе выделилось столько же места, сколько и на старом. А остальное осталось неразмеченным, потому пришлось расширять раздел:
1) делаем
fsck -c /dev/sdf
(sdf - имя, которое мы указывали при аттаче).
2) делаем
resize2fs /dev/sdf
(по умолчанию команда расширяет указанный раздел до конца свободного пространства на диске)
Затем можно еще раз чекнуть ФС - на всякий случай.
Если данные на старом разделе во время всей процедуры могли измениться, то сделаем следующее:
mount /dev/sdf /mnt/sdf/
rsync -av /mnt/oldebs/ /mnt/sdf/
Утилита rsync синхронизирует данные из 1го на 2й раздел, сохраняя права.
Теперь стопнем все службы, которые могут использовать старый диск и отмонтируем старый раздел:
umount /mnt/oldebs
И примонтируем на его место новый:
mount /dev/sdf /mnt/oldebs
Теперь остается подправить файл /etc/fstab - чтобы при загрузке ОС монтировался новый раздел, а не старый.
Идем в AWS консоль и делаем старому разделу Detach Volume.
Усё.
У меня вышло так, сделал снапшот существующего, развернул на новом с новым размером, приаттачил его как sdf, сделал Deatch volume старому и опфть приаттачил его (старый как sdf2), новому сделал Deatch volume и приаттачил его как sda1. Старый Deatch volume и удалил, потом зашел по ssh сделал resize2fs /dev/sda1 и все
ОтветитьУдалитьпути линуксоидов неисповедимы)
Удалить