In my situation I had a RHEL5 Virtual Machine running in VMware ESXi. The machine had 50GB of space and we quickly ran out.
The first thing I did was go into the Settings for the VM using vSphere and resized the physical disk from 50GB to 256GB.
The next step was to reboot the Virtual Machine so that it would recognize the larger physical disk. I rebooted the machine and the larger physical disk was apparent when typing the command,
#fdisk -l
Disk /dev/sda: 274.8 GB, 274877906944 bytes
255 heads, 63 sectors/track, 33418 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 6527 52323705 8e Linux LVM
Notice that although there are 33418 cylinders in my new 274.8 GB disk, that my second primary partition /dev/sda2 is only using cylinders 14-6527. Resizing the Partition was not a safe option and I found many links showing users that had tried and failed.
The proper way to add space is to create an additional partition. This can be done with fdisk.
#fdisk /dev/sda
Once you are in the fdisk utility you will want to create a new partition. 'n'
Specify this as a primary partition (1-4). I chose 3 , as I already have 2 primary partitions.
You should notice that it will than ask you where to 'start'. It should default to the 1st cylinder available (6528 in my case). Press Enter. Then 'end' should default to the last cylinder on the disk. (33418 in my case). Press Enter.
Once the partition has been created you will need to change the partition ID to LVM. The ID for a Linux LVM partition is 8e.
Remember to press 'w' to write your fdisk changes to disk. Once this is done reboot your VM.
Once the VM is back up you will want to run #vgdisplay to see your VolumeGroup name.
[root@ssdev ~]# vgdisplay
/dev/hdc: open failed: No medium found
--- Volume group ---
VG Name VolGroup00...
# pvcreate /dev/sda3
# vgextend VolGroup00 /dev/sda3
Next extend the LV:
[root@ssdev ~]# vgdisplay
/dev/hdc: open failed: No medium found
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 10
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 7
Open LV 7
Max PV 0
Cur PV 2
Act PV 2
VG Size 255.84 GB
PE Size 32.00 MB
Total PE 8187
Alloc PE / Size 1120 / 35.00 GB
Free PE / Size 7067 / 220.84 GB
VG UUID iF1177-sihW-YEb3-sLIj-AhVl-m6Fd-fMKQjg
[root@ssdev ~]# lvextend -L +220.84G /dev/VolGroup00/RootVol
In the last step i specified RootVol, as that is the volume i wanted resized ( / ). lvdisplay will list the different volumes you have, and where they are mounted:
[root@ssdev ~]# lvdisplay
/dev/hdc: open failed: No medium found
--- Logical volume ---
LV Name /dev/VolGroup00/RootVol
VG Name VolGroup00
LV UUID N7lwvY-uqMg-2PfL-R4Ph-Dnh6-9hpu-a2vWeo
LV Write Access read/write
LV Status available
# open 1
LV Size 4.00 GB
Current LE 128
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
Last step, resize the filesystem on the LV you just extended:
[root@ssdev ~]# resize2fs -p /dev/VolGroup00/RootVol
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/RootVol is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/RootVol to 58941440 (4k) blocks.
The filesystem on /dev/VolGroup00/RootVol is now 58941440 blocks long.
[root@ssdev ~]# df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-RootVol
223030 2322 209198 2% /
/dev/mapper/VolGroup00-VarVol
2976 137 2686 5% /var
/dev/mapper/VolGroup00-SrvVol
19839 855 17960 5% /srv
/dev/mapper/VolGroup00-VarLogVol
3968 182 3582 5% /var/log
/dev/mapper/VolGroup00-VarLogAuditVol
992 46 895 5% /var/log/audit
/dev/mapper/VolGroup00-HomeVol
1984 68 1815 4% /home
/dev/sda1 99 9 86 9% /boot
tmpfs 1510 0 1510 0% /dev/shm
[root@ssdev ~]#
This step should take a while, you can see the disk I/O in vSphere:
No comments:
Post a Comment