LVM逻辑卷与条带卷管理

LVM管理

逻辑卷管理器LVM(Logical Volume Manager)在硬盘分区和文件系统之间添加了一个逻辑层,提供了一个抽象的卷组,允许多块硬盘进行卷组合并,不必关注物理硬盘设备的底层架构和布局,实现对硬盘资源的动态调整。

条带化逻辑卷在物理卷上平均写入数据,当数据写入条带化逻辑卷时,数据将条带化到所有磁盘上,从而提高IO性能

1.物理卷 PV 实际的存储设备
2.卷组 VG 将多个PV组合成一个灵活的存储池
3.逻辑卷 LV VG内的虚拟分区,用户直接与其交互(相当于磁盘分区)
4.物理扩展 PE PV中的最小存储单位
5.逻辑扩展 LE 类似于PE,位于LV中
6.元数据 描述PV、VG、LV的配置信息

安装管理lvm2的工具包
yum -y install lvm2

0.磁盘分区(fdisk/parted)

fdisk /dev/vdc  #对磁盘进行分区
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p  #查看分区情况

Disk /dev/vdc: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9f54c368

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n  #创建分区,p是主分区,e是扩展分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p  #创建主分区
Partition number (1-4, default 1):  #分区编号,默认第一个分区
First sector (2048-209715199, default 2048):  #分区起始扇区
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): +50G  #分区大小50G
Partition 1 of type Linux and of size 50 GiB is set

Command (m for help): t  #更改分区类型
Selected partition 1
Hex code (type L to list all codes): 8e  #选择逻辑卷类型,对应编号8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p  #查看完成的分区

Disk /dev/vdc: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9f54c368

   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1            2048   104859647    52428800   8e  Linux LVM

Command (m for help): w  #保存分区表
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

fdisk -l /dev/vdc #查看分区格式
lsblk -f #查看分区信息

在这里插入图片描述


parted /dev/vdb #进入分区向导
mklabel gpt #创建分区表
unit GB #分区大小设置为GB为单位
mkpart primary 0 50GB #创建第一个20GB的分区
mkpart primary 50 100GB #创建剩下的分区
print #验证分区信息
quit #退出
lsblk -f #查看分区信息

在这里插入图片描述

1. 管理物理卷

lsblk	#查看添加好的物理硬盘
parted /dev/vdb print #详细查看磁盘信息
pvcreate /dev/vdb	#创建物理卷
pvscan #扫描物理卷
pvs	#查看物理卷信息
pvdisplay	#查看详细信息
pvremove #移除物理卷

在这里插入图片描述

2.管理卷组

vgcreate vg_data /dev/vdb /dev/vdc1	 #创建卷组
vgs	#查看卷组信息
vgdisplay	#查看详细信息
vgreduce vg_data /dev/vdb #从卷组中移除物理卷
vgremove vg_data #移除整个卷组
vgextend vg_data /dev/vdb #扩展物理卷到卷组

vgcreate -s 2M vg_test /dev/vdb  #可指定大小创建vg

在这里插入图片描述

3.管理逻辑卷/条带卷

lvcreate -l 100%FREE vg_data -n lv_data  #将卷组所有空间创建成逻辑卷

lvcreate -L 20G -n lv_data vg_data	#创建逻辑卷(20G大小,命名为lv_data)
lvcreate -L 20G -i 4 -I 128k -n lv_data vg_data /dev/sd[a-d]	#创建条带卷(20G大小,4个条带数量,128k单个条带大小)
lvdisplay	#查看详细信息
lvdisplay /dev/vg_data/lv_data -m	#查看条带卷信息
lvremove /dev/vg_data/lv_data	#删除逻辑卷

在这里插入图片描述

4.验证条带卷使用的磁盘

dmsetup deps /dev/vg_data/lv_data	#列出磁盘中的major和minor号对照磁盘是否一致

5.格式化并挂载条带卷

mkdir /data
mkfs.xfs -f /dev/vg_data/lv_data	#格式化条带卷(设备映射文件/dev/卷组名称/逻辑卷名称)
mount /dev/vg_data/lv_data /data/	#挂载条带卷

6.扩容以及缩容逻辑卷

1)物理卷和逻辑卷扩容
pvcreate /dev/vdc #创建物理卷
y #确定
pvs #查看物理卷
vgextend  vg_data /dev/vdc #扩容卷组
partprobe #同步信息到内核
vgs #查看卷组
lvs #查看逻辑卷
lvextend -L +20G /dev/vg_data/lv_data	#扩容20G
lvextend -l +100%FREE /dev/mapper/vg_data-lv_data #扩容逻辑卷
lvs #查看逻辑卷扩容后情况
partprobe #同步信息到内核
lsblk -f #查看扩容信息
xfs_growfs /dev/vg_data/lv_data  #手动同步到系统内核
df -h #验证文件系统大小

2)逻辑卷缩容
umount /data	#先卸载文件系统
e2fsck -f /dev/vg_data/lv_data	#核对系统完整性(支持ext4/ext3/ext2格式)
resize2fs /dev/vg_data/lv_data	#手动同步到系统内核(支持ext4/ext3/ext2格式)
lvreduce -L 20G /dev/vg_data/lv_data	#缩容到20G
e2fsck -f /dev/vg_data/lv_data	#重新核对系统完整性
mount /dev/vg_data/lv_data /data #重新挂载
mount -av	#验证开机自动挂载
df -h #验证文件系统大小

7.卸载并还原磁盘

umount /data	#卸载条带卷
lvremove /dev/vg_data/lv_data	移除条带卷
vgremove /dev/vg_data	#移除卷组
pvremove /dev/sd[a-d]	#移除物理卷

8.进行格式化挂载使用

mkdir /data	#创建挂载目录
mkfs.xfs /dev/vg_data/lv_data	#格式化逻辑卷
lsblk -f  #查看磁盘信息
mount /dev/vg_data/lv_data /data  #挂载目录使用
blkid /dev/vg_data/lv_data  #查看逻辑卷UUID
vim /etc/fstab  #在配置文件写入UUID
mount -a #检查配置文件

LVM机制提供对LV做快照的功能,就是给文件系统做备份。LVM的快照功能采用写时复制技术COW(Copy-On-Write),比传统备份效率要高。创建快照时不用停止服务,还支持thin类型快照。(一般快照COW类型)LVM创建指仅创建到实际数据的inode的硬连接(hard-link),实际数据不变,那快照只包含指向数据的inode的指针,非数据本身。

9.快照功能

先确保卷组有存储快照的空间,然后卸载设备(一般操作都需要提前umount)


lvcreate -L 20G -n lv_data vg_data	#创建lv
mkdir -p /data/
mount /dev/vg_data/lv_data /data	#创建测试文件
cat > /data/lvm.txt << EOF
Hello linux
test lvm
EOF

lvcreate -L 2G  --snapshot -name snap_data vg_data/lv_data	#创建snapshot快照
lvs	#查看创建的快照
vgs #确定新增snapshot的数量
lsblk	#验证挂载情况

rm -rf /data/*	#删除测试文件
lvconvert --merge /dev/vg_data/snap_data	#恢复快照
umount /dev/vg_data/lv_data
lvchange -a n /dev/vg_data/lv_data	#停用lv
lvchange -a y /dev/vg_data/lv_data	#激活lv
mount /dev/vg_data/lv_data /data	
ls /data	#验证恢复文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值