AWS: увеличение размера диска EBS

Автор: | 04/30/2015
 

aws-logo-square-02Amazon EBS (Elastic Block Store) — хранилище для данных в облаке Amazon.

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

Имеется EC2 машина, с диском в 32G, который необходимо увеличить до 64G:

resize_1

Логиним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):

resize_19

В противном случае — потом можно столкнуться с ошибкой вида:

Instance does not have a volume attached at root

resize_17

Отключаем диск от машины:

resize_2

resize_3

После чего состояние диска станет available:

resize_4

Создаём его снимок — Create shanpshot:

resize_5

Заполняем поля:

resize_6

В поле Description советую записать что-то, что легко позволит вам потом найти этот образ.

Снимок почти готов:

resize_7

Найти его можно в Snapshots:

resize_8

Ждём, когда он будет создан.

На создание образа 32G раздела ушло около 15 минут.

После окончания — создаём новый раздел — Create volume:

resize_9

Указываем размер нового диска, например 64G:

resize_10

resize_11

Переходим в Volumes и подключаем новый раздел — Attache Volume:

resize_12

В появившемся окне кликаем на поле Instance — появится выпадающий список, из которого выбираем нужный, в данном случае это был deb_1:

resize_13

resize_18

Обратите внимание на Device — в случае, если это был корневой раздел — ему надо указать тот же путь, который был изначально (о чём говорилось в начале статьи)

Раздел сменил тип на in-use:

 

resize_15

Переходим в Instances, запускаем машину:

resize_16

Логинимся, и проверяем:

$ 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.