오늘 나는 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 볼륨입니다.
실제로 지원되지 않습니까, 아니면 뭔가 빠졌습니까?
메시지가 말했듯이 파일 시스템을 온라인으로 만 grow 할 수 있습니다. 축소하려면 먼저 마운트를 해제해야합니다.
ext4 파일 시스템 관리자에 따라 , Ted Ts'o :
온라인 축소는 지원되지 않습니다.
예, 재부팅하지 않고 루트 파티션을 축소/이동/확장 할 수 있습니다 (livecd 또는 usbkey도 아님) : 이 답변을 참조하십시오 =. 꽤 길고 약간 위험하지만 매우 잘 작성되어 따르기 쉽습니다.
resize2fs
온라인 ext4
파티션 을 축소 할 수 없습니다. 이 제한은 루트 파티션에 적용될 때 root
파티션 축소를 허용하기 위해 호스트를 재부팅하는 것을 피할 수 없다고 생각할 수 있습니다. 연결된 프로세스를 사용하면 재부팅하지 않고 루트 파티션을 마운트 해제 할 수 있습니다. 따라서이 관점에서 파티션의 마운트 된 상태와 관련하여 online 크기 조정을 엄격하게 말하지는 않지만 네트워크와 관련하여 온라인 크기 조정으로 남아 있습니다. 온라인 상태 또는 호스트의 접근성.
물론 ext4 파티션 만 늘리려면 기존의 작동하는 resize2fs
솔루션을 고수해야합니다.
내가 연결 한 일반 솔루션은 예를 들어 모든 유형의 전용 또는 VPS 솔루션에서 작동합니다.
TLDR; 이 솔루션은 pivot_root
~ tmpfs
을 암시하므로 루트 파티션을 안전하게 umount
할 수 있습니다. 완료되면 새 루트 파티션으로 pivot_root
돌아 가게됩니다.
이것은 루트 파일 시스템에서 거의 모든 조작을 허용합니다 (이동, 파일 시스템 변경, 물리적 장치 변경 ...).
나는 이것을 개인적으로 사용했으며 데비안 시스템에서도 잘 작동하지만이 가이드는 처음에 redhat 용으로 2007 년에 작성되었으며 CentOS7 용 링크가 업데이트되었습니다. 아마도 약간의 적응이 있지만 OpenSUSE에서 작동 할 가능성이 큽니다.
콘솔이없는 원격 서버 인 경우 재부팅하는 동안 initramfs를 사용하여 파일 시스템을 축소 할 수 있습니다. 루트를 마운트하기 전에 reit2fs를 initramfs에 추가하고 실행해야합니다.
데비안/우분투 예제 :
/ etc/initramfs-tools/hooks/resizefs (실행 가능) :
#!/bin/sh
set -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case $1 in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/e2fsck
copy_exec /sbin/resize2fs
exit 0
/ etc/initramfs-tools/scripts/local-premount/resizefs (실행 가능)
#!/bin/sh
set -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
/sbin/e2fsck -yf /dev/sda1
/sbin/resize2fs /dev/sda1 5G
/sbin/e2fsck -yf /dev/sda1
이제 update-initramfs를 실행하고, 재부팅하고, 크기를 확인하고,이 스크립트와 update-intiramfs를 다시 제거하십시오.
Dracut (Fedora, CentOS)의 경우 동일한 논리 (/usr/lib/dracut/modules.d)를 사용하십시오.
이는 새로운 파티션에 사용 가능한 여유 공간이없는 rootfs를 암호화하거나 이동하는 데 매우 유용합니다.