ext2online(8)
NAME
ext2online - online (mounted) ext2 filesystem resizer
SYNOPSIS
ext2online [-C fd] [-d] [-q] [-v] [-V] {device|mountpoint}
[size[b|K|M|G|T]]
DESCRIPTION
- The ext2online tool resizes ext2 file systems while they
- are mounted and in use by the system. It is OK to resize the
- filesystem even while programs have open files and are writing
- into the filesystem. It is only possible to enlarge a mounted
- filesystem. It is possible to use ext2resize(8) to shrink and
- enlarge an unmounted filesystem. To be able to use ext2online,
- you need to have the Online ext2 resize support
- (CONFIG_EXT2_RESIZE) feature enabled in the kernel (after apply
- ing the appropriate patch for the 2.x series of kernels).
- The filesystem specified by device (partition, loop de
- vice, logical volume, ...) or mountpoint must currently be mount
- ed, and it will be enlarged to fill the device, by default. If
- the optional size parameter is specified, then this size will be
- used instead. If the size parameter does not have an optional
- modifier, it will be taken to be in ext2 filesystem blocks (which
- can be 1k, 2k, or 4k - use dumpe2fs(8) to find out more informa
- tion about the current filesystem). The modifiers b, K, M, G, or
T
- mega-, giga-, or terabytes respectively.
The ext2online program does not change the size of the ac - tual device - only the filesystem. If you wish to enlarge a
- filesystem, you must make sure you expand the underlying device
- first. This can be done online for Logical Volumes by using
- lvextend(8) from the LVM package, or for ease-of-use you can use
- e2fsadm(8) which combines the LV extension and ext2 filesystem
- resizing into one step. Alternately, you may be able to use fa
- cilities in md or RAID facilities in the hardware, if you are not
- using a partition table. It is not possible to do this by using
- the fdisk(8) family of tools to extend a partition while it is
- mounted (at least the author has not been able to successfully do
- this).
- Because of the original design of the ext2 filesystem did
- not have online resizing in mind, there are certain limitations
- to the amount of resizing that can be done while the filesystem
- is mounted, if you haven't done any preparation for the resize.
- The default block size for ext2 was 1k blocks until v1.15 of
- e2fsprogs (1999), where it changed to 4k blocks for filesystems
- larger than 512MB.
- With no filesystem preparation, it is always possible to
- resize to the next 256MB boundary for 1k filesystems, the next
- 2GB boundary for for 2k filesystems, and the next 16GB boundary
- for 4k filesystems. By using the ext2prepare(8) program on an
- unmounted filesystem, it is possible for ext2online to increase
- the size of a mounted ext2 filesystem to almost any size.
OPTIONS
- -C fd, --completion=fd
- Output completion information to file descriptor
- fd.
- -d, --debug
- Turn on debugging messages.
- -q, --quiet
- Do not print anything but error messages.
- -v, --verbose
- Turn on normal verbose status messages.
- -V, --version
- Print the version number and exit.
RETURN VALUES
0 Resizing successful
1 Error in command line (options or specified device)
2 Error in specified size
3 Error in pre-resizing (user space) operation
4 Error during the in-kernel resizing operation
- 5 Error in post-resizing operation (update of metadata
- backups)
EXAMPLES
- The following example shows how to test ext2online with a
- spare partition. First a filesystem of 32MB is created on the
- device, mounted, and the size is verified. The filesystem is
- then extended to fill the device (the default action when no size
- is given), and the new size is verified.
dd if=/dev/zero of=/tmp/file bs=1k count=64k
mke2fs -F -f 32768 /tmp/file
mkdir /tmp/test
mount -o loop,debug,check=strict /tmp/file /tmp/test
df /mnt/test
ext2online -d -v /tmp/file
df /tmp/test- By using the debug and check=strict options to mount, as
- well as the -d and -v flags to ext2online, we will see the user
- space status messages, and the kernel messages will be logged by
- syslog.
WARNING
- Note that resizing a mounted filesystem is inherently dan
- gerous and may corrupt filesystems, although no errors resulting
- in data loss have ever been reported to the author. In theory
- online resizing should work fine with arbitrarily large filesys
- tems, but it has not yet been tested by the author on a filesys
- tem larger than 11GB. Use with caution. Backups are always a
- good idea, because your disk may fail at any time, you delete
- files by accident, or your computer is struck by a meteor.
AUTHOR
- The ext2online program was written by Andreas Dilger
- <adilger@clusterfs.com> using the ext2 resizing tools developed
- by Lennert Buytenhek <buytenh@gnu.org>. The ext2online kernel
- patches are available as part of the GNU ext2resize package at
- <http://sourceforge.org/projects/ext2resize/>.
BUGS
- There is a limit imposed on a single filesystem resize due
- to the fact that ext2online does not use triple-indirect blocks
- for the resize inode. This should not affect most users of
- ext2online, as the limit is about 60GB larger than the current
- filesystem size for 1k block filesystems. The ext2resize pro
- grams do not work on big-endian machines (Alpha, SPARC, PPC,
- etc).
COPYRIGHT
- ext2online is (C) Copyright 1999, 2000, 2001 by Andreas
- Dilger and may be distributed under the terms of the GNU General
- Public License.
SEE ALSO
- dumpe2fs(8) ext2prepare(8) ext2resize(8) e2fsadm(8)
- e2fsck(8) lvextend(8)
- ext2online v1.1.18 July 2002