LVM磁盘镜像同步备份:实现LVM镜像的详细方法与步骤

目录
[隐藏]
lvm主要还用于分区扩展,但是使用lvm实现磁盘镜像的应用也很广泛。比如,有两块硬盘/dev/sdb和/dev/sdc一样大小,想对这两个硬盘做磁盘镜像,保证两个硬盘的数据一致,即可利用lvm的磁盘镜像功能实现。
Lvm镜像需要用到-m1参数,主要过程参见如下详细步骤与说明。该实验操作在ubuntu11.10版本下进行。

创建lvm镜像的方法与步骤

1、创建磁盘分区
首先将 sdb 和 sdc分区,并创建四个pv(sdb5、sdb6、sdb7、sdc,其中sdb5用作数据磁盘,sdc用作对sdb5的镜像,sdb6用作日志,sdb7用作备用,注意:sdb5、sdb7容量最好一样大,sdc容量不能小于sdb5),然后创建vg0并将sd5、sd6、sdc加入其中。依次执行命令为:
fdisk /dev/sdb  –创建三个扩展分区/dev/sdb5、/dev/sdb6、/dev/sdb7
partprobe   -重新读取分区表
pvcreate /dev/sdb5
pvcreate /dev/sdb6
pvcreate /dev/sdb7
pvdisplay
fdisk /dev/sdc -创建分区/dev/sdc
partprobe
pvcreate /dev/sdc
pvdisplay
vgcreate vg0 /dev/sdb5 /dev/sdb6 /dev/sdc –创建vg0
2、创建lvm镜像/dev/vg0/mirror
使用-ml参数标志为创建镜像;使用-L参数设定镜像卷的大小为1000M;使用-n参数为镜像指定名称为mirror。这个镜像包括三部分:sdb5和sdc为数据卷和副本卷分区,#sdb6为日志卷分区。
lvcreate -L 1000M -m1 -n mirror vg0 /dev/sdb5 /dev/sdc /dev/sdb6
查看/dev/vg0/mirror的状态:
lvdisplay /dev/vg0/mirror
查看当前lvm中设备状态:
lvs -a -o +devices
3、对新建的镜像lv进行格式化和挂载
mkfs.ext3 /dev/vg0/mirror
mkdir /mirror
mount /dev/vg0/mirror /mirror/
4、对镜像lvm进行破坏
破坏一块pv,看是否能正常工作
dd if=/dev/zero of=/dev/sdb5 count=10
破坏之后可以看到镜像lv中的/dev/sdb5变成了未知:
lvs -a -o +devices
lvscan
重新对镜像lv进行挂载,发现仍然可正常使用。
umount /mirror/
mount /dev/vg0/mirror /mirror/
cd /mirror/
把坏掉的设备从vg0中移除:
vgreduce –removemissing –force vg0
移除之后发现vg0信息中Mirrored volumes选项没有了
vgdisplay /dev/vg0
5、镜像数据恢复
在vg0中新加一个pv,对数据进行恢复:
vgextend vg0 /dev/sdb7
lvconvert -m1 /dev/vg0/mirror /dev/sdb7 /dev/sdc /dev/sdb6
再次查看设备状态,我们会发现sdb7已经取代了sdb5的位置工作
lvs -a -o +devices
查看镜像卷状态,发现镜像卷Mirrored volumes 2 这个选项又恢复了
lvdisplay /dev/vg0/mirror
点赞 (0)
  1. 龙岩学院说道:

    我所在龙岩学院计算机专业里都学不到这东西!

发表评论

电子邮件地址不会被公开。 必填项已用*标注