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:
5. # 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
6. Examine the available physical volumes on the vServer by running the following command:
7. # cat /proc/partitions
8. major minor #blocks name
9.
10. 202 0 6145024 xvda
11. 202 1 104391 xvda1
12. 202 2 6040440 xvda2
13. 253 0 5505024 dm-0
14. 253 1 524288 dm-1
15. 202 16 104857600 xvdb
/dev/xvdb is the newly attached volume.
16. 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)
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.
17. Create a physical volume:
18. # pvcreate /dev/xvdb1
19. Writing physical volume data to disk "/dev/xvdb1"
20. Physical volume "/dev/xvdb1" successfully created
21.
22.
23. Extend the volume group VolGroup00 with the physical volume /dev/xvdb1:
24. # vgextend VolGroup00 /dev/xvdb1
25. Volume group "VolGroup00" successfully extended
26.
27. Extend the logical volume LogVol00:
28. # lvextend -l +100%FREE /dev/VolGroup00/LogVol00
29. Extending logical volume LogVol00 to 105.22 GB
30. Logical volume LogVol00 successfully resized
31. Resize the file system:
32. # resize2fs /dev/VolGroup00/LogVol00
33. resize2fs 1.39 (29-May-2006)
34. Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line
resizing required
35. Performing an on-line resize of /dev/VolGroup00/LogVol00 to 27582464
(4k) blocks.
36. The filesystem on /dev/VolGroup00/LogVol00 is now 27582464 blocks
long.
37. 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:
38. # df -h
39. Filesystem Size Used Avail Use% Mounted on
40. /dev/mapper/VolGroup00-LogVol00
41. 102G 3.3G 94G 4% /
42. /dev/xvda1 99M 23M 71M 25% /boot
tmpfs 4.0G 0 4.0G 0% /dev/shm