linux 镜像lvm,lvm的镜像备份功能

首先,先创建3个lvm类型的分区:Device Boot Start End Blocks Id System

/dev/sdb1 1 52 417658+ 8e Linux LVM

/dev/sdb2 53 104 417690 8e Linux LVM

/dev/sdb3 105 111 56227+ 8e Linux LVM

创建物理卷:pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3

Physical volume "/dev/sdb1" successfully created

Physical volume "/dev/sdb2" successfully created

Physical volume "/dev/sdb3" successfully created

查看物理卷:pvs

PV VG Fmt Attr PSize PFree

/dev/sda2 vg_mail lvm2 a-- 19.51g 0

/dev/sdb1 lvm2 a-- 407.87m 407.87m

/dev/sdb2 lvm2 a-- 407.90m 407.90m

/dev/sdb3 lvm2 a-- 54.91m 54.91m

创建卷组:vgcreate myvg /dev/sdb1 /dev/sdb2 /dev/sdb3

Volume group "myvg" successfully created

查看卷组:vgs

VG #PV #LV #SN Attr VSize VFree

myvg 3 0 0 wz--n- 860.00m 860.00m

vg_mail 1 2 0 wz--n- 19.51g 0

创建LVM镜像逻辑卷:lvcreate -L 300M -n mylv -m1 myvg

Logical volume "mylv" created

再来查看卷组大小:vgs

VG #PV #LV #SN Attr VSize VFree

myvg 3 1 0 wz--n- 860.00m 256.00m

vg_mail 1 2 0 wz--n- 19.51g 0

通过和上面的比较,不难发现,这里我创建的是300M的逻辑卷,而卷组却减少了600M左右,因为我们-m1这个参数使得我们的逻辑卷有了镜像的功能。

再来查看lv中各设备的状态:lvs -a -o +devices

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

mylv myvg mwi-a-m-- 300.00m mylv_mlog 100.00 mylv_mp_w_picpath_0(0),mylv_mp_w_picpath_1(0)

[mylv_mp_w_picpath_0] myvg iwi-aom-- 300.00m /dev/sdb1(0)

[mylv_mp_w_picpath_1] myvg iwi-aom-- 300.00m /dev/sdb2(0)

[mylv_mlog] myvg lwi-aom-- 4.00m /dev/sdb3(0)

lv_root vg_mail -wi-ao--- 17.57g /dev/sda2(0)

lv_swap vg_mail -wi-ao--- 1.94g /dev/sda2(4498)

这里我们可以看出,sdb1和sdb2为数据卷和镜像卷,sdb3为日志卷

格式化和挂载:mkfs.ext4 /dev/myvg/mylv

mount /dev/myvg/mylv /mnt/

现在我们先向lv中写入数据然后损坏sdb1:dd if=/dev/zero of=/mnt/jj bs=1M count=100

100+0 records in

100+0 records out

104857600 bytes (105 MB) copied, 1.13108 s, 92.7 MB/sdd if=/dev/zero of=/dev/sdb1 count=10

再次查看lv中个设备的状态:lvs -a -o +devices

Couldn't find device with uuid zcHbJz-hec4-bLBX-cuKd-4Sv9-kgOS-3ZyR8O.

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

mylv myvg mwi-aom-p 300.00m mylv_mlog 100.00 mylv_mp_w_picpath_0(0),mylv_mp_w_picpath_1(0)

[mylv_mp_w_picpath_0] myvg iwi-aom-p 300.00m unknown device(0)

[mylv_mp_w_picpath_1] myvg iwi-aom-- 300.00m /dev/sdb2(0)

[mylv_mlog] myvg lwi-aom-- 4.00m /dev/sdb3(0)

lv_root vg_mail -wi-ao--- 17.57g /dev/sda2(0)

lv_swap vg_mail -wi-ao--- 1.94g /dev/sda2(4498)

这里我们可以看到sdb1变成了unknown device。但是这时在挂载点下,我们还是可以进行读写操作的。

把坏掉的设备从卷组中移除:vgreduce --removemissing --force myvg

Couldn't find device with uuid zcHbJz-hec4-bLBX-cuKd-4Sv9-kgOS-3ZyR8O.

Wrote out consistent volume group myvg

[root@mail mnt]# lvs -a -o +devices

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

mylv myvg -wi-ao--- 300.00m /dev/sdb2(0)

lv_root vg_mail -wi-ao--- 17.57g /dev/sda2(0)

lv_swap vg_mail -wi-ao--- 1.94g /dev/sda2(4498)

已经移除了。然后我们重新挂载,可看到之前写的jj那个文件还在。mount -o remount /mnt/

ls

jj lost+found

我们再创建sdb4来取代sdb1的位置Device Boot Start End Blocks Id System

/dev/sdb1 1 52 417658+ 8e Linux LVM

/dev/sdb2 53 104 417690 8e Linux LVM

/dev/sdb3 105 111 56227+ 8e Linux LVM

/dev/sdb4 112 163 417690 8e Linux LVM

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@mail mnt]# partx -a

call: partx -opts [device] wholedisk

[root@mail mnt]# partx -a /dev/sdb

BLKPG: Device or resource busy

error adding partition 1

BLKPG: Device or resource busy

error adding partition 2

BLKPG: Device or resource busy

error adding partition 3

[root@mail mnt]# pvcreate /dev/sdb4

Physical volume "/dev/sdb4" successfully created

[root@mail mnt]# vgextend myvg /dev/sdb4

Volume group "myvg" successfully extended

扩展并查看lv中的设备:lvconvert -m1 /dev/myvg/mylv /dev/sdb4

myvg/mylv: Converted: 0.0%

myvg/mylv: Converted: 100.0%

[root@mail mnt]# lvs -a -o +devices

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

mylv myvg mwi-aom-- 300.00m mylv_mlog 100.00 mylv_mp_w_picpath_0(0),mylv_mp_w_picpath_1(0)

[mylv_mp_w_picpath_0] myvg iwi-aom-- 300.00m /dev/sdb2(0)

[mylv_mp_w_picpath_1] myvg iwi-aom-- 300.00m /dev/sdb4(0)

[mylv_mlog] myvg lwi-aom-- 4.00m /dev/sdb4(75)

lv_root vg_mail -wi-ao--- 17.57g /dev/sda2(0)

lv_swap vg_mail -wi-ao--- 1.94g /dev/sda2(4498)

[root@mail mnt]#

可以看到sdb2和sdb4为数据卷和镜像卷了。这就是lvm的镜像。lvm的功能很强大,可以在man文档最后的Examples中看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值