使用的虚拟化软件:VMWare ESXi 5.0 (任何一个平台的虚拟机都可使用该方法扩展硬盘空间)
在ESXi上新建了一个虚拟机,安装CentOS5.5系统时低估了它能占用的磁盘空间, 现在空间不够使用了,需要给它扩展。我们最常见的就是新添加一块硬盘然后挂载到根目录下就OK了,这种方法很常见,网上也有很多文档,我这就不多说了。但是我这写的这个是在原来的一块硬盘上直接扩大磁盘空间。玩虚拟化的都知道编辑下虚拟机,然后把虚拟机的磁盘改大空间就好了,问题是这样怎么在系统里显示出来了。
我们都知道,要是新添加一块硬盘的话,通过fdisk -l 就能看到第二块磁盘了,然后对第二块磁盘进行分区格式化就OK了。但是在只有一块磁盘的情况下,怎么让它扩大空间在系统里显示出来了?下面我们详细说明:
第一步,先编辑虚拟机,扩大磁盘;
看图,我原虚拟机的磁盘是300G,现在要扩大到800G;
1.右击该虚拟机—>编辑设置—>硬盘1—>扩大磁盘;
2.现在在虚拟机CentOS系统里看不到刚加入的磁盘空间;
我们使用命令查看到,改虚拟机CentOS系统里只有一个磁盘sda,有两个分区sda1、sda2,在根目录下挂载了286G。
OK,现在我们来把刚新扩展的500G磁盘空间让它显示在系统中。
3.使用fdisk命令,新建分区sda3,用n命令建个P类型的磁盘,然后用t命令更改ID为8e(LVM类别)。
[root@*****~]# fdisk /dev/sda
The number of cylinders for this disk is set to 39162. 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)
#输入n,新建分区 Command (m for help):n #输入P,主分区 Command action e extended p primary partition (1-4) p #目前是sda第三个分区输入3 Partition number (1-4): 3 #敲回车,默认就行了(如果要分多个分区,这儿就制定数值) First cylinder (39163-110960, default 39163): Using default value 39163 Last cylinder or +size or +sizeM or +sizeK (39163-110960, default 110960): Using default value 110960 #这里输入t Command (m for help): t #这里选择第三个分区 Partition number (1-4): 3 #指定分区的格式为8e (LVM) Hex code (type L to list codes): 8e Changed system type of partition 3 to 8e (Linux LVM) #输入p查看一下 Command (m for help): p Disk /dev/sda: 912.6 GB, 912680550400 bytes 255 heads, 63 sectors/track, 110960 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 39162 314464342+ 8e Linux LVM /dev/sda3 39163 110960 576717435 8e Linux LVM #这里输入w,保存退出 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: (这里有个小报错,不用管它). The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. #重启使其生效 [root@***** ~]# reboot Broadcast message from root (pts/1) (Tue May 15 12:12:27 2012): The system is going down for reboot NOW! [root@***** ~]#
|
第二步,加入LVM,挂载到根目录下;
在这步有两种方法扩容“/”根目录,一种是把/var、/usr、等迁移到sda3,然后做ln -s 连接,但这种方法如果sda3挂掉的话,那就只能哭了。
本文使用的是另一种方法:
1. 查看卷组情况,可以看到只有一个卷组VolGroup00(此名称因系统而异); [root@*****~]# vgs /dev/hdc: open failed: 找不到介质 VG #PV #LV #SN Attr VSize VFree VolGroup00 1 2 0 wz--n- 299.88G 0 2. 创建物理卷(LVM分区),并将物理卷加入到组里(VolGroup00); [root@*****~]# lvm lvm>pvcreate /dev/sda3 ##创建一个LVM硬分区 (如果没有格式化就会报如下错误: lvm> pvcreate /dev/sda3 2. 挂载到“/”根目录下,将卷组下的卷LogVol00扩容500G(增加容量的关键); LogVol00是LV的名称,可以用lvs命令查看 3.重新识别磁盘容量; [root@*****~]# resize2fs /dev/VolGroup00/LogVol00 4.查看最终结果: |
好了,我们可以在虚拟机CentOS系统中看到磁盘空间已经扩容为800GB,到此完成!
(用LVM管理磁盘不需要在/etc/fstab中加载,增加减少容量也不会对文件造成损失。)