As of ext2online(8) there should be a program ext2prepare(8) and e2fsadm(8) to do some preparation work on unmounted FS to go over size limits. Tha package in the up-to-date initial version of RHEL4 has no ext2prepare and no e2fsadm at all. This limits ext2online usage.
When trying to shink unmouted ext3 FS on top of LVM, the ext2online utility refuses to work because device mapper: # df -B 4096 /dev/md0 Filesystem 4K-blocks Used Available Use% Mounted on /dev/dm-0 278252736 213526856 59158761 79% /home/glftpd/glftpd/site # umount /dev/dm-0 # ext2online /dev/dm-0 260000000 ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b ext2online: can't find /dev/dm-0, is it mounted? I'm unable to shrink mounted FS too. As of the man page this is impossible though: # mount /dev/dm-0 # ext2online /dev/dm-0 260000000 ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b ext2online: /dev/dm-0 has 278355968 blocks cannot shrink to 260000000 It seems that This is a wrong (TM) because we are unable to shink the FS to be able to remove broken HDD. We will try to use rescue disc with RHEL3 and with resize2fs
The ext2prepare code is currently ready only for "old-style" ext2/3 online resize. The final upstream format changed slightly and the tool has not yet been updated for that. It is planned to introduce it upstream in the future. Online shrinking will not be supported in RHEL4; it is uncertain whether it will ever be supported by ext2/3, as shrinking requires the ability to dynamically reallocate inodes and data that are currently located on the bits of the disk that you're about to lose. Dealing with a broken HDD should be possible via LVM, which allows you to add a new disk, migrate the data dynamically from one disk to the other, and then remove the failed one. This needs no filesystem support.
# umount /dev/dm-0 # ext2online /dev/dm-0 260000000 ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b ext2online: can't find /dev/dm-0, is it mounted? This is never expected to work, even for growing --- online resize is for online filesystems, you do not expect it to run on offline [unmounted] volumes!
Sorry, I read the man page for ext2online(8) in the wrong way. There is a sentence about growing and shrinking with ext2resize(8) which is not in the package and I wrongly tryed ext2online. So RFE is to include ext2resize if possible in this package.
The reason ext2resize is disabled is because the version available for RHEL4 was discovered, at the last moment, to be incompatible with the new online resize code. That has since been fixed and ext2resize is scheduled to be in RHEL4 update 1.
This is great! We added new disc and we used pvmove to handle our problem.
Is there a testing package somewhere? I would like to test it if possible.
The fix is in U1.