这一节学习了如何创建LVM,LVM的快照以及RAID的相关配置。

对于普通的分区,扩展度不高,一旦分区格式化完成,很难灵活的再增加或者减少分区大小。为了解决这个问题,可以使用LVM(逻辑卷)。基本过程是把物理磁盘或者分区初始化称为物理卷(PV),然后把PV加入VG(卷组),最后在VG上划分逻辑的分区(LVM),LVM可以当做普通的分区进行格式化和挂载。

首先看看PV

先通过gdisk把一块新磁盘划分了6个分区,每个分区2G,都设置为LVM类型

创建PV

创建完PV,之后,需要创建VG,然后添加PV到VG中

可以通过vgdisplay查看具体的信息,注意PE的Size是4M,这个是增减的最小计算单位

输入vg ,tab两次可以查看相关的命令

我们可以继续往vg里面添加新的分区

我之前并没有把sdc7转化为pv,而是直接添加到vg里面,不过一旦添加了他自动就初始化成pv了

可以添加 自然可以减少

VG准备就绪,可以创建了LVM了

LV相关的命令如下所示,可以添加,减少,显示,转换等等

创建一个110M大小的逻辑卷

确认

注意看他的大小其实是112M,因为PE的大小是4M,这个4M是最小单位,不能破开,因此28个PE就是112M

112除以4刚好28

大L可以直接指定大小,小l是指定多少个PE的值

也可以设置剩余空间的百分比

删除逻辑卷

对已经创建的逻辑卷,可以当做普通分区一样格式化和挂载

扩展一个逻辑卷200M,注意他的文件系统仍然是109M没有改变,我们还需要填充文件系统的空白。这个类似windows 虚拟机里面扩大了硬盘,一样需要用diskpart的extend命令来扩展文件系统一样。

RHEL里面可以用xfs_growfs来扩大XFS文件系统,也可以直接用resize2fs 来处理设备

注意的是 XFS系统只能增长,不能减少! 因此如果需要减少LVM的话,分区只能使用ext4了

下面演示一下如何对ext4的LVM进行扩建或缩小

先创建一个100M的lv2

挂载到/bb

扩建lvm:

扩大100M

填充文件系统

缩小lvm:

然后umount,检查lv2的文件系统是否有错误,然后首先需要减少文件系统的大小,这里减少到120M

然后减少lvm的大小,减少了70M 

lvm除了可以增加,减少之外,还可以做快照。很多备份软件的原理,比如虚拟机就是对磁盘进行快照,然后对快照备份;如果备份的时间内又写入了新的信息,这些信息保存在新的快照中,备份完了之后再把这些改变写回磁盘;如果快照的空间不足了,可以想象后果是灾难性的;豆子在VEEAM B&R和ESXi上就遇见了很多次类似的问题。

创建快照,指定空间100M ,可以查看快照的信息

创建一个挂载点,挂载快照, bb里面挂载的是我的原有lvm,cc里面是快照,可以发现他们内容是一样的

在bb和cc个写入一个文件看看,没有问题

可以通过 lvconvert把快照的内容重新写回原有的lvm

例如

重启之后发现 /bb里面手动创建的文件没有了,但是快照里面的内容都写进去了

最后看看软RAID怎么配置。RAID基本原理不赘述了,这个属于IT常识。 Windows从 win2000开始就可以设置软raid,RHEL也有类似的功能。 个人觉得软raid没啥用,毕竟这年头主板几乎都支持硬raid的设置了,生产环境里也没人会做服务器上做个软raid,这些都在主机硬盘或者SAN上配置好了。

简单的看看软raid的创建和删除,使用的命令是mdadm

创建了一个raid5,

查看细节

可以进行格式化和挂载

删除卸载raid