Amazon EBS (Elastic Block Store) – хранилище для данных в облаке Amazon.
Эти хранилища независимы от работы EC2 инстансов, т.е. – при выключении EC2 машины диски можно продолжать использовать (например – примонтировать их к другой машине).
Имеется EC2 машина, с диском в 32G, который необходимо увеличить до 64G:
Логинимcя, проверяем текущий размер из самой системы:
$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/disk/by-uuid/c58358c2-ac46-4779-bfb1-e7c2668fdf6a 32G 4.8G 26G 16% /
Выключаем машину:
# shutdown -Ph now The system is going down for system halt NOW!(pts/0) (Tue Apr 28 12:54:05 201
Переходим в веб-консоль EC2 > Volumes и запоминаем/записываем путь устройства (если это один диск в системе, и он содержит корневой раздел, тоже касается и дисков для WIndows):
В противном случае – потом можно столкнуться с ошибкой вида:
Instance does not have a volume attached at root
Отключаем диск от машины:
После чего состояние диска станет available:
Создаём его снимок – Create shanpshot:
Заполняем поля:
В поле Description советую записать что-то, что легко позволит вам потом найти этот образ.
Снимок почти готов:
Найти его можно в Snapshots:
Ждём, когда он будет создан.
На создание образа 32G раздела ушло около 15 минут.
После окончания – создаём новый раздел – Create volume:
Указываем размер нового диска, например 64G:
Переходим в Volumes и подключаем новый раздел – Attache Volume:
В появившемся окне кликаем на поле Instance – появится выпадающий список, из которого выбираем нужный, в данном случае это был deb_1:
Обратите внимание на Device – в случае, если это был корневой раздел – ему надо указать тот же путь, который был изначально (о чём говорилось в начале статьи)
Раздел сменил тип на in-use:
Переходим в Instances, запускаем машину:
Логинимся, и проверяем:
$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/disk/by-uuid/c58358c2-ac46-4779-bfb1-e7c2668fdf6a 63G 4.8G 56G 8% /
Готово.
И, конечно, все настройки сохранены, например – NGINX будет работать как и раньше:
# service nginx status [ ok ] nginx is running.