У меня есть сервер centos 7 (CentOS Linux release 7.3.1611 (Core))
Когда я обновил свой сервер, я увидел ошибку, вам нужно дополнительное место. Но у меня был диск на 20 ГБ на сервере, когда я проверял дисковое пространство, я увидел, что создан только раздел размером 4,5 ГБ, а раздел 16 ГБ - это свободное пространство, а не нераспределенное. Как я могу расширить раздел с 16 ГБ свободного места?
lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 4.5G 0 part
├─centos-root 253:0 0 4G 0 lvm /
└─centos-swap 253:1 0 512M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
sda2
заканчивается в конце дискаpvresize
Бегать fdisk /dev/sda
. Проблема p
чтобы распечатать текущую таблицу разделов и скопировать вывод в безопасное место. Теперь проблема d
с последующим 2
удалить второй раздел. Проблема n
для создания нового второго раздела. Убедитесь, что начало соответствует началу распечатанной ранее таблицы разделов. Убедитесь, что конец находится в конце диска (обычно по умолчанию).
Проблема t
с последующим 2
с последующим 8e
для переключения типа раздела вашего нового второго раздела на 8e (Linux LVM).
Проблема p
чтобы просмотреть новую схему разделов и убедиться, что начало нового второго раздела находится именно там, где был старый второй раздел.
Если все в порядке, выпускайте w
для записи таблицы разделов на диск. Вы получите сообщение об ошибке от partprobe, что таблица разделов не может быть перечитана (поскольку диск уже используется).
Этот шаг необходим, чтобы таблица разделов была перечитана.
После перезагрузки системы вызовите pvresize /dev/sda2
. Ваш физический том LVM теперь будет охватывать остальную часть диска, и вы можете создавать или расширять логические тома в этом пространстве.
Вы можете сделать это без перезагрузки в CentOS 7. Предполагая, что ваш диск / dev / vda и стандартное разделение RHEL / CentOS:
# fdisk /dev/vda
Войти p
для печати исходной таблицы разделов.
Войти d
(удалить), за которым следует 2
чтобы удалить существующее определение раздела (раздел 1 обычно / boot, а раздел 2 обычно является корневым).
Войти n
(новый), за которым следует p
(основной), за которым следует 2
для воссоздания раздела номер 2 и enter
принять стартовый блок и enter
снова, чтобы принять конечный блок, который по умолчанию является концом диска.
Войти t
(введите) тогда 2
затем 8e
чтобы изменить тип нового раздела на «Linux LVM».
Войти p
чтобы напечатать новую таблицу разделов и убедиться, что начальный блок соответствует исходной таблице разделов, напечатанной выше.
Войти w
для записи таблицы разделов на диск. Вы увидите сообщение об ошибке Device or resource busy
которые вы можете игнорировать.
После изменения таблицы разделов выполните следующую команду, чтобы обновить таблицу разделов ядра в памяти:
# partx -u /dev/vda
Измените размер PV, чтобы распознать лишнее пространство
# pvresize /dev/vda2
В этой команде centos
это PV, root
это LV и /dev/vda2
- это раздел, который был расширен. Использовать pvs
и lvs
команды для просмотра имен ваших физических и логических томов, если вы их не знаете. В -r
опция в этой команде изменяет размер файловой системы соответствующим образом, поэтому вам не нужно вызывать resize2fs
или xfs_growfs
по отдельности.
# lvextend -r centos/root /dev/vda2
Для тех, у кого возникают проблемы с расширением логических томов, как у меня, прочтите эта почта может помочь. Таким образом, вы можете использовать lvextend
чтобы расширить свой логический том:
lvextend -l +<PE> <LV_PATH>
вы можете получить количество оставшихся PE (<PE>
) по vgdisplay
и получите путь к вашему логическому тому (LV_PATH
) по lvdisplay
.
Затем, в зависимости от вашего дистрибутива, вы хотите xfs_growfs <LV_PATH>
(Centos 7) или resize2fs <LV_PATH>
чтобы наконец изменить размер.
Посмотрите - все в одной строке, без вопросов:
parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2