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
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout