【转】Esxi上Linux虚拟机硬盘(LVM)扩容文档
Esxi上Linux虚拟机硬盘(LVM)扩容文档
banyejinghungui 1人评论 [23153人阅读][2016-07-29 16:35:19]
前言
本文档主要是介绍如何在ESXi上扩容安装了Linux系统的虚拟机
操作环境
操作系统:Esxi 6.0.0
虚拟机操作系统:Linux version 3.10.0-327.3.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Wed Dec 9 14:09:15 UTC 2015
当前硬盘大小:30GB
计划硬盘扩容大小:20GB
Linux磁盘管理基础知识介绍
物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。
卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。
逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件
系统。
可以做这样一个设想来理解以上三者的关系:如果把PV比作地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地
球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。
在Linux中规定,每个硬盘设备最多只能由4个主分区(其中包括一个扩展分区)构成任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是 4个。(Linux 下面每一个硬盘总共最多有 16 个分区)
操作步骤
1.确认分区类型
由于本方法只针对LVM类型的分区,故在扩容之前先通过以下命令检查分区类型是否为Linux LVM类型。
fdisk -l
wKiom1ebEV-Ch8ZmAABTZmKnH-Y620.png-wh_50如上图所示,/dev/sda2 在system一栏中被标记为Linux LVM类型,他们的Id是8e。8e代表Linux LVM, 83代表Linux Native分区。确认为LVM之后,继续我们的扩容工作。
下图使用 df -h 命令,查看当前系统磁盘容量和使用情况,目前的大小大约有27GB,计划扩展20GB,总容量达到47GB。我们打算把20GB的新磁盘扩展到 /dev/mapper/centos-root 这个目录下面。
wKioL1ebEafSYSzIAAAdGhdLCFg786.png-wh_50注:因为LVM是逻辑卷磁盘管理程序,故/dev/mapper/centos-root 实际上是在/dev/sda2 上,所以在fdisk -l 中显示的设备信息中只有/dev/sda2 的分区类型,而看不到/dev/mapper/centos-root 分区,因为它只是逻辑上存在。所以需要确认分区类型的是/dev/sda2 而不是 /dev/mapper/centos-root,不要晕。。。
2.增加虚拟物理硬盘大小
使用vSphere Client 客户端访问vCenter,选中需要扩容的虚拟机(本文选中211),右键点击该虚拟机,选择“编辑设置”。跳出以下画面
wKiom1ebEeqhQc-jAACUSa8elj8630.png-wh_50选择“硬盘1”,将“磁盘置备”中的“30”GB,改为“50”GB。
注:如果你的虚拟机的“编辑设置”中无法修改硬盘大小的时候(图中“置备大小”后的值是灰色,无法修改),原因可能是你在这台虚拟机上使用了快照功能。你只需要关闭虚拟机,右键点击该虚拟机,选择“快照”,再选择“快照管理器”,然后将所有快照删除,再开启虚拟机,即可修改硬盘大小。
3.发现新磁盘
重启虚拟机,使用 fdisk -l 查看是否系统识别到新增的磁盘空间。
wKioL1ebEinwHtZWAABkqT_1BFo782.png-wh_50如图所示,磁盘大小从32.2GB,扩容到53.7GB。
4.给新磁盘分区
好了,新的磁盘被识别到了,现在需要给磁盘分区,让系统能使用到这个新的磁盘空间。
我们现在要在磁盘 /dev/sda 上分区(注意:linux中一块硬盘的主分区个数不能超过4个,目前sda1,sda2已经占用了两个分区名额,新增的分区应该为第三个主分区,即sda3)。现在开始给磁盘 /dev/sda 分区。我们这里使用的工具是fdisk。输入以下命令:
** fdisk /dev/sda**
wKioL1ebEpGRbvitAAAasHN34U4171.png-wh_50如果需要帮助,你可以输入m获取更多信息。
现在我们来创建新分区,输入 n
wKiom1ebErXR0NgKAAAawAFVr2Q452.png-wh_50再输入p,代表我们现在要创建一个主分区
注:2 primary,0 extended,2 free表示目前我们这块硬盘上有2个主分区,0个拓展分区,还可以再创建2个主分区。
wKiom1ebEt-AEBFQAAAJjDydpcs337.png-wh_50输入3,代表创建分区sda3
wKioL1ebEwfDQzdnAAAIJM3eCsY900.png-wh_50接下来指定起始扇区和Last扇区,只要敲两下回车键,选择默认值就好了。
wKiom1ebEymjSCSMAAAeWN1QWl0907.png-wh_50至此,分区工作已完成。
现在要给新建分区指定分区类型了。
输入t,再输入3,表示选择新建的sda3分区,最后输入8e,代表选择的是LVM类型。
wKiom1ebE0rCnHNGAAAa1G9__Sc509.png-wh_50大功告成,最后输入w保存我们的配置结果吧。
wKioL1ebE3DhO-CuAAAhjcbuhac668.png-wh_50可以用fdisk -l查看你新建的分区sda3.
wKioL1ebE5LT8oPWAABd9JDBTG0838.png-wh_505.新增逻辑卷LV
分区建好了,为了让之后的LVM可以使用到这个分区,我们需要在新的分区 /dev/sda3 上创建物理卷PV。
输入以下命令:
pvcreate /dev/sda3
wKiom1ebE7HRNEUSAAAI252mgYo404.png-wh_50好吧,忘了和你说了,你需要重启电脑现在。。。** reboot**
或者如果你不想重启电脑,也可以使用partprobe命令
wKiom1ebE9Sw_vo5AAAKCXkwCkE015.png-wh_50再来一遍 pvcreate /dev/sda3
接下来,我们需要先确认卷组(VG),使用以下命令:
Vgdisplay
wKiom1ebFEXAaC8VAAAu4qnjqsg240.png-wh_50现在开始扩容VG大小,使用以下命令:
vgextend centos /dev/sda3
wKioL1ebFGODZyH0AAAIypWAMus241.png-wh_50注: centos 是本机的VG Name,每个系统的名字不同,需要用vgdisplay提前查看。
注:如果磁盘容量不足,会有错误提示:”Could****’****t create temporary archive name. Volume group “****centos****”**** metadata archive failed. Internal error:Attemp to unlock unlocked VG #orhans”. 原因是因为磁盘空间实在太小了,无法创建临时文件来操作磁盘空间扩展。解决方法是,删除一些系统中没用的文件,再进行操作。
这时,可以使用pvscan 检查当前系统的pv情况,看看 /dev/sda3上的PV是否建成了。
wKiom1ebFIWBsb_cAAAPtjjOD68394.png-wh_50再接下来,我们需要增大逻辑卷了,这一步主要目的是把刚刚创建的新分区和新物理卷PV /dev/sda3扩展到当前的逻辑卷,让系统能识别并且使用这个新空间。
首先先确认当前的逻辑卷组,使用以下命令:
**lvdisplay **
wKioL1ebFKjTdhNnAABYgpXSwnc322.png-wh_50如图,/dev/centos/root 是当前逻辑卷LV的挂载路径。使用以下命令扩展改逻辑卷:
** lvextend /dev/centos/root /dev/sda3**
wKiom1ebFMnC3MOAAAARZ3hlkGI496.png-wh_50逻辑卷扩展成功!但是还没完,最后,你需要告诉系统有这块新领域,你可以使用了。输入以下命令:
xfs_growfs /dev/centos/root
wKioL1ebFOWA3wsTAAA0a2TNlT8067.png-wh_50注:如果你使用的文件系统是ext,需要使用命令 resize2fs /dev/centos/root
使用df -TH 查看文件系统,一般centos 是xfs, unbuntu是ext3
wKioL1ebFQqTHzddAAAcnX2W5cw535.png-wh_50最后检查一下你的成果吧
** df -h**
wKiom1ebFSrzmv9MAAAhkc6Yhwg507.png-wh_50完