Сегодня я попробовал это на моей машине с OpenSUSE 12.3 (ядро 3.7):
# resize2fs /dev/mapper/system-srv 2G
resize2fs 1.42.6 (21-Sep-2012)
Filesystem at /dev/mapper/system-srv is mounted on /srv; on-line resizing required
resize2fs: On-line shrinking not supported
/dev/mapper/system-srv
объем EXT4.
Это действительно не поддерживается или я что-то упустил?
linux
lvm
hard-drive
ext4
Алисия
источник
источник
Да, вы можете сжать / переместить / увеличить корневой раздел без перезагрузки (ни livecd, ни usbkey): обратитесь к этому ответу . Это очень хорошо написано и легко следовать, хотя довольно долго и немного рискованно.
resize2fs
не может сжать онлайнext4
разделы . Это ограничение при применении к корневому разделу может заставить вас думать, что вы не можете избежать перезагрузки хоста, чтобы разрешить сжатиеroot
раздела, чего вы можете избежать. Связанный процесс позволит вам размонтировать корневой раздел без перезагрузок. Таким образом, с этой точки зрения, это не строго говоря, изменение размера онлайн в отношении смонтированного состояния раздела, однако это остается изменение размера онлайн в отношении сетевого статуса в сети или достижимости хоста.Конечно, если вы хотите увеличить только раздел ext4, вам следует придерживаться традиционных рабочих
resize2fs
решений.Общее решение, которое я связал, будет работать, например, с любым типом выделенного решения или решения VPS.
TLDR; это решение подразумевает ,
pivot_root
чтобыtmpfs
таким образом вы можетеumount
безопасно корневой раздел жить и возиться с ним. После этого выpivot_root
вернетесь к своему новому корневому разделу.Это позволяет практически любые манипуляции с корневой файловой системой (переместить ее, изменить файловую систему, изменить ее физическое устройство ...).
Я лично использовал это, и это очень хорошо работает и в системе Debian, но руководство было изначально написано для Redhat в 2007 году, ответ, который я связал, был обновлен для CentOS7. Весьма вероятно, что он будет работать на вашем OpenSUSE, хотя, вероятно, с некоторой адаптацией.
источник
Если дело касается удаленного сервера без консоли, вы можете сжать файловую систему с помощью initramfs при перезагрузке. Вам нужно добавить resize2fs в initramfs и запустить его перед монтированием root.
Пример Debian / Ubuntu:
/ etc / initramfs-tools / hooks / resizefs (исполняемый файл):
/ etc / initramfs-tools / scripts / local-premount / resizefs (исполняемый файл)
Теперь запустите update-initramfs, перезагрузите компьютер, проверьте размер, удалите эти сценарии и снова выполните update-intiramfs.
Для dracut (Fedora, CentOS) используйте ту же логику (/usr/lib/dracut/modules.d).
Это очень полезно для шифрования или перемещения rootfs, без свободного места для нового раздела.
источник
update-grub
.