star870126 发表于 2018-6-3 10:37:23

VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)

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类别)。
  # 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
  eextended
  pprimary 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   BlocksId System
  /dev/sda1*          1         13   10439183 Linux
  /dev/sda2             14      39162314464342+ 8e LinuxLVM
  /dev/sda3          39163   1109605767174358e 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.
  #重启使其生效
  # reboot
  Broadcast message from root (pts/1) (Tue May 15 12:12:272012):
  The system is going down for reboot NOW!
  #
第二步,加入LVM,挂载到根目录下;
在这步有两种方法扩容“/”根目录,一种是把/var、/usr、等迁移到sda3,然后做ln -s 连接,但这种方法如果sda3挂掉的话,那就只能哭了。
本文使用的是另一种方法:
  1. 查看卷组情况,可以看到只有一个卷组VolGroup00(此名称因系统而异);
  # vgs
  /dev/hdc: open failed:找不到介质
  VG      #PV #LV #SN Attr   VSize   VFree
  VolGroup00120wz--n- 299.88G   0
  2. 创建物理卷(LVM分区),并将物理卷加入到组里(VolGroup00);
  # 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?
#mkfs.ext3/dev/sda3 ##没有成功是因为没有格式化,要与/目录格式一样。)
查看一下:可以看到sda3有500G的空间可以扩充使用;



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



  LogVol00是LV的名称,可以用lvs命令查看
  3.重新识别磁盘容量;
  # resize2fs/dev/VolGroup00/LogVol00

  4.查看最终结果:

  好了,我们可以在虚拟机CentOS系统中看到磁盘空间已经扩容为800GB,到此完成!
  (用LVM管理磁盘不需要在/etc/fstab中加载,增加减少容量也不会对文件造成损失。)
  
页: [1]
查看完整版本: VMWare ESX Server下LINUX完美增加硬盘空间(LVM)(亲测成功)