Как изменить размер корневого раздела LVM в Fedora без LiveCD или Перезагрузки

Этот КБ также применяется. http://support.microsoft.com/kb/162797

24
задан 13 April 2017 в 15:14
7 ответов

You can grow a logical volume online. You'd have to unmount it to shrink it (which requires a LiveCD / Rescue Mode.)

  1. pvresize /dev/sda2 (assuming your LVM partition is sda2. Replace as required.)
  2. lvextend /dev/mapper/root -l+100%FREE (or, whatever your root logical volume is called.)
  3. resize2fs /dev/mapper/root (assuming ext2/3/4)
32
ответ дан 28 November 2019 в 20:18

Did your system really change from 20 to 50 GB? That seems really odd since your sda2 device is ~40GB, lv_root shows 36GB, and swap shows 6GB.

Your output of fdisk -l shows the total sectors of /dev/sda is 104857600. The last sector used by /dev/sda2 is 83886079. This tells me that you have not adjusted the partition size to use all the available space on the drive. The pvresize command doesn't change the partition table. You need to change the partition table first.

2
ответ дан 28 November 2019 в 20:18

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

Вы можете редактировать раздел таблица на диске, но Linux откажется использовать ее до перезагрузки.

Если вы используете XFS, переключите resize2fs на xfs_growfs .

Вы можете отобразить PV. вы используете и LV в группе томов, используя pvs и lvs .

PV на необработанном диске

pvresize /dev/sda
lvextend /dev/<volume-group>/<lv-name> -L +<size>G
resize2fs /dev/<volume-group>/<lv-name>

PV на разделе

Сначала вам нужно изменить размер раздела, используйте parted , fdisk или аналогичный инструмент для этого. Помните, что эти инструменты редактируют только описание, где находятся разделы, они не перемещают данные. Другими словами, вы можете легко расширить только последний раздел на диске. Затем перезагрузите компьютер, и после этого вы сможете сообщить LVM, что на нем есть дополнительное пространство:

pvresize /dev/sda2
lvextend /dev/<volume-group>/<lv-name> -L +<size>G
resize2fs /dev/<volume-group>/<lv-name>
0
ответ дан 28 November 2019 в 20:18

Попробуйте testdisk

sudo dnf install testdisk

sudo testdisk

Просто установите файл журнала Затем он перечислит разделы, - выбрать носитель / раздел - затем введите - и проанализировать - быстрый поиск - выберите и напишите

-1
ответ дан 28 November 2019 в 20:18

Установите gparted. Запуск от имени root (используйте ssh -X или x2go, если удаленно). Выберите раздел. Он должен показывать свободное пространство за концом (справа). Если это не так, вам необходимо перезагрузить виртуальную машину, чтобы увидеть новый размер виртуального устройства. Это должно быть минимальным временем простоя с systemd.

Щелкните правой кнопкой мыши и выберите изменить размер. Перетащите конец в конец диска. Убедитесь, что вы не касаетесь начала. gparted может перемещать раздел во время изменения размера, но это, конечно, разрушит работающую систему. Но сдвинуть конец - это нормально. Просмотрите ожидающую операцию, которую будет выполнять gparted, чтобы убедиться, что вы расширяете, а не перемещаете раздел. Нажмите "Применить". gparted изменит раздел на диске, а затем вызовет команду ioctl ядра для повторного чтения таблицы разделов, также изменив размер живого блочного устройства. Затем, поскольку он видит, что это LVM PV, он запускает для вас pvresize. Выйдите из gparted, и vgs теперь покажет ваше новое пространство.

Я слышал слухи, что parted может делать все это без накладных расходов на графический интерфейс, но мне так и не удалось разобраться в voodoo. Parted должен быть одним из худших интерфейсов CLI, которые я когда-либо пробовал использовать.

Не используйте fdisk, вы должны удалить и перераспределить раздел для изменения размера, и по умолчанию он стирает подпись LVM2 при записи. Я думаю, что видел «продвинутый» вариант отключения этого деструктивного поведения, но я никогда его не тестировал.

Вы также можете попробовать cfdisk (curses fdisk). У него может быть полезный размер раздела. Достаточно легко запустить pvresize вручную, и есть команда, указывающая ядру, что нужно перечитать таблицу разделов. Но мне пришлось бы протестировать, чтобы убедиться, что он не стирает подпись LVM, как fdisk.

1
ответ дан 28 November 2019 в 20:18

После объединения 25 практических рекомендаций я наконец получил это решение. Для этого не требуется live cd, он полностью на лету.

Шаг 1. Отформатируйте раздел с помощью parted (без графического интерфейса). В этом примере максимальный размер диска увеличился с 8 ГБ до 32 ГБ в виртуальном блоке.

    # parted
       ....
       Number   Begin   End     Size     Type     FileSystem       Flags
         1      1049kB  1075MB  1074MB   primary  ext4             boot
         2      1075MB  8590MB  7515MB   primary                   lvm
       ....
    (parted) mkpart primary ext2 8590 100%
       ....
       Number   Begin   End     Size     Type     FileSystem       Flags
         1      1049kB  1075MB  1074MB   primary  ext4             boot
         2      1075MB  8590MB  7515MB   primary                   lvm
         3      8590MB  34,4GB  25,8GB   primary  ext2             lba
       ....
    (parted) set 3 lvm on
    (parted) set 3 lba off
    (parted) print
       ....
         3      8590MB  34,4GB  25,8GB   primary  ext2             lvm
       ....
    (parted) quit

Шаг 2. Создайте физический том на основе нового раздела

# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

Шаг 3. Добавьте физический том в группу томов. При установке простого сервера Fedora 28 группа томов называется Fedora.

# vgextend fedora /dev/sda3
  Volume group "fedora" successfully extended

Шаг 4. Добавьте доступное пространство в группе томов к логическому тому. При установке простого сервера Fedora 28 логический том называется root.

# lvextend -l+100%FREE /dev/fedora/root
  Size of logical volume fedora/root changed from <6,20 GiB (1586 extents) to 30,19 GiB (7729 extents).
  Logical volume fedora/root successfully resized.

Шаг 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

# xfs_growfs /
    data blocks changed from 1624064 to 7914496

Шаг 6. Наслаждайтесь

# df
FileSystem               1K-blocks      Used   Available used% Mounted on
....
/dev/mapper/fedora-root   31647744   6492840    25154904  21% /
/dev/sda1                   999320    125576      804932  14% /boot
....
0
ответ дан 28 November 2019 в 20:18

Я бы посмотрел ssm (system-storagee-manager), если он доступен на вашем дистрибутиве.

Посмотрите на это немного подробнее: https://unix.stackexchange.com/a/293173

ssm, похоже, облегчает изменение размеров логических томов без необходимости делать всё самостоятельно.

Я смог использовать его для расширения своего домашнего раздела после перезагрузки операционной системы и входа в систему в качестве корневого. (Всего пришлось перезагружаться дважды, но в конце концов это сработало, и теперь у меня в /home parition есть дополнительные 50Гб.)

.
0
ответ дан 28 November 2019 в 20:18

Теги

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