详解LVM工作原理及企业中高级应用实例分析
LVM(逻辑卷)介绍:
Linux LVM是由Heinz Mauelshagen开发的,于于1998年发布到Linux社区。它允许你在Linux系统上用简单的命令行管理一个完整的逻辑卷管理环境。
Linux LVM有两个可用的版本:
LVM-1:最初的LVM与1998年发布,只在Linux内核2.4版本上可用。它提供最基本的逻辑卷管理。
LVM-2:LVM-1的更新版本,在Linux内核2.6中才可用,它在标准的LVM-1功能外还提供了额外的功能。
LVM 是一个应用于 Linux 内核的本地卷管理器 (Logical Volume Manager)。
LVM的基本模块如下:
Physical volume (PV)、Volume group (VG)、Logical volume(LV)、 Physical extent (PE):
下面我们用一个简单的图来说明下物理卷、卷组、逻辑卷他们之间的关系(此图只是个人理解,仅供参考)
简而总之的概括:
逻辑卷的创建,就是将多块硬盘创建物理卷,而将这些物理卷以逻辑的形式总成一个容器,然后从这个容器里面创建大小不同的分区文件,而这个容器就是所谓的逻辑卷,而从这个容器里创建大小不同的分区文件,这个分区文件就叫做逻辑卷。
好了,大家对关于物理卷、卷组、逻辑卷有一定的了解,那么我们利用下面的实验来更详细的认识LVM的组成及管理、移除等相关命令的使用:
实验操作思路:
<1>:对添加的硬盘进行分区(fdisk /dev/[hs]d[a-z] <2>:对创建的分区创建物理卷(pvcreate) <3>:给逻辑卷创建以个逻辑容器(卷组) <4>:在卷组创建大小不同的逻辑卷(lvm) <5>:给以存在的卷组扩大容量 <6>:实现在线扩大LVM容量 <7>:实现缩减LVM容量(不支持在线缩减) <8>:减小卷组容量 <9>:利用给LVM创建快照,并完成备份并还原数据
下面就根据以上内容,做详细的讲解:(笔者难免在操作时出现错误,忘博友提出宝贵建议,笔者会在第一时间内修改博文)
第一步:
创建分区:sda5 、sda6 、sda7各100M 这里我们不在介绍( 可以到上一篇内容查看创建分区的步骤),这里我们只需要把分区类型改为8e即可完成分区的创建及修改分区支持的文件系统类型格式。
第二步:
将物理分区创建为物理卷(pvcreate) # pvcreate /dev/sda{5,6}
将物理卷(pv)创建为卷组(vgcreate),名为myvg # vgcreate myvg /dev/sda{5,6}
第四步:
在卷组里创建逻辑卷/dev/myvg/text,大小为120M格式化为ext3,并挂载到/mnt/lvm目录 # lvcreate -L 120M -n text myvg # mke2fs -j /dev/myvg/text # mount /dev/myvg/text /mnt/lvm # cp /etc/inittab /etc/passwd /mnt/lvm (将/etc目录下inittab、passwd文件copy到/mnt/lvm,做测试使用)
第五步:
发现卷组空间不够,我们扩大卷组空间 # pvcreate /dev/sda7 # vgcreate myvg /dev/sda7
第六步:
扩展逻辑卷:(支持在线扩展) 将/dev/myvg/text 扩展到200M,并且要求数据可以正常访问 # lvextend -L 200M /dev/myvg/text # resize2fs -p /dev/myvg/text
第七步:
缩减逻辑卷 <1>、查看逻辑卷使用空间状况 <2>、不能在线缩减,得先卸载; <3>、确保缩减后的空间大小依然能存储原有的所有数据; <4>、在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态; 将/dev/myvg/text 缩减到50M,并且要求数据可以正常访问 (所以我们就按上面的提示在操作) # df -lh /dev/myvg/text # umount /dev/myvg/text # e2fsck -f /dev/myvg/text # resize2fs /dev/myvg/text 50M # lvreduce -L 50M /dev/myvg/text # lvs
第八步:
缩减磁盘容量 发现空间很足,将其中一块硬盘或分区拿掉 # pvmove /dev/sda5 # vgreduce myvg /dev/sda5 # pvremove /dev/sda5
第九步:
实现快照,进行备份还原 将/mnt/lvm目录上,我们将原始的目录文件进行快照,然后将/mnt/lvm目录中的内容清空,并进行还原
注:了解以上步骤操作的含义,笔者相信博友应该对LVM有更深的认识,以上操作均在VMware Workstation模拟真实环境来操作。
转载于:https://blog.51cto.com/guodayong/1153687