Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


EXT2ONLINE(8)							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.	To be able to
       use ext2online, you need to have the Online ext2 resize support	(CON-
       FIG_EXT2_RESIZE)	 feature  enabled  in  the kernel (after applying the
       appropriate patch for the 2.x series of kernels).

       The filesystem specified by device (partition,  loop  device,  logical
       volume,	...)  or mountpoint must currently be mounted, and it will be
       enlarged to fill the device, by default.	 If the optional size parame-
       ter  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 information about  the  current  filesys-
       tem).  The modifiers b, K, M, G, or T mean the size parameter is given
       in 512-byte blocks, kilo-, mega-, giga-, or terabytes respectively.


       The ext2online program does not change the size of the actual 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 exten-
       sion and ext2 filesystem resizing into one step.	 Alternately, you may
       be able to use facilities 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.


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 parti-
       tion.  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 /tmp/file 32768
	    mkdir /mnt/test
	    mount -o loop,debug,check=strict /tmp/file /mnt/test
	    df /mnt/test
	    ext2online -d -v /tmp/testfile
	    df /mnt/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	 mes-
       sages, and the kernel messages will be logged by syslog.


WARNING
       Note  that  resizing  a mounted filesystem is inherently dangerous 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 filesystems, but	 it  has  not
       yet  been  tested by the author on a filesystem 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    using the ext2 resizing tools developed by Lennert Buyten-
       hek .  The ext2online kernel patches are available as
       part    of    the    GNU	  ext2resize   package	 at   .


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.


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) e2fsck(8) lvextend(8)



ext2online v1.1.18		  July 2002			EXT2ONLINE(8)


UNIX/Linux commands referenced on this page:
  1. file
  2. resize
  3. patch
  4. size
  5. find
  6. more
  7. make
  8. expand
  9. which
  10. test
  11. dd
  12. mke2fs
  13. mkdir
  14. mount
  15. df
  16. as
  17. time
  18. at
  19. users