searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

lvm2的快照简介

2023-12-14 05:59:52
26
0
  1. Lvm介绍:

Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于该机制实现的。

 

Lvm2(Logical Volume Manager)是建在物理存储设备上的一个抽象层,将物理块设备抽象成虚拟块设备,以实现动态大小调整,快照,软raid等功能。

  1. Lvm快照创建流程:
  • 创建pv

pvcreate  /dev/sd{e,f}  (创建两个pv: /dev/sde和/dev/sdf)

 

  • 创建vg

vgcreate vg1  /dev/sde /dev/sdf 

 

  • 创建lv

lvcreate -L 100G -n lvol0 vg1

 

  • 创建lvlvol0的快照

Lvcreate -L 20G -s -n snap_1 /dev/vg1/lvol0

 

 

此时查看lv简单信息:

# lvs

  LV     VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lvol0  vg1 owi-aos--- 100.00g

  snap_1 vg1 swi-a-s---  20.00g      lvol0  0.21

# lsblk

sde                8:64   0   5.5T  0 disk

├─vg1-lvol0-real 253:0    0   100G  0 lvm

│ ├─vg1-lvol0    253:1    0   100G  0 lvm  /mnt/test

│ └─vg1-snap_1   253:3    0   100G  0 lvm

└─vg1-snap_1-cow 253:2    0    20G  0 lvm

   └─vg1-snap_1   253:3    0   100G  0 lvm…

# dmsetup deps

vg1-snap_1: 2 dependencies      : (253, 2) (253, 0)

vg1-lvol0: 1 dependencies       : (253, 0)

vg1-snap_1-cow: 1 dependencies  : (8, 64)

vg1-lvol0-real: 1 dependencies  : (8, 64)

检查vg状态:

# vgdisplay

Alloc PE / Size       30720 / 120.00 GiB

 

 

可以看出总共从vg分配了120G空间,100G的vg1-lvol0-real是原始lvm,20G的vg1-snap_1-cow是快照保存自己数据的COW lvm。

注意snap lvm的大小小于等于原始lvm的大小,当原始lvm有写操作时,snap跟踪原始lvm块的改变,这个时候原始lvm上将要改变的数据在改变之前被拷贝到snap预留的空间里。但如果cow lvm被写满,这个snap lvm会被立刻释放,从而无法使用。直接挂载snap lvm即可得到快照的内容,但是,由于snapshot和源lvm的关系,snapshot只能够临时使用,不能脱离源lvm而存在。

0条评论
0 / 1000
杨****隽
2文章数
0粉丝数
杨****隽
2 文章 | 0 粉丝
杨****隽
2文章数
0粉丝数
杨****隽
2 文章 | 0 粉丝
原创

lvm2的快照简介

2023-12-14 05:59:52
26
0
  1. Lvm介绍:

Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略,当前比较流行的 Linux 下的逻辑卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基于该机制实现的。

 

Lvm2(Logical Volume Manager)是建在物理存储设备上的一个抽象层,将物理块设备抽象成虚拟块设备,以实现动态大小调整,快照,软raid等功能。

  1. Lvm快照创建流程:
  • 创建pv

pvcreate  /dev/sd{e,f}  (创建两个pv: /dev/sde和/dev/sdf)

 

  • 创建vg

vgcreate vg1  /dev/sde /dev/sdf 

 

  • 创建lv

lvcreate -L 100G -n lvol0 vg1

 

  • 创建lvlvol0的快照

Lvcreate -L 20G -s -n snap_1 /dev/vg1/lvol0

 

 

此时查看lv简单信息:

# lvs

  LV     VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lvol0  vg1 owi-aos--- 100.00g

  snap_1 vg1 swi-a-s---  20.00g      lvol0  0.21

# lsblk

sde                8:64   0   5.5T  0 disk

├─vg1-lvol0-real 253:0    0   100G  0 lvm

│ ├─vg1-lvol0    253:1    0   100G  0 lvm  /mnt/test

│ └─vg1-snap_1   253:3    0   100G  0 lvm

└─vg1-snap_1-cow 253:2    0    20G  0 lvm

   └─vg1-snap_1   253:3    0   100G  0 lvm…

# dmsetup deps

vg1-snap_1: 2 dependencies      : (253, 2) (253, 0)

vg1-lvol0: 1 dependencies       : (253, 0)

vg1-snap_1-cow: 1 dependencies  : (8, 64)

vg1-lvol0-real: 1 dependencies  : (8, 64)

检查vg状态:

# vgdisplay

Alloc PE / Size       30720 / 120.00 GiB

 

 

可以看出总共从vg分配了120G空间,100G的vg1-lvol0-real是原始lvm,20G的vg1-snap_1-cow是快照保存自己数据的COW lvm。

注意snap lvm的大小小于等于原始lvm的大小,当原始lvm有写操作时,snap跟踪原始lvm块的改变,这个时候原始lvm上将要改变的数据在改变之前被拷贝到snap预留的空间里。但如果cow lvm被写满,这个snap lvm会被立刻释放,从而无法使用。直接挂载snap lvm即可得到快照的内容,但是,由于snapshot和源lvm的关系,snapshot只能够临时使用,不能脱离源lvm而存在。

文章来自个人专栏
yangjun的专栏
2 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0