LVM实现逻辑卷镜像

简介: 本文系统 CentOS 6.5 x64LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失。1、在此添加4块物理硬盘,每块2G空间2、将sdb、sdc、sdd、sde 创建物理卷,将sdb、sdc、sdd 添加卷组到vmTest[root@node4 ~]# p...

本文系统 CentOS 6.5 x64

LVM的镜像功能,有点儿类似于Raid1,即多块儿磁盘互相同步,确保资料不会丢失。

1、在此添加4块物理硬盘,每块2G空间

LVM实现逻辑卷镜像

2、将sdb、sdc、sdd、sde 创建物理卷,将sdb、sdc、sdd 添加卷组到vmTest

[root@node4 ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created
[root@node4 ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created
[root@node4 ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created
[root@node4 ~]# pvcreate /dev/sde
  Physical volume "/dev/sde" successfully created

[root@node4 ~]# vgcreate vgTest /dev/sdb /dev/sdc /dev/sdd
  Volume group "vgTest" successfully created
[root@node4 ~]#

3、创建逻辑卷

[root@node4 ~]# lvcreate -L 1G -m1 -n lvTest vgTest /dev/sdb /dev/sdc /dev/sdd
  Logical volume "lvTest" created

查看lvs信息

[root@node4 ~]# lvs -a -o +devices
  LV                VG      Attr      LSize  Pool Origin Data%  Move Log        Cpy%Sync Convert Devices                             
  lv_root          VolGroup -wi-ao----  8.54g                                                      /dev/sda2(0)                       
  lv_swap          VolGroup -wi-ao---- 992.00m                                                      /dev/sda2(2186)                     
  lvTest            vgTest  mwi-a-m---  1.00g                        lvTest_mlog  100.00        lvTest_mimage_0(0),lvTest_mimage_1(0)
  [lvTest_mimage_0] vgTest  iwi-aom---  1.00g                                                      /dev/sdb(0)                         
  [lvTest_mimage_1] vgTest  iwi-aom---  1.00g                                                      /dev/sdc(0)                         
  [lvTest_mlog]    vgTest  lwi-aom---  4.00m                                                      /dev/sdd(0)

LVM镜像需要用到-m1参数,从上面可以看出,/dev/sdb和/dev/sdc互为镜像,而/dev/sdd作为日志存储使用

4、格式化分区,在逻辑卷上创建一个文件。对/dev/sdc进行破坏。

[root@node4 ~]# mkfs.ext4 /dev/vgTest/lvTest
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376
 
正在写入inode表: 完成                           
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
 
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@node4 ~]# dd if=/dev/zero of=/dev/sdc count=10 bs=20M
记录了10+0 的读入
记录了10+0 的写出
209715200字节(210 MB)已复制,2.08666 秒,101 MB/秒
[root@node4 ~]# lvs -a -o +devices
  Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
  LV                VG      Attr      LSize  Pool Origin Data%  Move Log        Cpy%Sync Convert Devices                             
  lv_root          VolGroup -wi-ao----  8.54g                                                      /dev/sda2(0)                       
  lv_swap          VolGroup -wi-ao---- 992.00m                                                      /dev/sda2(2186)                     
  lvTest            vgTest  mwi-a-m-p-  1.00g                        lvTest_mlog  100.00        lvTest_mimage_0(0),lvTest_mimage_1(0)
  [lvTest_mimage_0] vgTest  iwi-aom---  1.00g                                                      /dev/sdb(0)                         
  [lvTest_mimage_1] vgTest  iwi-aom-p-  1.00g                                                      unknown device(0)                   
  [lvTest_mlog]    vgTest  lwi-aom---  4.00m                                                      /dev/sdd(0)                         
[root@node4 ~]# lvscan
  Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
  ACTIVE            '/dev/vgTest/lvTest' [1.00 GiB] inherit
  ACTIVE            '/dev/VolGroup/lv_root' [8.54 GiB] inherit
  ACTIVE            '/dev/VolGroup/lv_swap' [992.00 MiB] inherit
[root@node4 ~]#

重新挂载逻辑卷,确认文件可以正常读取

1
2
3
4
5
6
7
8
9 [root@node4 ~]# mkdir /lvmTest
[root@node4 ~]# mount /dev/vgTest/lvTest /lvmTest/
[root@node4 ~]# cd /lvmTest/
[root@node4 lvmTest]# ls
lost+found
[root@node4 lvmTest]# echo "ac" > ac
[root@node4 lvmTest]# cat ac
ac
[root@node4 lvmTest]#

将卷组中坏掉的物理卷(/dev/sdc)移除:

[root@node4 lvmTest]# vgdisplay
  Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
  --- Volume group ---
  VG Name              vgTest
  System ID           
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access            read/write
  VG Status            resizable
  MAX LV                0
  Cur LV                1
  Open LV              1
  Max PV                0
  Cur PV                3
  Act PV                2
  VG Size              5.99 GiB
  PE Size              4.00 MiB
  Total PE              1533
  Alloc PE / Size      513 / 2.00 GiB
  Free  PE / Size      1020 / 3.98 GiB
  VG UUID              1qzO3A-Tjvi-by9l-Oq49-byz3-tIkx-rfSqex

[root@node4 lvmTest]#  vgreduce --removemissing --force vgTest
  Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
  Wrote out consistent volume group vgTest
[root@node4 lvmTest]#

5、向卷组中加入新的物理卷(/dev/sde):

[root@node4 lvmTest]# vgextend vgTest /dev/sde
  Volume group "vgTest" successfully extended
[root@node4 lvmTest]#

6、进行数据恢复(过程中无须解除逻辑卷的挂载)

[root@node4 lvmTest]# lvconvert -m1 /dev/vgTest/lvTest /dev/sdb /dev/sdd /dev/sde
  vgTest/lvTest: Converted: 0.0%
  vgTest/lvTest: Converted: 100.0%
[root@node4 lvmTest]# lvs -a -o +devices
  LV                VG      Attr      LSize  Pool Origin Data%  Move Log        Cpy%Sync Convert Devices                             
  lv_root          VolGroup -wi-ao----  8.54g                                                      /dev/sda2(0)                       
  lv_swap          VolGroup -wi-ao---- 992.00m                                                      /dev/sda2(2186)                     
  lvTest            vgTest  mwi-aom---  1.00g                        lvTest_mlog  100.00        lvTest_mimage_0(0),lvTest_mimage_1(0)
  [lvTest_mimage_0] vgTest  iwi-aom---  1.00g                                                      /dev/sdb(0)                         
  [lvTest_mimage_1] vgTest  iwi-aom---  1.00g                                                      /dev/sdd(0)                         
  [lvTest_mlog]    vgTest  lwi-aom---  4.00m                                                      /dev/sde(0)

7、核实原数据

[root@node4 lvmTest]# cat ac
ac
[root@node4 lvmTest]# echo "abcde" >> ac
[root@node4 lvmTest]# cat ac
ac
abcde
[root@node4 lvmTest]#

[root@node4 lvmTest]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vgTest/lvTest
  LV Name                lvTest
  VG Name                vgTest
  LV UUID                a8kDmI-R3ls-SfKJ-qx3d-1Tbb-wPAd-TJcQfn
  LV Write Access        read/write
  LV Creation host, time node4.lansgg.com, 2015-09-10 20:50:41 +0800
  LV Status              available
  # open                1
  LV Size                1.00 GiB
  Current LE            256
  Mirrored volumes      2
  Segments              1
  Allocation            inherit
  Read ahead sectors    auto
  - currently set to    256
  Block device          253:5

目录
相关文章
|
存储 Oracle 关系型数据库
【数据库-DB2】深入了解DB2 reorg
本文介绍了DB2数据库中reorg操作的重要性,旨在通过重组表数据来消除数据碎片、压缩信息并提高数据访问速度。reorg操作能够根据索引关键字重新排序数据,减少查询I/O次数,提升查询性能。文章详细讲解了reorg的操作步骤、适用场景及注意事项,强调了在执行reorg前后更新统计信息的必要性。
705 2
|
JSON JavaScript 前端开发
【JavaScript技术专栏】JavaScript的跨域通信方法
【4月更文挑战第30天】本文探讨了JavaScript中的跨域通信方法,包括:同源策略和跨域通信的概念,以及JSONP、CORS、WebSockets、`window.postMessage()`、代理服务器和WebAssembly的使用。这些技术各有优劣,适用于不同的场景,是Web开发者解决跨域问题的关键工具。随着Web技术的演进,跨域通信的解决方案也将不断更新。
289 0
SpringBoot项目配置热部署启动 及 热部署失效的问题解决
这篇文章介绍了如何在SpringBoot项目中配置热部署启动,包括在pom文件中添加热部署依赖、在IDEA中进行设置、修改配置文件以及IDEA启动设置,以解决热部署失效的问题。
SpringBoot项目配置热部署启动 及 热部署失效的问题解决
|
JavaScript 应用服务中间件 nginx
nginx部署多个vue项目
nginx部署多个vue项目
172 0
|
监控 Java Spring
AOP技术详解
Spring AOP则是Spring框架的一部分,它提供了基于代理的AOP实现方式,并支持AspectJ的注解
219 1
|
缓存 Ubuntu 编译器
CMake 常见问题及解决办法
CMake 常见问题及解决办法
5339 0
|
存储 Java Linux
linux安装Zookeeper的详细步骤
linux安装Zookeeper的详细步骤
648 5
|
存储 传感器 物联网
MQTT 客户端和代理连接如何工作?
MQTT 客户端和代理连接如何工作?
471 2
MQTT 客户端和代理连接如何工作?
|
机器学习/深度学习 弹性计算 人工智能
重磅发布:云上自动化运维(CloudOps)白皮书2.0
2022年3月22日,【全新升级 阿里云ECS CloudOps 2.0来啦!】发布会正式播出,本次发布会上阿里云宣布CloudOps(云上自动化运维)套件全新升级,并发布了CloudOps云上自动化运维白皮书2.0版本。
重磅发布:云上自动化运维(CloudOps)白皮书2.0
|
消息中间件 监控 物联网
阿里云中间件是什么?
中间件是一种处于操作系统(底层)和应用之间的软件或者组件,起到让应用在操作系统上可以正常运行的作用,向apache,iis,sqlserver等。
6017 94