Increasing the Size of the Root Partition

This section describes how to increase the size of the default logical volume VolGroup00-LogVol00 mounted at the root "/" directory of a guest vServer.

Note:

The procedure described here is relevant to vServers created by using the EECS 2.0.6.x.x Guest Base Template. Do not use this procedure to modify the disks of vServers creating using a Guest Base Template that is earlier than EECS version 2.0.6.0.0.

  1. Create a volume (say, 100 GB), as described in Creating Volumes.
  2. Attach the volume to the vServer, for which you want to modify the size of the root partition, as described in Attaching Volumes to a vServer.
  3. Log in, as the root user, to the vServer.
  4. Examine the current partitioning by running the following commands:
    # df -h
    

    The following is an example of the output of this command:

    Filesystem                       Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup00-LogVol00  5.1G  3.3G  1.6G  68% /
    /dev/xvda1                        99M   23M   71M  25% /boot
    tmpfs                            4.0G     0  4.0G   0% /dev/shm
    
  5. Examine the available physical volumes on the vServer by running the following command:
    # cat /proc/partitions
    major minor  #blocks  name
     
     202        0    6145024 xvda
     202        1     104391 xvda1
     202        2    6040440 xvda2
     253        0    5505024 dm-0
     253        1     524288 dm-1
     202       16  104857600 xvdb
    

    /dev/xvdb is the newly attached volume.

  6. Run the fdisk command, as shown in the following example:

    Note:

    The user input required at various stages while running the fdisk command is indicated by bold text.

    # fdisk /dev/xvdb
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel. Changes will remain in memory only,
    until you decide to write them. After that, of course, the previous
    content won't be recoverable.
    
    The number of cylinders for this disk is set to 13054.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    Command (m for help): p
     
    Disk /dev/xvdb: 107.3 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
     
        Device Boot      Start         End      Blocks   Id  System
     
    Command (m for help): n
    Command action
       e   extended
       p   primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-13054, default 1):
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-13054, default 13054):
    Using default value 13054
     
    Command (m for help): t
    Selected partition 1
    Hex code (type L to list codes): 8e
    Changed system type of partition 1 to 8e (Linux LVM)
     
    Command (m for help): p
     
    Disk /dev/xvdb: 107.3 GB, 107374182400 bytes
    255 heads, 63 sectors/track, 13054 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
     
        Device Boot      Start         End      Blocks   Id  System
    /dev/xvdb1               1       13054   104856223+  8e  Linux LVM
     
    Command (m for help): w
    The partition table has been altered!
     
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
  7. Create a physical volume:
    # pvcreate /dev/xvdb1
      Writing physical volume data to disk "/dev/xvdb1"
      Physical volume "/dev/xvdb1" successfully created
     
     
    
  8. Extend the volume group VolGroup00 with the physical volume /dev/xvdb1:
    # vgextend VolGroup00 /dev/xvdb1
      Volume group "VolGroup00" successfully extended
     
    
  9. Extend the logical volume LogVol00:
    # lvextend -l +100%FREE /dev/VolGroup00/LogVol00
      Extending logical volume LogVol00 to 105.22 GB
      Logical volume LogVol00 successfully resized
    
  10. Resize the file system:
    # resize2fs /dev/VolGroup00/LogVol00
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
    Performing an on-line resize of /dev/VolGroup00/LogVol00 to 27582464 (4k) blocks.
    The filesystem on /dev/VolGroup00/LogVol00 is now 27582464 blocks long.
    
  11. Check whether the root partition of the guest vServer has the updated size, by running the df -h command as shown in the following example:
    # df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VolGroup00-LogVol00
                          102G  3.3G   94G   4% /
    /dev/xvda1             99M   23M   71M  25% /boot
    tmpfs                 4.0G     0  4.0G   0% /dev/shm