VMLINUX完美增加/扩展硬盘空间(LVM

使用的虚拟化软件:VMWare ESXi 5.0(任何一个平台的虚拟机都可使用该方法扩展硬盘空间)

ESXi上新建了一个虚拟机,安装CentOS5.5系统时低估了它能占用的磁盘空间,现在空间不够使用了,需要给它扩展。我们最常见的就是新添加一块硬盘然后挂载到根目录下就OK了,这种方法很常见,网上也有很多文档,我这就不多说了。但是我这写的这个是在原来的一块硬盘上直接扩大磁盘空间。玩虚拟化的都知道编辑下虚拟机,然后把虚拟机的磁盘改大空间就好了,问题是这样怎么在系统里显示出来了。

我们都知道,要是新添加一块硬盘的话,通过fdisk  -l就能看到第二块磁盘了,然后对第二块磁盘进行分区格式化就OK了。但是在只有一块磁盘的情况下,怎么让它扩大空间在系统里显示出来了?下面我们详细说明:

第一步,先编辑虚拟机,扩大磁盘;

看图,我原虚拟机的磁盘是300G,现在要扩大到800G

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第1张图片

1.右击该虚拟机—>编辑设置—>硬盘1—>扩大磁盘

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第2张图片

2.现在在虚拟机CentOS系统里看不到刚加入的磁盘空间;

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第3张图片

我们使用命令查看到,改虚拟机CentOS系统里只有一个磁盘sda,有两个分区sda1sda2,在根目录下挂载了286G

OK,现在我们来把刚新扩展的500G磁盘空间让它显示在系统中。

        3.使用fdisk命令,新建分区sda3n命令建个P类型的磁盘,然后用t命令更改ID8eLVM类别)。

[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硬分区
 Physical volume "/dev/sda3" successfullycreated
lvm> vgextend VolGroup00 /dev/sda3 ##
加入与/目录同一个LVM
 Volume group "VolGroup00" successfullyextended

(如果没有格式化就会报如下错误:

lvm>pvcreate /dev/sda3
 Can't open /dev/sda3exclusively. Mounted filesystem?
[root@*****~]#mkfs.ext3/dev/sda3 ##没有成功是因为没有格式化,要与/目录格式一样。)
查看一下:可以看到sda3500G的空间可以扩充使用;

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第4张图片

2. 挂载到“/”根目录下,将卷组下的卷LogVol00扩容500G(增加容量的关键);

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第5张图片

LogVol00是LV的名称,可以用lvs命令查看

3.重新识别磁盘容量;

[root@*****~]# resize2fs/dev/VolGroup00/LogVol00

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第6张图片

4.查看最终结果:

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)_第7张图片

好了,我们可以在虚拟机CentOS系统中看到磁盘空间已经扩容为800GB,到此完成!

 

LVM管理磁盘不需要在/etc/fstab中加载,增加减少容量也不会对文件造成损失。)