LVM卷管理

一、LVM简介

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM的工作原理:

它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。


LVM特点

可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

基本的逻辑卷管理概念:
PV(Physical Volume)-物理卷物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。
VG(VolumneGroup)-卷组卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)-逻辑卷逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

PE(Physical Extent)-物理块

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 的各项格式功能,因此这个限制已经不存在了。

二、LVM卷管理

1)磁盘准备

我们将模拟raid5、分区、物理硬盘三种类型设备创建VG,raid5 需要四块硬盘,分区和物理硬盘各一块硬盘,还有扩容时需要至少一块硬盘,所以在虚拟机里添加八块硬盘,每块5GB.

2)安装LVM管理工具
检查系统中是否安装了LVM管理工具
# rpm -qa|greplvm
如果未安装,则使用yum 方式安装
# yum install lvm*

# rpm -qa|greplvm

3)新建一个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并做适当修改。
# echo DEVICE /dev/sd{b,c,d,e} >> /etc/mdadm.conf

# mdadm–Ds >> /etc/mdadm.conf

4)新建一个分区


5)创建PV

# pvcreate/dev/md5 /dev/sdf1 /dev/sdg

查看PV:# pvdisplay


还可以使用命令pvs和pvscan查看简略信息。



6)创建VG

# vgcreatevg0 /dev/md5 /dev/sdf1 /dev/sdg

说明:vg0 是创建的VG设备的名称,可以随便取;后面接上述的三个设备,也就是把三个设备组合成一个vg0.

查看VG


同样可以使用命令vgs和vgscan查看。



7)创建LV
# lvcreate-L 5G -n lv1 vg0
说明:

-L指定创建的LV 的大小

-l指定创建的LV 的PE 数量

-nLV的名字

上面命令的意思是:从vg0 中分出5G的空间给lv1 使用

查看LV的信息


说明:
LV PathLV的路径,全名
LV NameLV的名字
VG Name所属的VG

LV SizeLV的大小

再来看VG 的信息


VFree从19.98g 减少到了14.98g,另外的5g 被分配到了lv1.

8)格式化LV

# mkfs.ext4 /dev/vg0/lv1

9)挂载使用
# mkdir/mnt/lv1
# mount /dev/vg0/lv1 /mnt/lv1/

# df–TH


将挂载信息写入/etc/fstab


10)添加测试数据
下面我们将对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的扩容操作

1)LV的扩容

查看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的在线动态扩容完成。

2)VG的扩容
VG的扩容可以有两种方法,第一种方法是通过增加PV来实现,操作如下:

A. 创建PV,使用/dev/sdh来创建一个PV。


B. 扩容VG


第二种方法是通过扩展RAID设备的容量来间接对VG进行扩容:

A.向RAID 中新加一块硬盘


B./dev/md5 的大小变化后,调整PV的大小


四、LVM的缩减操作

缩减操作需要离线处理。

1)LV的缩减

A. umount文件系统


B. 缩减文件系统


C. 检查磁盘


D. 再次执行缩减操作


E. 缩减LV


说明:Step E 和Step D 缩减的大小必须保持一致,这里的4G是缩减到的大小;如果使用的是"-4G",则表示容量减少多少的意思。

F. 挂载查看


LV 缩减成功。

G. 查看测试数据


2)VG的缩减

A. umount文件系统


B. 查看当前的PV详情


C. 将/dev/sdg从vg0 中移除


D. 再次查看PV情况


/dev/sdg已经不属于vg0了。

E. 查看vg0 的情况


vg0 的大小减少了5GB.

VG 缩减成功。

五、删除LVM

如果要彻底的来移除LVM的话,需要把创建的步骤反过来操作。

umount文件系统


移除LV


移除VG


移除PV

六、快照

快照就是将当时的系统信息记录下来,就好像照相一样,未来若有任何资料变动了,则原始资料会被移动到快照区,没有被改动的区域则由快照区与档案系统共享。

1)建立LV
# lvcreate-L 100M -n lv1 vg0
# mkfs.ext4 /dev/vg0/lv1

# mount /dev/vg0/lv1 /mnt/lv1/

2)写入测试数据


3)创建快照
# lvcreate-L 80M -s -n lv1snap /dev/vg0/lv1

说明:为/dev/vg0/lv1 创建一个大小为80M,名称为lv1snap 的快照。



4)将刚才创建的快照挂载查看


/mnt/lv1 和/mnt/snapshot 是一模一样的。

5)进行档案的修改操作


6)再次查看



7)对snapshot 里的资料进行打包备份,准备还原


8)卸载并移除snapshot


9)卸载并格式化/mnt/lv1,清空数据


10)恢复数据


可以看到,原始数据已经成功恢复。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值