Linux系统磁盘扩容(LVM)

本文档主要是介绍如何在KVM主机上扩容安装了Linux系统的虚拟机磁盘容量。

一、操作环境

操作系统版本:CentOS Linux release 7.5.1804 (Core)

虚机系统版本:CentOS Linux release 7.3.1611 (Core)

当前硬盘大小:18 GB

计划硬盘扩容大小:30 GB

二、Linux磁盘管理基础知识

物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。

卷组(Volume Group,VG):是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。

逻辑卷(Logical Volume,LV):类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。

在Linux中规定,每个硬盘设备最多只能由4个主分区(其中包括一个扩展分区)构成任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。(Linux 下面每一个硬盘总共最多有16 个分区) 

三、确认分区类型

由于本方法只针对LVM类型的分区,故在扩容之前先通过以下命令检查分区类型是否为Linux LVM类型,使用fdisk -l查看磁盘情况。

图片

如上图所示,/dev/sda2在system一栏中被标记为Linux LVM类型,他们的Id是8e,8e代表Linux LVM, 83代表Linux Native分区。确认为LVM之后,继续我们的扩容工作。

下图使用df -h命令,查看当前系统磁盘容量和使用情况,目前的大小大约有18 GB,计划扩展12GB,总容量达到30GB。我们打算把12GB的新磁盘扩展到/dev/mapper/VolGroup-lv_root这个目录下面。

图片

注:因为LVM是逻辑卷磁盘管理程序,故/dev/mapper/VolGroup-lv_root实际上是在/dev/sda2上,所以在fdisk中显示的设备信息中只有/dev/sda2的分区类型,而看不到/dev/mapper/VolGroup-lv_root分区,因为它只是逻辑上存在。所以需要确认分区类型的是/dev/sda2而不是/dev/mapper/VolGroup-lv_root。

四、增加虚拟磁盘大小

将虚拟机关机,使用命令调整虚拟磁盘大小,如下:

qemu-img resize /data/kvm/14-releaseserver.qcow2 +12G

virsh define 14-releaseserver.xml

五、发现新磁盘

在虚拟机系统中执行如下命令扫描磁盘信息:

echo “- - -“ > /sys/class/scsi_host/hostX/scan

图片

扫描或者重启虚拟机,使用fdisk -l查看是否系统识别到新增的磁盘空间,如图所示,磁盘大小从18GB已经变为到30GB。

图片

六、给新磁盘分区

新的磁盘被识别到了,现在需要给磁盘分区,让系统能使用到这个新的磁盘空间。现在要在磁盘/dev/sda上分区(注意:linux中一块硬盘的主分区个数不能超过4个。目前sda1,sda2已经占用了两个分区名额,新增的分区应该为第三个主分区,即sda3)。

现在开始给磁盘/dev/sda分区。输入以下命令:fdisk /dev/sda

图片

如果需要帮助,你可以输入m获取更多信息。现在我们来创建新分区,输入n

图片

再输入p,代表我们现在要创建一个主分区,注:2 primary,0 extended,2 free表示目前我们这块硬盘上有2个主分区,0个拓展分区,还可以再创建2个主分区。

图片

输入3,代表创建分区sda3

图片

接下来指定起始扇区和Last扇区,只要敲两下回车键,选择默认值就好了。至此,分区工作已完成。

图片

现在要给新建分区指定分区类型,输入t,再输入3,表示选择新建的sda3分区,最后输入8e,代表选择的是LVM类型。

图片

最后输入w保存。

图片

可以用fdisk -l查看你新建的分区sda3。

图片

七、新增逻辑卷LV

分区建好了,为了让之后的LVM可以使用到这个分区,在不重启电脑的前提下,可以使用partprobe命令刷新分区表,在新的分区/dev/sda3上创建物理卷PV,输入命令: pvcreate /dev/sda3

图片

接下来,我们需要先确认卷组(VG),使用以下命令:vgdisplay

图片

现在开始扩容VG大小,使用以下命令:vgextend VolGroup /dev/sda3

图片

注:VolGroup是本机的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是否建成。

图片

再接下来,需要增大逻辑卷了,这一步主要目的是把刚刚创建的新分区和新物理卷PV /dev/sda3扩展到当前的逻辑卷,让系统能识别并且使用这个新空间。

八、 扩展逻辑卷

首先先确认当前的逻辑卷组,使用以下命令:lvdisplay

图片

如图,/dev/VolGroup/lv_root是当前逻辑卷LV的挂载路径。使用以下命令扩展修改逻辑卷:lvextend /dev/VolGroup/lv_root /dev/sda3

图片

逻辑卷扩展成功!然后告诉系统有这块新区域可以使用。输入以下命令:

resize2fs /dev/VolGroup/lv_root

图片

注:如果使用的文件系统是ext,需使用命令resize2fs /dev/VolGroup/lv_root

如果系统是CentOS 7,使用命令xfs_growfs /dev/VolGroup/lv_root

使用df -TH查看文件系统,一般CentOS 7是xfs, unbuntu是ext3

图片

九、验证扩容结果

最后检查根分区是否已经扩容成功。

图片

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

混沌运维

点赞是美德,赞赏是鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值