8:ext2online

From Linux Man Pages

Jump to: navigation, search
      ext2online - online (mounted) ext2 filesystem resizer
      
      ext2online [-C fd] [-d] [-q] [-v] [-V] {device|mountpoint} [size[b|K|M|G|T]]

Contents

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 possi-
      ble  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 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  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 information about
      the  current  filesystem).   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  com-
      bines  the  LV extension and ext2 filesystem resizing into one step.  Alternately, you may be able to use facili-
      ties 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 /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 messages, 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.

BUGS

      There  is a limit imposed on a single filesystem resize due to the fact that ext2online does not use triple-indi-
      rect 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 programs 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.

RELATED

      dumpe2fs(8) ext2prepare(8) ext2resize(8) e2fsadm(8) e2fsck(8) lvextend(8)

CATEGORY

Personal tools