Centos 7 Расширить раздел с нераспределенным пространством

14

У меня есть сервер 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

введите описание изображения здесь

Kibar
источник
сделать man lvmили tldp.org/HOWTO/LVM-HOWTO
alexus

Ответы:

21

Есть три шага:

  1. изменить таблицу разделов так, чтобы они sda2заканчивались на конце диска
  2. перечитать таблицу разделов (потребуется перезагрузка)
  3. изменить размер LVM PV с помощью pvresize

Шаг 1 - Таблица разделов

Беги fdisk /dev/sda. Проблема, pчтобы напечатать вашу текущую таблицу разделов и скопировать этот вывод в какое-то безопасное место. Теперь выдайте, dа затем 2удалите второй раздел. Выпуск nдля создания нового второго раздела. Убедитесь, что начало равно началу таблицы разделов, которую вы напечатали ранее. Убедитесь, что конец находится в конце диска (обычно по умолчанию).

tЗатем 2следует проблема , 8eчтобы переключить тип раздела вашего второго второго раздела на 8e (Linux LVM).

Проблема, pчтобы проверить макет вашего нового раздела и убедиться, что начало нового второго раздела находится именно там, где был старый второй раздел.

Если все выглядит правильно, введите wзапись таблицы разделов на диск. Вы получите сообщение об ошибке от partprobe о невозможности перечитать таблицу разделов (поскольку диск используется).

Перезагрузите вашу систему

Этот шаг необходим, поэтому таблицу разделов перечитывают.

Изменить размер LVM PV

После перезагрузки вашей системы вызовите pvresize /dev/sda2. Ваш физический том LVM теперь будет охватывать остальную часть диска, и вы сможете создавать или расширять логические тома в этом пространстве.

Андреас Рогге
источник
отличное решение, оно отлично работает. пока только часть, как расширить логические тома.
Mimouni
1
Этот превосходный ответ остановился чуть ли не до финиша! Я понял, как это закончить. Приведенный в вопросе пример показал два логических тома sda2: centos-rootи centos-swap. В этом случае группа томов есть, centosа два логических тома внутри этой группы - rootи swap. Если бы мы хотели расширить centos-rootтом в этом примере на 50% доступного пространства в нашем недавно расширенном sda2разделе, мы бы использовали lvextend -r -l +50%FREE /dev/centos/root. -rИзменяет основную файловую систему в соответствии с расширенным логическим тома.
Шадониня,
@Shadoninja, это выходит за рамки первоначального вопроса. Поэтому я не добавил его и не буду добавлять его к этому вопросу в будущем.
Андреас Рогге
@AndreasRogge Я бы сказал, что это полностью входит в сферу этого вопроса, поскольку терминология в этом пространстве может быть запутанной и легко сопоставимой. Стоит опубликовать полный обзор того, как получить нераспределенное дисковое пространство, используемое файловой системой, поскольку это будет чрезвычайно распространенной причиной, по которой люди могут найти этот вопрос.
Шадониня
13

Вы можете сделать это без перезагрузки в 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».

Нажмите Enter, pчтобы напечатать новую таблицу разделов и убедитесь, что начальный блок соответствует тому, что было в исходной таблице разделов, напечатанной выше.

Введите, wчтобы записать таблицу разделов на диск. Вы увидите ошибку, Device or resource busyкоторую вы можете игнорировать.

Обновить таблицу разделов ядра в памяти

После изменения таблицы разделов выполните следующую команду, чтобы обновить таблицу разделов ядра в памяти:

# partx -u /dev/vda

Изменить размер физического тома

Измените размер PV, чтобы распознать дополнительное пространство

# pvresize /dev/vda2

Изменение размера LV и файловой системы

В этой команде centosPV, rootLV и /dev/vda2раздел, который был расширен. Использование pvsи lvsкоманды , чтобы увидеть ваши физические и логические имена томов , если вы не знаете их. -rВариант в этой команде изменяет файловую систему соответствующим образом , вам не нужно звонить resize2fsили xfs_growfsотдельно.

# lvextend -r centos/root /dev/vda2
Анер
источник
Более сложный ответ, чем «выбранный ответ» один!
Furkat U.
Это великолепно. Спасибо! Это должен быть принятый ответ. Я пропустил последний шаг по изменению размера lv и файловой системы!
Skinner927
4

Для тех, у кого возникают проблемы с расширением логических томов, таких как я, чтение этого поста может помочь. Таким образом, вы можете использовать lvextendдля расширения вашего логического тома: lvextend -l +<PE> <LV_PATH> вы можете получить количество оставшихся PE ( <PE>) vgdisplayи получить путь вашего логического тома ( LV_PATH) lvdisplay.

Затем, в зависимости от вашего дистрибутива, вы либо захотите xfs_growfs <LV_PATH>(Centos 7), либо, resize2fs <LV_PATH>наконец, измените размер.

liwt31
источник
0

Проверьте это - все в одной строке, без вопросов:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2
Hix
источник
Вы должны рассмотреть возможность добавления объяснений и вашего окружения. Например, мой partx не имеет опции -u(Centos6.7 util-linux-ng-2.17.2-12.28.el6).
Буп