在esx server上安装虚拟机时,由于只分配了默认的8GB磁盘空间。空间不太够,所以在虚拟机上把分配磁盘空间扩大的20GB。在esx server上扩容磁盘空间的方法很简单,在此不提,下面具体说说如何把该扩容的磁盘空间
在虚拟机上应用上去。
以下是未扩容前的状态:
[root@localhost ~]# fdisk -lDisk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 1044 8281507+ 8e Linux LVM [root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-LogVol00 7.0G 4.8G 1.8G 73% //dev/sda1 99M 12M 82M 13% /boottmpfs 187M 0 187M 0% /dev/shm/dev/hdc 183M 183M 0 100% /media/VMware Tools
可以看到sda有21.4GB,但是只利用了sda1和sda2;根目录挂载在/dev/mapper/VolGroup-LogVol00,我们要做的是,把sda上剩余的空间扩容到/dev/mapper/VolGroup-LogVol00。
1)首先,通过fdisk /dev/sda命令将sda剩余空间创建一个分区:
[root@localhost ~]# fdisk /dev/sdaThe number of cylinders for this disk is set to 2610.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)Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 3First cylinder (1045-2610, default 1045):Using default value 1045Last cylinder or +size or +sizeM or +sizeK (1045-2610, default 2610):Using default value 2610Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table.The new table will be used at the next reboot.Syncing disks.[root@localhost ~]#
此时可以看到多了一个sda3的分区:
[root@localhost ~]# fdisk -lDisk /dev/sda: 21.4 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 1044 8281507+ 8e Linux LVM/dev/sda3 1045 2610 12578895 83 Linux
此时查看了一下/dev下,不知道为何没有/dev/sda3,于是重启了一下虚拟机RHEL,重启完成后,出现了/dev/sda3.
一开始在这个地方折腾了一会,如果不重启,在利用命令pvcreate /dev/sda3创建pv时,总是提示Device /dev/sda3 not found (or ignored by filtering).
重启完成后,进入lvm模式,创建pv:
lvm> pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created
扩容vg:vgextend vg_gcc /dev/sda3
lvm> vgextend VolGroup /dev/sda3 /dev/cdrom: open failed: Read-only file system Attempt to close device '/dev/cdrom' which is not open. Volume group "VolGroup" successfully extended
把lv扩容到vg的剩余容量:lvextend /dev/vg_gcc/lv_root /dev/sda3
lvm> lvextend /dev/VolGroup/LogVol00 /dev/sda3 Extending logical volume LogVol01 to 12.72 GB Logical volume LogVol01 successfully resized
最后,通过resize2fs命令令新增的空间在线(on-line)生效:resize2fs /dev/vg_gcc/lv_root
[root@localhost dev]# resize2fs /dev/VolGroup/LogVol00 resize2fs 1.39 (29-May-2006)Filesystem at /dev/VolGroup/LogVol00 is mounted on /; on-line resizing requiredPerforming an on-line resize of /dev/VolGroup/LogVol00 to 5005312 (4k) blocks.The filesystem on /dev/VolGroup/LogVol00 is now 5005312 blocks long.
效果如下:
[root@localhost dev]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-LogVol00 19G 4.8G 13G 28% //dev/sda1 99M 12M 82M 13% /boottmpfs 187M 0 187M 0% /dev/shm/dev/hdc 3.4G 3.4G 0 100% /media/RHEL_5.2 x86_64 DVD
至此,扩容已成功完成。