Я следил за многими руководствами, в которых почти все говорится об одном и том же, а именно:
resize2fs /dev/xxx
Однако на шаге 7 начинаются проблемы. В любом случае работает resize2fs
всегда говорит мне, что это уже xxxxx блоков и ничего не делает, даже с -f
прошло. Итак, я начинаю читать руководства, в которых в основном говорится об одном и том же, а именно:
resize2fs
(Я пробовал эти шаги как в реальном экземпляре, так и путем присоединения тома к другому экземпляру и выполнения команд там) Основная проблема заключается в том, что экземпляр не запускается снова, а журнал системных ошибок, представленный в консоли AWS, не Ошибок нет. (однако он останавливается на загрузчике grub, который для меня указывает на то, что ему не нравятся разделы (да, флаг загрузки был переключен на раздел без каких-либо изменений)). разделов заключается в том, что экземпляр, к которому подключен том, сообщает, что раздел имеет недопустимый магический номер и суперблок поврежден. Однако, если я не внесу изменений и снова подключу том, экземпляр будет работать без проблем.
Может ли кто-нибудь пролить свет на то, что я делаю неправильно?
редактировать
На моем новом объеме 20 ГБ с изображением 6 ГБdf -h
говорит:
Filesystem Size Used Avail Use% Mounted on /dev/xvde1 5.8G 877M 4.7G 16% / tmpfs 836M 0 836M 0% /dev/shm
И fdisk -l /dev/xvde
говорит:
Disk /dev/xvde: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x7d833f39 Device Boot Start End Blocks Id System /dev/xvde1 1 766 6144000 83 Linux Partition 1 does not end on cylinder boundary. /dev/xvde2 766 784 146432 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary.
Также, sudo resize2fs /dev/xvde1
говорит:
resize2fs 1.41.12 (17-May-2010) The filesystem is already 1536000 blocks long. Nothing to do!
В основном проблема здесь в том, что вы пытаетесь увеличить размер файловой системы, чтобы заполнить раздел, но на самом деле размер раздела не увеличился.
Уловка здесь будет заключаться в том, чтобы смонтировать моментальный снимок тома в другой экземпляр, например, / dev / xdf. Затем используйте parted или fdisk, чтобы удалить раздел подкачки в / dev / xdf2.
parted /dev/xdf
rm 2
Затем вы можете изменить размер другого раздела, чтобы заполнить диск
parted /dev/xdf
resize 1
Затем используйте значение по умолчанию для начального раздела и соответствующий номер для конечной позиции. Затем заново создайте раздел подкачки. Затем, если вы запустите resize2fs / dev / sdf, он должен увеличить размер раздела. Затем отключите этот диск и используйте его как корневой том для нового экземпляра.
На самом деле проблема в том, что вы используете плохой AMI, который устанавливает раздел подкачки. Виртуальные машины Amazon не нуждаются в разделах подкачки, и в руководствах, которые вы изучили, предполагается, что ваш том EBS не разбит на разделы. Я бы рекомендовал начать с Ubuntu AMI от Alestic.com или используя Amazon Linux AMI.
Если вы должны продолжать использовать AMI, который вы используете, то вам нужно удалить раздел подкачки и изменить размер раздела ext4 с помощью fdisk
а затем вы можете изменить размер файловой системы. Делать это довольно долго, сложно и страшно, и я никогда этого не делал, поэтому не буду объяснять, как это делать. Вы можете найти инструкции через Google, если осмелитесь.
Я бы выбрал более безопасный путь. И похоже, что вы уже делаете такие же сложные вещи. Прикрепите старый том к инстансу, запущенному с Amazon Linux или Ubuntu или любым другим способом, который вам удобен. Установите его только для чтения. Затем создайте новый том большего размера, который вам нужен. Прикрепите его к тому же экземпляру с буквой другого устройства. Отформатируйте его, используя ту же метку (или тот же UUID, если ваш fstab монтируется по UUID ... в AWS нет реальной необходимости в этом, но это не гарантия, что этого не происходит). Смонтируйте его для чтения-записи. Скопируйте файловое дерево со старого тома на новый. Для этого вы можете использовать cp или rsync.
Возможно, вам придется предпринять другие шаги, чтобы сделать его загрузочным, если вы не используете PVGRUB «ядра загрузчика» для загрузки вашего реального ядра с тома.
Обязательно сделайте снимок старого тома перед этим и снимок нового тома после этого.