Подтвердить что ты не робот

Как увеличить размер тома EBS для исполняемого экземпляра?

У меня есть сервер, на котором запущены последние AMI Ubuntu от Canonical. Размер загрузочного объема EBS составляет 8 ГБ. Я знаю, что я могу изменить размер томов EBS, сделав снимок, создав новый том и расширив раздел на нем. Как увеличить размер тома во время работы машины? Если это невозможно, то какой предпочтительный способ увеличить размер загрузочного тома с минимальным временем простоя?

4b9b3361

Ответ 1

К сожалению, невозможно увеличить размер Amazon EBS, а Amazon EC2 экземпляр запущен - Эрик Хаммонд написал подробный (я склонен сказать "каноническую";) статью о Изменение размера корневого диска на загружаемом экземпляре EC2 Boot Eco:

Пока вы в порядке с небольшим временем простоя на экземпляре EC2 (несколько минут), можно изменить корневой объем EBS с помощью более крупную копию, без необходимости запуска нового экземпляра.

Если вы правильно подготовили описанные им шаги (я настоятельно рекомендую сначала протестировать их с первым экземпляром EC2, чтобы ознакомиться с этой процедурой), вы должны завершить процесс всего за несколько минут просто. /p >

Удачи!

Ответ 2

Мы можем увеличить размер тома с помощью новых томов EBS Feature Elastic, сообщив, что нам необходимо выполнить следующие шаги, чтобы использовать увеличенный размер, как показано здесь

Предположим, ваш объем был 16G, а вы увеличили его до 32GB.

    $lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  16G  0 part /

Чтобы расширить xvda1 с 16 до 32 ГБ, нам понадобится growpart. growpart доступен как часть cloudutils

sudo apt install cloud-utils

После установки cloud-utils выполните команду growpart

sudo growpart /dev/xvda 1

Сейчас lsblk, покажет

    $ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  32G  0 part /

но df -h покажет только 16GB

Последняя команда для расширения xvda1 до 32 ГБ

sudo resize2fs /dev/xvda1

В случае файловой системы XFS,

sudo xfs_growfs/dev/xvda1 Спасибо, яйцо

Ответ 3

Поздний ответ на этот 5-летний вопрос

AWS только что анонсировала новую функцию EBS под названием Elastic Volumes, которая позволяет увеличить размер тома, отрегулировать производительность или изменить тип тома во время использования тома.

Подробнее об этом читайте в блоге AWS здесь.

Ответ 4

Вам просто нужно сначала создать его снимок, и из этого моментального снимка необходимо создать другой том и как только новый том будет готов, отсоедините старый том от экземпляра и прикрепите новый том. Обязательно остановите экземпляр перед запуском этого процесса и перезапустите экземпляр после его завершения.

Обратитесь http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html

Ответ 5

Это будет работать для файловой системы xfs, просто запустите эту команду xfs_growfs /

Ответ 6

Я обнаружил, что при попытке увеличить корневой раздел /dev/sda 1, который сообщался как /dev/xvda 1 на centos6, я не смог размонтировать том, чтобы развернуть раздел.

Я обошел это, установив свой исходный том как /dev/sda 1 и мой снимок как /dev/sdb. Затем я перезапустил изображение и изменил размер раздела /dev/sdb 1 с помощью разделенных.

После изменения размера раздела /dev/sdb 1 я отсоединил оба тома и снова подключил новый том к /dev/sda 1 и запустил resize2fs/dev/xvda1.

Ответ 7

Вы не можете этого сделать. Но если вы больше ориентируетесь на время простоя, а затем стоите, вы, возможно, сможете клонировать ваш основной экземпляр, подключите к своей системе большое хранилище EBS, скопируйте данные и перенаправьте трафик на новый экземпляр.

Если вы хотите, метод, который я использую в последнее время, использует S3, имеет резервную копию и развертывание в других системах. Так, например, у вас есть существующая система. Установите script, чтобы загрузить свои данные на s3 каждые N минут/часов/дней. Затем напишите script, чтобы использовать при запуске новых экземпляров для загрузки этих данных. Если ваши данные не являются чем-то вроде постоянного обновления, тогда это должно работать нормально (для меня я использую это для распространения обновленной версии моей кодовой базы, а сами данные управляются на сервере базы данных ec2).

Надеюсь, что это поможет.