Вопрос по volume, image-resizing, centos, amazon-ec2, snapshot – EC2 Невозможно изменить размер после увеличения размера

73

Я следовал за шагами для изменения размера тома EC2

Stopped the instance Took a snapshot of the current volume Created a new volume out of the previous snapshot with a bigger size in the same region Deattached the old volume from the instance Attached the new volume to the instance at the same mount point

Старый том был 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, но я не знаю, как его использовать

Как я могу использовать новый том или размонтировать xvde1 и смонтировать xvde вместо этого?

Я не могу понять что я делаю не так

Я тоже пробовалsudo ifs_growfs /dev/xvde1

xfs_growfs: /dev/xvde1 is not a mounted XFS filesystem

Кстати, это linux box с centos 6.2 x86_64

Заранее спасибо за помощь

Ваш Ответ

13   ответов
2

вам нужно будет сначала увеличить раздел.

Но я получил эту ошибку, если был присоединен раздел. Пройдите и дважды проверьте, что вы сделали том правильного размера, и дважды проверьте, что вы установили новый том.
Кроме того, вам не нужно останавливать экземпляр для этого. Это безопасно, если у вас есть записи на этом томе, но вы можете сделать снимок с запущенным экземпляром.
нет, я не. Должен ли я? Как мне это сделать? Помните, что новый том, который я прикрепил, должен содержать все предыдущие данные, потому что это снимок исходного тома Wilman Arambillete
0

если у кого-то возникла проблема, когда он столкнулся с этой проблемой со 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

Эта команда должна сопровождатьсяsudo resize2fs /dev/xvda1 обновлять/etc/fstabтолько после этогоdf -h покажет выросшее дисковое пространство
6

EBS -> right mouse click on the one you wish to resize -> "Modify Volume" -> change "Size" field and click [Modify] button

growpart /dev/xvda 1

resize2fs /dev/xvda1

Это упрощенная версия Дмитрия Шевкопляса & apos; ответ. Документация AWS не показываетgrowpart команда. Это нормально работает для Ubuntu AMI.

Что может быть эквивалентной командой для Windows?
1

просто запустите эту команду

xfs_growfs /
6
sudo growpart /dev/xvda 1 sudo resize2fs /dev/xvda1

ntu ec2.

28

Я столкнулся с той же проблемой сегодня. В документации AWS явно не упоминается growpart. Я понял сложный путь, и действительно, две команды отлично работали на M4.large & amp; M4.xlarge с Ubuntu

sudo growpart /dev/xvda 1
sudo resize2fs /dev/xvda1
также будет работать на t2.micro?
да, это работает в t2.
второй ответ для прикрепления, и этот ответ для изменения размера
Удивительно! работал на моем экземпляре t2.small. Уф. Думал, что это будет кровавее, чем это. Спасибо!
Спасибо, вы спасли мою ночь!
65

Вилман, ваши команды сработали правильно, нужно учесть небольшое улучшение, если мы увеличиваем EBS до больших размеров.

Stop the instance Create a snapshot from the volume Create a new volume based on the snapshot increasing the size Check and remember the current's volume mount point (i.e. /dev/sda1) Detach current volume Attach the recently created volume to the instance, setting the exact mount point Restart the instance

Access via SSH to the instance and run fdisk /dev/xvde

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u')

Hit p to show current partitions

Hit d to delete current partitions (if there are more than one, you have to delete one at a time) NOTE: Don't worry data is not lost Hit n to create a new partition Hit p to set it as primary Hit 1 to set the first cylinder Set the desired new space (if empty the whole space is reserved) Hit a to make it bootable Hit 1 and w to write changes Reboot instance OR use partprobe (from the parted package) to tell the kernel about the new partition table Log via SSH and run resize2fs /dev/xvde1 Finally check the new space running df -h
"WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u')" Это было не нужно для меня (Ubuntu 13.04). Он уже отключил совместимость с DOS и по умолчанию использовал Sectors. прессованиеc а такжеu фактически переключился на устаревшие режимы.
Теперь этот ответ устарел, поскольку AWS поддерживает онлайн-изменение размера для томов EBS.
После того, как я перезагрузил свой экземпляр, я не могу подключиться через SSH. Время соединения истекло, и консоль aws показывает, что не может запустить проверки состояния. Я думаю, что он мертв. Есть идеи, что делать?
Мне тоже пришлось сменить первый цилиндр, но мне пришлось сменить его на 2048. Я бы порекомендовал проверить текущие настройки раздела перед его удалением.
Решение сработало блестяще, но экземпляр застрял на «1/2 пройденных проверках» с восклицательным знаком (ReadHat 6.5). Чтобы исправить это, я установил"first cylinder" to 16 (вроде было ранее). После этого экземпляр начал нормально работать с «2/2 пройденных проверок». Надеюсь, это поможет кому-то ...
1

centos6.5), поэтому мне пришлось заново создать том из снимка.  После повторения всех шагов, за исключением загрузочного флага - все работало безупречно, так что я смог после resize2fs.  Спасибо!

0

но также обратите внимание на комментарии выше, что вы можете испортить свой экземпляр, если вы начнете с 1; если вы нажмете & u; после запуска fdisk до того, как вы перечислите свои разделы с помощью & apos; p & apos; это даст вам правильный стартовый номер, чтобы вы не повредили свои тома. Для Centos 6,5 AMI, как уже упоминалось выше, 2048 был правильным для меня.

16

Вот что нужно было сделать

Stop the instance Create a snapshot from the volume Create a new volume based on the snapshot increasing the size Check and remember the current's volume mount point (i.e. /dev/sda1) Detach current volume Attach the recently created volume to the instance, setting the exact mount point Restart the instance Access via SSH to the instance and run fdisk /dev/xvde Hit p to show current partitions Hit d to delete current partitions (if there are more than one, you have to delete one at a time) NOTE: Don't worry data is not lost Hit n to create a new partition Hit p to set it as primary Hit 1 to set the first cylinder Set the desired new space (if empty the whole space is reserved) Hit a to make it bootable Hit 1 and w to write changes Reboot instance Log via SSH and run resize2fs /dev/xvde1 Finally check the new space running df -h

Это оно

Удачи!

В томах Amazon EBS представляется важным использовать ту же точку монтирования в resize2fs, что и в fdisk. df показывает что-то вроде / dev / xvda1 в качестве подключенного тома EBS, но команда resize2fs работала для меня, только когда я использовал идентификатор / dev / sdf1, который я использовал, когда делал новый раздел в fdisk.
Если вы не согласны с этим решением, вы можете потерять свои данные. На самом деле, я понял, что не нужно использовать опцию удаления раздела, если показывать значения списка разделов в таблице разделов, потому что, если список существует, он буквально удаляет раздел, поэтому данные будут потеряны, даже если в ответе будет сказано: «Он выиграл». удалить & quot ;. Есть способ увеличить размер раздела, проверьте внизу, что есть другие утилиты, которые помогут плавно увеличить размер раздела.
Это в документации AWS. Что плохо, так это то, что их процедуры все еще не завершены после 3 лет этого процесса. Если у вас есть изображение, вы можете отступить, конечно. Всегда можно временно повесить новый диск и на экземпляре, на котором запущен рабочий стол, но необходимость его монтирования для изменения размера может стать проблемой, если вы подумываете об использовании gparted. Gcloud изменяет размеры на лету.
Спасибо, человек, проснулся для меня
Мое запоминающее устройство (/ dev / xvda1) было запущено в секторе 16065, а не в секторе 1. Поэтому шаг 13 (нажмите 1, чтобы установить первый цилиндр) должен был быть 16065 в моем случае.
0

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

2

если кто-то здесь для облачной платформы GCP Google,
 Попробуй это:

sudo growpart /dev/sdb 1
sudo resize2fs /dev/sdb1
209

There's no need to stop instance and detach EBS volume to resize it anymore!

Amazon EBS Update & # x2013; Новые эластичные объемы меняют все& Quot;

Процесс работает, даже если расширяемый том является корневым томом запущенного экземпляра!

Скажем, мы хотим увеличить загрузочный диск Ubuntu с 8G до 16G "на лету".

шаг 1) войдите в веб-консоль AWS - & gt; EBS - & gt; щелкните правой кнопкой мыши ту, которую хотите изменить, - & gt; & quot; Изменить объем & quot; - & GT; изменить & quot; размер & quot; поле и нажмите кнопку [Изменить]

enter image description here

enter image description here

enter image description here

шаг 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 / xvda1 по-прежнему составляет 8 ГБ на устройстве с 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 / xvda1 теперь 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 с удалением / воссозданием разделов, что является неприятным, рискованным и подверженным ошибкам процессом, особенно когда мы меняем загрузочный диск.

шаг-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% /

Таким образом, у нас нет времени простоя и много нового пространства для использования.
Наслаждайтесь!

@ Шихас, да. Вот и весь смысл. Даже загрузочный "root" смонтированный диск можно безопасно увеличить без перезагрузки!
Да, официальные документы не упоминают growpart, поэтому я не мог заставить это работать раньше. Спасибо!
Очень полезно! Спасибо
Это так полезно, я должен войти в систему и проголосовать.
Кто-нибудь, пожалуйста, примите это как правильный ответ? Просто потому что ... это так.

Похожие вопросы