镜像能够分配物理分区的多个副本,从而提高数据的可用性。当某个磁盘发生故障并且其物理分区变为不可用时,您仍然可以访问可用磁盘上的镜像数据。LVM 在逻辑卷内执行镜像。
系统版本:
# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core) 12
磁盘
[root@host-192-168-100-19 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 9.5G 0 part
├─centos-root 253:0 0 8.5G 0 lvm /
└─centos-swap 253:1 0 1G 0 lvm [SWAP]
vdb 252:16 0 5G 0 disk
vdc 252:32 0 5G 0 disk
vdd 252:48 0 5G 0 disk 12345678910
创建物理卷
# pvcreate /dev/vdb /dev/vdc 1
创建卷组
# vgcreate wyl /dev/vdb /dev/vdc1
创建镜像卷
#lvcreate -L 3G -m1 -n mirror wyl /dev/vdc /dev/vdb 1
说明:
使用-m1参数标志为创建镜像;使用-L参数设定镜像卷的大小为3G;使用-n参数为镜像指定名称为mirror。这个镜像包括两部分:vdb和vdc为数据卷和副本卷分区
查看逻辑卷的状态
查看当前lvm中设备状态:
# lvs -a -o +devices 1
对新建的镜像lv进行格式化和挂载
# mkfs.xfs /dev/wyl/mirror
# mkdir /mirror
# mount /dev/wyl/mirror /mirror/123
测试分区读写ok
# cd /mirror/
# echo "it's ok" >test
# cat test
it's ok1234
对镜像lvm进行破坏
# dd if=/dev/zero of=/dev/vdc count=10
破坏之后可以看到镜像lv中的/dev/vdc变成了未知:
把坏掉的设备从wyl中移除:
# vgreduce --removemissing --force wyl1
查看当前lvm中设备状态:
# lvs -a -o +devices 1
镜像数据恢复(过程中无须解除逻辑卷的挂载)
在wyl中新加一个pv,对数据进行恢复:
# vgextend wyl /dev/vdd1
取消设置镜像卷
# lvconvert -m0 /dev/wyl/mirror1
迁移数据,将vdc数据同步到vdd中
# lvconvert -m1 /dev/wyl/mirror /dev/vdd /dev/vdc1
测试
# cd /mirror/
# echo 'it is ok 2' >test2
# cat test
it's ok1234