- A+
前言:数据无价,谨慎操作!
前言:数据无价,谨慎操作!
前言:数据无价,谨慎操作!
前期环境
lsblk 查看磁盘情况和磁盘的分区
可以看到我们只有一块硬盘 即sda 现在模拟真实环境 新增一块硬盘
知识小课堂 - 什么是LVM?
在扩容前,我们需要大概了解一下,什么是PV、LV、VG,他们之间的联系是什么,为了便于直观和理解,此次我们会用Windows来举例
-
pv是我们的物理卷,也就是我们俗称的硬盘空间
-
vg是我们的卷组,可以看成windows的盘符,或者叫们D盘,是我们的设备
-
lv是我们的文件夹,可以看成windows的D盘里面的一个文件夹,最终会变成我们Linux下的一个挂载分区
所以我们顺序是新加PV,扩容VG,实现LV的增大
不严谨的来说,我们Linux下的挂载分区,类似于我们D盘下的某个文件夹,但是Windows中使用文件夹大小是以硬盘来算的,Linux则不是。我们需要扩容的是Linux的文件夹,而不是硬盘
开始扩容
因为是新加的硬盘,我们首先需要给硬盘分一个区,类似Windows未格式化的硬盘分区一个D盘。
使用fdisk来操作磁盘
fdisk <磁盘路径>
不同操作系统的磁盘命名方式不同,有些是/dev/vda
fdisk只能操作2T以下的,如果你的磁盘总空间大于2T,而你又已经分区,你需要完全卸载这个分区,甚至格式化才能继续操作。
用n创建新分区,p是创建主分区。
知识小课堂 - 分区
图上是我的U盘,整个空间都是叫做E盘的东西,而这个E盘就叫做主分区。主分区可以是一整个空间
再看我的硬盘,0号分区就是我的主分区,只是Windows不一样,主分区只能用来引导,放Windows最最最必要的东西(系统BOOT引导程序)
MSR分区是Windows的保留分区,可以忽略。
那么,C盘和D盘就是我的主分区拓展分区
如果将来硬盘1被扩容,那我就加个F盘。这次不是单独扩容硬盘,本次不提
现在看硬盘2,硬盘2假设是全新的硬盘,那么地球人都知道硬盘需要先格式化才能用,那么格式化前,和Windows一样,你要选择一些东西。
Windows格式化
Linux格式化前分区
P:主分区
1:分区号
起扇区和Last扇区,其实就是Windows中的容量。全部使用默认即可。
输入p我们可以看到,有一个“设备“
知识小课堂 - 设备
在Linux中,我们没有“盘符”的概念,而是使用设备,一个设备就是一个D盘
如果设备的ID是83,那么这个设备就是普通的分区,以后无法扩容,如果我们需要可以扩容的分区,我们回退直接退出,重新分区。
我们选择8e,8e是LVM类型,也就是文章开头说的东西了。
由于Linux一切都是文件的特性,新加了文件,系统是不会自动识别的,我们最好通知系统,我们的硬盘设备增加了(分区改变了)
partprobe
此时,我们已经分区好了,熟悉Windows重装的人都知道,分区好了,不代表可以用了,举个例子如下图
我们还需要点“确定”开始格式化
此时还不急,我们需要先初始化LVM的有关设定
LVM扩容
把刚刚新加的硬盘的所有空间(PV)增加到我们的VG中
这里是在扩容LV的同时创建PV卷的哦
知识小课堂 - PV和LV
我们已经知道PV是真实的硬盘空间,那为什么是PV插入到LV中呢?
因为LV是我们的设备,而Linux下,我们挂载目录,需要挂载到设备中,如果这一点都没有理清,可能我们要远离Linux了
vgextend <VG名> <设备>
Volume group "<VG名>" successfully extended –硬盘扩容成功,如果不出现这个提示,你可能翻车了
我们看看我们的pv lv和vg的情况
很成功,可以看到,我们多了一份真实空间(PV),而我们的LV不需要增加,除非我们需要一个新的挂载目录(LV)
我们通知LV,你的空间增加
lvextend -l +100%FREE <挂载目录的文件系统>
好了,那我们PV和LV都好了,那我们最后就要通知VG增加了
xfs_growfs <挂载目录的文件系统>
至此,我们的磁盘已经扩容完成。