Linux系统逻辑卷管理

1.lvm简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。

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

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

2.基本的逻辑卷管理概念:

PV(Physical Volume)- 物理卷
物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。

VG(Volumne Group)- 卷组
卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

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 的最大容量!不过,在 CentOS 6.x 以后,由于直接使用 lvm2 的各项格式功能,因此这个限制已经不存在了。

这里写图片描述

3.安装LVM管理工具

rpm -qa | grep lvm      ##检查系统中是否安装了LVM管理工具
yum install lvm         ##使用yum 方式安装

4.建立LVM

首先要fdisk建立分区,特别要注意的是Linux的LVM的格式为8e,做之前用watch命令监控
watch -n 1 'pvs;echo ====;vgs; echo ====;lvs; echo ====;df -h /mnt'
df -h /mnt                    ##查看/mnt可以使用的设备的情况
fdisk /dev/vdb              ##建立分区
pvcreate /dev/vdb1          ##将分区转化成物理卷
vgcreate vg0 /dev/vdb1      ##把物理卷制作成一个物理组
lvcreate -L 100M -n lv0 vg0 ##在这个物理组中建立出一个设备,-L 指定设备大小, -n 指定设备名字

5.扩展LVM

注:在xfs系统中,xfs文件系统只能扩大不能缩减
lvextend -L 150M /dev/vg0/lv0     ##扩大lvm设备到150M
xfs_growds /dev/vg0/lv0           ##将xfs文件系统扩大到设备一样大小
fdisk /dev/vdb                    ##再建立一个分区
partprobe                         ##同步分区信息表
pvcreate /dev/vdb2                ##在pv中增加一块设备
vgextend vgo /                    ##将新建立的设备增加到vg0中
lvextend -L 300M /dev/vg0/lv0     ##扩大到300M
xfs_growfs /dev/vg0/lv0           ##将xfs文件系统扩大到设备

6.缩减LVM

注:xfs系统不能缩减,etx4系统可以,所以进行缩减的时候,先将xfs格式文件转化为ext4,格式化前必须取消挂载
umount /mnt/                  ##卸载
blkid                         ##查看磁盘文件系统
mkfs.ext4 /dev/vg0/lv1        ##如果不是ext4文件系统的,格式化为ext4
e2fsck -f /dev/vg0/lv0        ##检测磁盘内容防止内容丢失
resize2fs /dev/vg0/lv0 200M   ##磁盘分区缩减
mount /dev/vg0/lv0 /mnt/      ##挂载
lvreduce -L 200M /dev/vg/lv0  ##磁盘设备缩减到200M

7.LVM快照

1 umount /mnt/                                  ##取消挂载
2 lvcreate -L 40M -n lvmkz -s /dev/vg0/lv0      ##快照大小一般是原设备的1/5, -s是模板对象
3 mount /dev/vg0/lvmkz /mnt/                    ##挂载
4 umount /mnt/                                  ##取消挂载
5 lvremove /dev/vg0/lvmkz                       ##删除快照
6     lvcreate -L 20M -n lvmkz -s /dev/vg0/lv0  ##重新拍照
在快照前建立的文件,删除后,再通过快照可以恢复。因为挂载到上面的只是数据备份,删除了也不会影响原文件。但是在快照之后存储的数据会被永久性删除。

8.删除LVM

删除顺序和建立顺序相反
umount /mnt/
df
lvremove /dev/vg0/lvmkz            ##删除快照
lvremove /dev/vg0/lv0              ##删除逻辑卷
vgremove  vg0                      ##删除物理组
pvremove  /dev/vdbn(n=1..n-1,n)    ##删除物理卷
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值