У меня есть виртуальная машина, fdisk -l
размер которой недавно увеличился с 20 ГБ до 50 ГБ, и проверяет, может ли виртуальная машина видеть этот новый размер. Теперь мне нужно изменить размер корневого раздела LVM, чтобы заполнить дополнительные 30 ГБ.
Я нашел несколько статей об изменении размера LVM, но те немногие, которые касаются изменения размера корневого раздела, утверждают, что вам нужно загружаться с LiveCD. Есть ли способ сделать это без отключения сервера? Сервер очень важен, поэтому я бы хотел минимизировать время простоя.
Редактировать: Вывод fdisk -l
:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097c90
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root doesn't contain a valid partition table
Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap doesn't contain a valid partition table
Изменить: Как мне изменить размер физического раздела? fdisk может видеть свободное место, но я не знаю, как изменить размер основного раздела LVM, чтобы использовать его. Я попытался загрузиться с LiveCD и использовать resize
команду parted'd , но все, что мне дает, это ошибка «Не удается обнаружить файловую систему». Я нашел это руководство , в котором говорится, что мне нужно удалить раздел и создать новый с правильным размером, но это звучит очень опасно.
Окончательное редактирование: resize
команда Parted не может изменить размер разделов LVM. Пойди разберись. Вместо этого я просто удалил старый раздел и создал новый с новым диапазоном, как указано в приведенной выше ссылке, и это правильно изменило размер раздела LVM. Затем я последовал совету, приведенному ниже, чтобы изменить размеры томов и файловых систем внутри раздела LVM.
Ответы:
Вы можете вырастить логический том онлайн. Вы должны размонтировать его, чтобы сжать (для этого требуется LiveCD / Rescue Mode.)
pvresize /dev/sda2
(при условии, что ваш раздел LVMsda2
. Замените при необходимости.)lvextend /dev/mapper/root -l+100%FREE
(или, как называется ваш корневой логический том.)resize2fs /dev/mapper/root
(при условии ext2 / 3/4)источник
lvextend -L [size][unit] /dev/group/volume
хотя бы потому, что могу указать объем на 10 гигабайт, указав-L +10G
Now I need to resize my root LVM partition to fill the extra 30GB.
(Который должен увеличить логический объем на доступное свободное пространство.)-r
опциюlvextend
, она зацепитfsadm
изменение размера FS. Это сделает 3-й шаг излишним.pvresize /dev/sda2
ничего не делает, пока размер раздела / dev / sda2 не будет изменен с помощью parted или fdisk. Мне пришлось изменить размер с помощью fdisk, так как parted в моей системе не показывал или не имел команды изменения размера. Изменение размера Fdisk включает удаление и воссоздание раздела.Ваша система действительно изменилась с 20 до 50 ГБ? Это кажется странным, поскольку ваше устройство sda2 имеет размер ~ 40 ГБ, lv_root показывает 36 ГБ, а подкачка показывает 6 ГБ.
Ваш выход
fdisk -l
показывает общий объем секторов/dev/sda
ИБ104857600
. Последний используемый сектор -/dev/sda2
это83886079
. Это говорит о том, что вы не настроили размер раздела, чтобы использовать все доступное пространство на диске. Команда pvresize не меняет таблицу разделов. Вам нужно сначала изменить таблицу разделов.источник
Установите gparted. Запуск от имени пользователя root (используйте ssh -X или x2go, если он удаленный). Выберите раздел. Он должен показывать свободное пространство за концом (справа). Если это не так, вам необходимо перезагрузить виртуальную машину, чтобы увидеть новый размер виртуального устройства. Это должно быть минимальное время простоя с systemd.
Щелкните правой кнопкой мыши и выберите изменить размер. Перетащите конец в конец диска. Убедитесь, что вы не трогаете начало. gparted может перемещать раздел во время изменения размера, но это, конечно, разрушит работающую систему. Но двигаться конец хорошо. Просмотрите ожидающую операцию, которую gparted выполнит, чтобы убедиться, что вы расширяете и не перемещаете раздел. Нажмите применить. gparted изменит раздел на диске, затем выдаст ядро ioctl, чтобы перечитать таблицу разделов, а также изменит размер живого блочного устройства. Затем, поскольку он видит, что это LVM PV, он запускает pvresize для вас. Выйдите из gparted, и теперь vgs покажет ваше новое пространство.
До меня дошли слухи, что расставание может делать все это без использования графического интерфейса, но я так и не смог разобраться в вуду. Parted должен быть одним из худших интерфейсов CLI, которые я когда-либо пытался использовать.
Не используйте fdisk, вы должны удалить и перераспределить раздел, чтобы изменить его размер, и по умолчанию он стирает подпись LVM2 при записи. Я думаю, что видел «продвинутый» вариант, чтобы отключить это разрушительное поведение, но я никогда не проверял это.
Вы также можете попробовать cfdisk (curses fdisk). Это может иметь полезный размер раздела. Достаточно просто запустить pvresize вручную, и есть команда, которая указывает ядру перечитать таблицу разделов. Но мне нужно проверить, чтобы убедиться, что он не стирает подпись LVM, как fdisk.
источник
Если физический том LVM находится в разделе, вы не сможете изменить его размер без перезагрузки.
Вы можете редактировать таблицу разделов на диске, но Linux откажется использовать ее до перезагрузки.
Если вы используете XFS, переключитесь
resize2fs
наxfs_growfs
.Вы можете отобразить используемые PV и LV в группе томов, используя
pvs
иlvs
.PV на сырой диск
ПВ на перегородке
Во- первых , вы должны изменить размер раздела, использование
parted
,fdisk
или аналогичный инструмент для этого. Помните, что эти инструменты редактируют только описание, где находятся разделы, они не перемещают данные. Другими словами, вы легко можете расширить только последний раздел на диске. Затем перезагрузите компьютер, и после этого вы сможете сообщить LVM, что на нем есть дополнительное свободное место:источник
sudo pvresize /dev/sda2
сообщает «1 физический том (ы) изменен размер», ноsudo lvextend /dev/mapper/VolGroup-lv_root -L +10G
завершается с ошибкой «недостаточно свободного места: необходимо 320 экстентов, но доступно только 0»).sudo fdisk -l
сообщает, что у меня доступно 54G, в то время какsudo pvdisplay
отчеты только 40G используются. Почему lvextend терпит неудачу?resize
команду parted для увеличения размера основного раздела, но он выдал ошибку «Не удалось обнаружить файловую систему». Как вы изменяете размер раздела, используя parted или fdisk?Я бы посоветовал проверить ssm (system-storage-manager), если он доступен в вашем дистрибутиве.
Проверьте это для немного больше информации: /unix//a/293173
ssm облегчает изменение размера логических томов без необходимости делать все самостоятельно.
Я смог использовать его для расширения своего домашнего раздела после перезагрузки операционной системы и входа в систему в качестве пользователя root. (В общей сложности пришлось перезагрузиться дважды, но в итоге это сработало, и теперь у меня есть дополнительные 50G, доступные в моем / home разделе.)
источник
После объединения 25 инструкций у меня наконец-то есть это решение. Это не требует живого компакт-диска, это полностью на лету.
Шаг 1. отформатируйте раздел с помощью parted (без графического интерфейса). В этом примере максимальный размер диска увеличился с 8 ГБ до 32 ГБ в виртуальной коробке.
Шаг 2. Создайте физический том на основе нового раздела
Шаг 3. Добавьте физический том в группу томов. В простой установке сервера fedora 28 группа томов называется fedora.
Шаг 4. Добавьте доступное пространство в группе томов к логическому тому. В простой установке сервера fedora 28 логический том называется root.
Шаг 5. Скажите файловой системе на логическом томе использовать дополнительное пространство. В fedora файловая система - xfs.
Внимание! xfs_growfs использует точку монтирования для идентификации файловой системы, а не имя файловой системы, которое вы найдете в выводе df !!!!!!!
Команда 'xfs_growfs / dev / mapper / fedora-root' скажет вам, что / dev / mapper / fedora-root не является смонтированной файловой системой XFS. Если вы используете другую файловую систему, обратитесь к https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html.
Шаг 6. Наслаждайтесь
источник
Попробуйте тестдиск
sudo dnf установить тестдиск
sudo testdisk
Просто установите создать файл журнала. Затем он перечислит разделы, - выберите медиа / раздел - затем введите - и проанализируйте - быстрый поиск - выберите и напишите
источник