VM下LINUX完美增加/扩展硬盘空间(LVM)
使用的虚拟化软件: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 to39162. There is nothing wrong with that, but this is larger than1024, and could in certain setups cause problemswith: 1) software that runs at boot time (e.g., old versions ofLILO) 2) booting and partitioning software from otherOSs (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 (LinuxLVM) #输入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 = 8225280bytes
DeviceBoot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 39162 314464342+ 8e LinuxLVM /dev/sda3 39163 110960 576717435 8e LinuxLVM #这里输入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 error16: (这里有个小报错,不用管它). 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:272012): 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中加载,增加减少容量也不会对文件造成损失。)