LVM逻辑卷管理之磁盘镜像——筑梦之路

本文介绍了磁盘镜像的概念,类似于RAID1的多块磁盘同步备份,以防止数据丢失。通过实例展示了如何使用LVM创建带有镜像功能的逻辑卷,包括创建PV、VG,建立镜像LV,以及在磁盘损坏时的数据恢复过程,强调了在资源有限但需要数据冗余的场景下,LVM镜像卷是一个选择。
摘要由CSDN通过智能技术生成

什么是磁盘镜像?

磁盘镜像类似于raid1, 多块磁盘互相同步备份,可以有效避免数据丢失的尴尬。 

一则实例:

新建4个分区:/dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb4

  • /dev/sdb1、/dev/sdb2用作数据磁盘

  • /dev/sdb2作为/dev/sdb1的镜像

  • /dev/sdb3作为日志

  • /dev/sdb4作为备用盘

当sdb1或sdb2损害时备用,类似于raid5中的热备盘

# 创建pv

pvcreate /dev/sdb{1..4}

#创建vg

vgcreate vg_test  /dev/sdb1 /dev/sdb2 /dev/sdb3

/dev/sdb4 作为备用

# 创建带镜像功能的逻辑卷lv

lvcreate -L 2.8G -m1 -n mirror_test vg_test /dev/sdb1 /dev/sdb2 /dev/sdb3

# 查看详情

lvs -a -o +devices

参数说明:

-m1参数为创建镜像;
-L参数为设定镜像卷的大小为2.8G;
-n参数为指定镜像名称;

这个镜像包括三部分:sdb1和sdb2位数据卷和镜像卷,sdb3为日志卷

# 查看镜像状态

lvdisplay /dev/vg_test/mirror_test 

# 格式化并挂载

mkfs.ext4 /dev/vg_test/mirror_test

mount /dev/vg_test/mirror_test /test

# 测试镜像功能

## 写入数据

cd test

echo "lvm mirror test" > test.txt

## 模拟对/dev/sdb2进行破坏

dd if=/dev/zero of=/dev/sdb2 count=10 bs=1M

## 查看状态

lvs -a -o +devices

lvscan

此时查看状态发现/dev/sdb2处于“unknown device(0)”状态

## 卸载重新挂载确认数据是否还在
umount /test

mount /dev/vg_test/mirror_test /test

cd /test && cat test.txt

## 移除坏掉的设备

vgreduce --removemissing --force vg_test

移除后vgdisplay /dev/vg_test发现mirrored  volumes选项没有了;并且由于sdb2的失效,镜像mirror_test也已经有mirror模式转变成线性模式,如果恢复我们需要用到lvconvert命令来恢复

# 镜像数据恢复

使用备份盘/dev/sdb4进行数据恢复

## 扩展vg

vgextend vg_test /dev/sdb4

## 恢复

lvconvert -m1 /dev/vg_test/mirror_test /dev/sdb1 /dev/sdb4 /dev/sdb3

## 检查状态

lvdisplay /dev/vg_test

lvs -a -o +devices

经过数据恢复,镜像卷由原来的sdb2转变为sdb4

在实际的生产环境,服务器基本都有不同级别的RAID,因此LVM的镜像卷使用场景很少。但如果你正面临以下情况:

  • 磁盘数量比较吃紧,但磁盘空间需求大

  • 服务器仅支持RAID1,空间使用率减半

  • 对性能要求不高,但要保证一定的数据冗余

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值