Убрать свободное пространство из LVM

У меня есть контейнер LVM2 объемом 500 ГБ на жестком диске объемом 500 ГБ, который содержит корневой раздел объемом 96 ГБ (ext4) и раздел подкачки объемом 4 ГБ. Я сделал эту настройку, используя альтернативный компакт-диск, и установил для дискового пространства 100 ГБ, предполагая, что остаток станет доступным как обычное незашифрованное дисковое пространство.

Оказывается, что 400 ГБ свободного дискового пространства фактически инкапсулировано в контейнере LVM2, как показывает Дисковая утилита. Как мне сжать контейнер LVM2, чтобы я мог использовать эти 400 ГБ?

5
задан 20 July 2012 в 02:02

2 ответа

Простой ответ - нельзя. (Но вы можете захотеть сделать что-то еще, чтобы получить то, что вы хотите - см. Ниже)

LVM2 имеет 3 «уровня» - физические тома (что, как я полагаю, вы называете контейнером LVM2), Группы томов и логические тома.

Обычно вы определяете один или несколько разделов как физические тома для LVM2. Как только это будет сделано, раздел не может быть использован ни для чего другого (таким же образом раздел может использоваться только для одной файловой системы).

Например:

# pvcreate /dev/sdb3

Затем вы создаете новую группу томов или добавляете физический том в существующую группу

# vgcreate MyVolGroup /dev/sdb3

или

# vgextend MyVolGroup /dev/sdb3

. затем создайте логический том, который фактически используется для файловой системы.

# lvcreate -L100G --name MyVolume MyVolGroup

Логические тома могут быть изменены без потери данных, хотя это не тривиально. Но размеры физических объемов фиксируются как размеры разделов.

Если вы действительно хотите использовать 400 ГБ пространства, которое уже выделено для физического тома (контейнера LVM2), тогда ответ - создать еще один логический том и использовать его.

Чтобы найти имя группы томов (если вы ее еще не знаете), используйте команду vgs.

# lvcreate -L400G --name MySpace VolGroup
# mkfs -text4 /dev/VolGroup/MySpace
# mount /dev/VolGroup/MySpace /mnt

Более продвинутой альтернативой, если у вас достаточно свободного места для создания нового раздела, является принудительное перемещение существующего логического тома (с помощью pvmove), чтобы вы могли освободить физический том объемом 500 Гб ( vgreduce и pvremove команд), а затем создайте меньший контейнер и переместите данные обратно, но, вероятно, есть небольшое преимущество перед простым использованием логических томов для всего.

0
ответ дан 20 July 2012 в 02:02

Вы не указали , почему вы хотите сжать раздел LVM, поэтому возможно, что вы просто захотите создать новые логические тома в контейнере LVM. Если вы уверены, что действительно хотите уменьшить размер контейнера LVM, вы можете использовать pvresize, чтобы уменьшить размер физического тома, а затем разделить инструменты, такие как fdisk или parted, чтобы уменьшить размер. раздела диска, который содержит физический том. Вам необходимо убедиться, что вы используете единицы секторов при разбиении (в parted команда unit s сделает это). Вам нужно будет удалить раздел, а затем воссоздать его с тем же начальным сектором, но меньшего размера. Если вы укажете размер pvresize в ГБ, вам нужно будет преобразовать в сектора путем умножения на 1024 * 1024 * 2 и округлить в целях безопасности, то есть добавить дополнительные ГБ. Вам нужно будет перезагрузиться, чтобы изменения в таблице разделов вступили в силу, а затем вам может понадобиться снова использовать pvresize без аргумента размера, чтобы расширить его до максимального размера, который содержит новый раздел. После этого у вас будет свободное пространство, как вы пожелаете.

0
ответ дан 20 July 2012 в 02:02

Другие вопросы по тегам:

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