EC2 Невозможно изменить размер громкости после увеличения размера
Я выполнил шаги для изменения размера объема EC2
- Остановил экземпляр
- Взял снимок текущего тома
- Создал новый том из предыдущего моментального снимка с большим размером в том же регионе
- Отключить старый том из экземпляра
- Прикрепленный новый том к экземпляру в той же точке монтирования
Старый том был 5 ГБ, а тот, который я создал, - 100 ГБ
Теперь, когда я перезапускаю экземпляр и запускаю df -h I
, все еще вижу это
Filesystem Size Used Avail Use% Mounted on
/dev/xvde1 4.7G 3.5G 1021M 78% /
tmpfs 296M 0 296M 0% /dev/shm
Это то, что я получаю при запуске
sudo resize2fs /dev/xvde1
The filesystem is already 1247037 blocks long. Nothing to do!
Если я запустил cat /proc/partitions
, я вижу
202 64 104857600 xvde
202 65 4988151 xvde1
202 66 249007 xvde2
Из того, что я понимаю, если я выполнил правильные шаги, xvde должен иметь те же данные, что и xvde1, но я не знаю, как его использовать
Как я могу использовать новый том или umount xvde1 и вместо него установить xvde?
Я не могу понять, что я делаю неправильно
Я также пробовал sudo ifs_growfs /dev/xvde1
xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem
Btw, это linux box с centos 6.2 x86_64
Заранее благодарим за помощь
Ответы
Ответ 1
Спасибо Wilman, что ваши команды работали правильно, нужно учитывать небольшое улучшение, если мы увеличиваем EBS в более крупные размеры
- Остановить экземпляр
- Создайте снимок из тома
- Создайте новый том на основе моментального снимка, увеличив размер
- Проверить и запомнить текущую точку монтирования тома (т.е.
/dev/sda1
)
- Отсоединить текущий том
- Прикрепите недавно созданный том к экземпляру, установив точную точку монтирования
- Перезапустить экземпляр
-
Доступ через SSH к экземпляру и запуск fdisk /dev/xvde
ПРЕДУПРЕЖДЕНИЕ: DOS-совместимый режим устарел. Настоятельно рекомендуется выключите режим (команда 'c') и измените единицы отображения на сектора (команда 'u')
-
Нажмите p, чтобы отображать текущие разделы
- Нажмите d, чтобы удалить текущие разделы (если их несколько, вам нужно удалить их за раз). ПРИМЕЧАНИЕ. Не беспокойтесь, данные не потеряны.
- Нажмите n, чтобы создать новый раздел
- Нажмите p, чтобы установить его как основной
- Нажмите 1, чтобы установить первый цилиндр
- Задайте нужное новое пространство (если пустое место зарезервировано)
- Нажмите a, чтобы сделать его загрузочным
- Нажмите 1 и w для записи изменений
- Перезагрузите экземпляр ИЛИ используйте
partprobe
(из пакета parted
), чтобы сообщить ядру о новой таблице разделов
- Войдите в систему через SSH и запустите файл resize2fs/dev/xvde1
- Наконец, проверьте новое пространство df -h
Ответ 2
Нет необходимости останавливать экземпляр и отсоединять объем EBS, чтобы изменить его размер больше!
13-Feb-2017 Amazon объявила: " Amazon EBS Update - новые эластичные тома меняют все
Процесс работает, даже если том для расширения является корневым томом исполняемого экземпляра!
Скажем, мы хотим увеличить загрузочный диск Ubuntu с 8G до 16G "на лету".
step-1) войдите в веб-консоль AWS → EBS → щелкните правой кнопкой мыши на том, который вы хотите изменить размер → "Изменить объем" → измените поле "Размер" и нажмите кнопку [Изменить]
![введите описание изображения здесь]()
![введите описание изображения здесь]()
![введите описание изображения здесь]()
step-2) ssh в экземпляр и изменить размер раздела:
пусть список блоков устройств, прикрепленных к нашей коробке:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
Как вы можете видеть, /dev/xvda 1 по-прежнему занимает 8 GiB-разделов на 16-гигабайтном устройстве, и нет других разделов на томе.
Позвольте использовать "growpart" для изменения размера раздела 8G до 16G:
# install "cloud-guest-utils" if it is not installed already
apt install cloud-guest-utils
# resize partition
growpart /dev/xvda 1
Позвольте проверить результат (вы можете увидеть /dev/xvda 1 теперь 16G):
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
Многие ответы SO предлагают использовать fdisk с удалением/воссозданием разделов, что является неприятным, рискованным, подверженным ошибкам процессом, особенно когда мы меняем загрузочный диск.
step-3) изменить размер файловой системы, чтобы полностью расти в новом пространстве
# Check before resizing ("Avail" shows 1.1G):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 6.3G 1.1G 86% /
# resize filesystem
resize2fs /dev/xvda1
# Check after resizing ("Avail" now shows 8.7G!-):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 16G 6.3G 8.7G 42% /
Итак, у нас есть нулевое время простоя и много нового места для использования.
Наслаждайтесь!
Ответ 3
Префект комментарий jperelli выше.
Сегодня я столкнулся с такой же проблемой. В документации AWS четко не упоминается состав. Я понял сложный путь, и действительно две команды отлично работали на M4.large и M4.xlarge с Ubuntu
sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1
Ответ 4
[решено]
Это то, что нужно было сделать
- Остановить экземпляр
- Создайте снимок из тома
- Создайте новый том на основе моментального снимка, увеличив размер
- Проверить и запомнить текущую точку монтирования тома (т.е./dev/sda1)
- Отсоединить текущий том
- Прикрепите недавно созданный том к экземпляру, установив точную точку монтирования
- Перезапустить экземпляр
- Доступ через SSH к экземпляру и запуск
fdisk /dev/xvde
- Нажмите p, чтобы отображать текущие разделы
- Нажмите d, чтобы удалить текущие разделы (если их несколько, вам нужно удалить их за раз). ПРИМЕЧАНИЕ. Не беспокойтесь, данные не потеряны.
- Нажмите n, чтобы создать новый раздел
- Нажмите p, чтобы установить его как основной
- Нажмите 1, чтобы установить первый цилиндр
- Задайте нужное новое пространство (если пустое место зарезервировано)
- Нажмите a, чтобы сделать его загрузочным
- Нажмите 1 и w для записи изменений
- Экземпляр перезагрузки
- Войдите через SSH и запустите
resize2fs /dev/xvde1
- Наконец, проверьте новое пространство
df -h
Это он
Удачи!
Ответ 5
Это версия ответа Дмитрия Шевкопляса. Документация AWS не отображает команду growpart
. Это нормально для Ubuntu AMI.
Ответ 6
- sudo growpart/dev/xvda 1
- sudo resize2fs/dev/xvda1
две вышеупомянутые команды сэкономили мое время на экземплярах AWS ubuntu ec2.
Ответ 7
Сделали ли вы раздел на этом томе? Если вы это сделали, вам нужно будет сначала разбить раздел.
Ответ 8
Загрузочный флаг (a) не работал в моем случае (EC2, centos6.5), поэтому мне пришлось повторно создать тома из моментального снимка.
После повторения всех шагов EXCEPT загрузочного флага - все работало безупречно, поэтому я смог resize2fs после.
Спасибо!
Ответ 9
Это будет работать для файловой системы xfs, просто запустите эту команду
xfs_growfs /
Ответ 10
Не хватает комментариев для комментариев выше; но также обратите внимание на комментарии выше, что вы можете повредить свой экземпляр, если вы начинаете с 1; если вы нажмете "u" после запуска fdisk, прежде чем перечислите свои разделы с помощью "p", это приведет к тому, что вы получите правильный стартовый номер, чтобы не повредить ваши тома. Для centos 6.5 AMI, также как упомянуто выше 2048, было правильным для меня.
Ответ 11
Спасибо, @Dimitry, он работал как шарм с небольшим изменением в соответствии с моей файловой системой.
источник: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux
Затем используйте следующую команду, заменив точку монтирования файловой системы (файловые системы XFS должны быть установлены для изменения их размера):
[ec2-user ~]$ sudo xfs_growfs -d /mnt
meta-data=/dev/xvdf isize=256 agcount=4, agsize=65536 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 26214400
Примечание
Если вы получили xfsctl не удалось: не удается выделить ошибку памяти, вам может потребоваться обновить ядро Linux на вашем экземпляре. Для получения дополнительной информации обратитесь к документации вашей конкретной операционной системы.
Если вы получаете файловую систему, то уже nnnnnnn блокирует длинные блоки. Нечего делать!, см. раздел Расширение раздела Linux.
Ответ 12
Так что в случае, если у кого-то возникла проблема, когда он столкнулся с этой проблемой со 100% использованием, и не было места даже для запуска команды growpart (потому что он создает файл в /tmp)
Вот команда, которую я обнаружил, что обходит, даже когда используется том EBS, а также если у вас нет свободного места на вашем ec2, и вы на 100%
/sbin/parted ---pretend-input-tty /dev/xvda resizepart 1 yes 100%
увидеть этот сайт здесь:
https://www.elastic.co/blog/autoresize-ebs-root-volume-on-aws-amis
Ответ 13
На всякий случай, если кто-то здесь для облачной платформы GCP Google,
Попробуй это:
sudo growpart /dev/sdb 1
sudo resize2fs /dev/sdb1