CentOS 63下配置LVM逻辑卷管理.docx
《CentOS 63下配置LVM逻辑卷管理.docx》由会员分享,可在线阅读,更多相关《CentOS 63下配置LVM逻辑卷管理.docx(22页珍藏版)》请在冰豆网上搜索。
![CentOS 63下配置LVM逻辑卷管理.docx](https://file1.bdocx.com/fileroot1/2022-10/29/9745d92a-d647-4742-868a-cd316c650667/9745d92a-d647-4742-868a-cd316c6506671.gif)
CentOS63下配置LVM逻辑卷管理
CentOS6.3下配置LVM(逻辑卷管理)
一、简介
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。
在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。
比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。
因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。
如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。
作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。
基本的逻辑卷管理概念:
PV(PhysicalVolume)-物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(VolumneGroup)-卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。
一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。
LV(LogicalVolume)-逻辑卷
逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。
系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
关系图如下:
PE(PhysicalExtent)-物理块
LVM默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE(lvm1的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。
PE是整个LVM最小的储存区块,也就是说,其实我们的资料都是由写入PE来处理的。
简单的说,这个PE就有点像文件系统里面的block大小。
所以调整PE会影响到LVM的最大容量!
不过,在CentOS6.x以后,由于直接使用lvm2的各项格式功能,因此这个限制已经不存在了。
二、系统环境
实验环境:
OracleVMVirtualBox
系统平台:
CentOSrelease6.3(Final)
mdadm版本:
mdadm-v3.2.6-25thOctober2012
LVM版本:
lvm2-2.02.100-8.el6.i686
设备类型:
分区、物理硬盘、raid设备
三、磁盘准备
在这篇文章中,我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.
四、安装LVM管理工具
4.1检查系统中是否安装了LVM管理工具
#rpm-qa|greplvm
4.2如果未安装,则使用yum方式安装
#yuminstalllvm*
#rpm-qa|greplvm
五、新建一个raid5设备
使用/dev/sdb,/dev/sdc,/dev/sdd,/dev/sde四块物理硬盘做软raid模拟。
#mdadm-C/dev/md5-ayes-l5-n3-x1/dev/sd[b,c,d,e]
写入RAID配置文件/etc/mdadm.conf并做适当修改。
#echoDEVICE/dev/sd{b,c,d,e}>>/etc/mdadm.conf
#mdadm–Ds>>/etc/mdadm.conf
详细请参考上篇文章:
六、新建一个分区
使用/dev/sdf模拟分区。
#fdisk/dev/sdf
#fdisk-l/dev/sdf
准备工作就绪,下面我们使用三种设备/dev/md5、/dev/sdf1、/dev/sdg来完成LVM实验。
七、创建PV
#pvcreate/dev/md5/dev/sdf1/dev/sdg
查看PV
#pvdisplay
还可以使用命令pvs和pvscan查看简略信息。
#pvs
#pvscan
八、创建VG
#vgcreatevg0/dev/md5/dev/sdf1/dev/sdg
说明:
vg0是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.
查看VG
#vgdisplay
说明:
VGName VG的名称
VGSize VG的总大小
PESize PE的大小,默认为4MB
TotalPE PE的总数量,5114x4MB=19.98GB
FreePE/Size 剩余空间大小
同样可以使用命令vgs和vgscan查看。
#vgs
#vgscan
九、创建LV
#lvcreate-L5G-nlv1vg0
说明:
-L 指定创建的LV的大小
-l 指定创建的LV的PE数量
-n LV的名字
上面命令的意思是:
从vg0中分出5G的空间给lv1使用
查看LV的信息
#lvdisplay
说明:
LVPath LV的路径,全名
LVName LV的名字
VGName 所属的VG
LVSize LV的大小
再来看VG的信息
#vgs
VFree从19.98g减少到了14.98g,另外的5g被分配到了lv1.
十、格式化LV
#mkfs.ext4/dev/vg0/lv1
十一、挂载使用
#mkdir/mnt/lv1
#mount/dev/vg0/lv1/mnt/lv1/
#df–TH
将挂载信息写入/etc/fstab
十二、添加测试数据
下面我们将对LVM进行扩容和缩减操作,所以向/mnt/lv1中写入测试数据以验证LVM的磁盘动态管理。
#touch/mnt/lv1/test_lvm_dynamic.disk
#touch/mnt/lv1/test_lvm_dynamic.disk2
#touch/mnt/lv1/test_lvm_dynamic.disk3
#ll/mnt/lv1/
十三、LVM的扩容操作
LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。
假如有一天,lv1的使用量达到了80%,需要扩容,那我们该怎么做呢?
因为vg0中还有很多剩余空间,所以我们可以从vg0中再分配点空间给lv1。
13.1LV的扩容
查看vg0的剩余容量,还有14.98g可用。
对lv1进行扩容。
#lvextend-L+1G/dev/vg0/lv1
说明:
在lv1原有的基础上增加了1G.
查看现在vg0的剩余容量,减少了1G.
再查看lv1的容量,从5G增加到了6G.
使用df–TH命令查看实际的磁盘容量。
发现实际容量并没有变化,因为我们的系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容。
#resize2fs/dev/vg0/lv1
#df–TH
现在的可用容量已经增加到了5.9G。
查看测试数据
数据正常,对lv1的在线动态扩容完成。
还有一种情况,就是假如我们的vg0空间不够用了,怎么办?
这时我们就需要对VG进行扩容。
13.2VG的扩容
VG的扩容可以有两种方法,第一种方法是通过增加PV来实现,操作如下:
A.创建PV,使用/dev/sdh来创建一个PV。
B.扩容VG
现在的vg0容量为19.98g.
#vgextendvg0/dev/sdh
#vgs
现在vg0的容量为24.97g,增加了5GB,即一块物理硬盘的容量,VG扩容成功。
第二种方法是通过扩展RAID设备的容量来间接对VG进行扩容。
这种方法在上一篇文章中有介绍,这里不再赘述,需要注意的地方是,/dev/md5的大小变化后,需要调整PV的大小,操作如下:
#pvresize/dev/md5
十四、LVM的缩减操作
缩减操作需要离线处理。
14.1LV的缩减
A.umount文件系统
B.缩减文件系统
#resize2fs/dev/vg0/lv14G
提示需要先运行磁盘检查。
C.检查磁盘
#e2fsck–f/dev/vg0/lv1
D.再次执行缩减操作
缩减文件系统成功,下面缩减LV的大小。
E.缩减LV
#lvreduce/dev/vg0/lv1–L4G
说明:
StepE和StepD缩减的大小必须保持一致,这里的4G是缩减到的大小;如果使用的是"-4G",则表示容量减少多少的意思。
F.挂载查看
LV缩减成功。
G.查看测试数据
数据正常。
14.2VG的缩减
A.umount文件系统
B.查看当前的PV详情
C.将/dev/sdg从vg0中移除
#vgreducevg0/dev/sdg
D.再次查看PV情况
/dev/sdg已经不属于vg0了。
E.查看vg0的情况
vg0的大小减少了5GB.
VG缩减成功。
十五、删除LVM
如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。
15.1umount文件系统
15.2移除LV
#lvremove/dev/vg0/lv1
15.3移除VG
#vgremovevg0
15.4移除PV
#pvremove/dev/md5/dev/sdf1/dev/sdg/dev/sdh
LVM移除成功。
十六、LVM快照(snapshot)
快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享。
LVM系统快照区域的备份示意图(虚线为档案系统,长虚线为快照区)
左图为最初建立系统快照区的状况,LVM会预留一个区域(左图的左侧三个PE区块)作为数据存放处。
此时快照区内并没有任何数据,而快照区与系统区共享所有的PE数据,因此你会看到快照区的内容与文件系统是一模一样的。
等到系统运作一阵子后,假设A区域的数据被更动了(上面右图所示),则更动前系统会将该区域的数据移动到快照区,所以在右图的快照区被占用了一块PE成为A,而其他B到I的区块则还是与文件系统共享!
快照区与被快照的LV必须要在同一个VG里。
16.1建立LV
#lvcreate-L100M-nlv1vg0
#mkfs.ext4/dev/vg0/lv1
#mount/dev/vg0/lv1/mnt/lv1/
16.2写入测试数据
#touch/mnt/lv1/test_lvm_