LVM 逻辑卷管理器-快照区复原系统

LVM 逻辑卷管理器-快照区复原系统

复原的数据量不能够高于快照区所能负载的实际容量。由于原始数据会被搬移到快照区,如果你的快照区不够大,原始资料变动的实际数据量比快照大,那么快照区就容纳不了,这时快照就会失效。

(1)将原本的/dev/vg_1/lv_1内容做些改动,增减一些目录。

[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   15G  351M   14G   3% /mnt/lvm
[root@centos6 ~]# ll /mnt/lvm/
total 36
dr-xr-xr-x.  5 root root  4096 Sep  8  2015 boot
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
[root@centos6 ~]# rm -r /mnt/lvm/boot
[root@centos6 ~]# cp -a /etc/fstab /mnt/lvm/
[root@centos6 ~]# ll /mnt/lvm/
total 36
-rw-r--r--.  1 root root   805 Sep  8  2015 fstab
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
[root@centos6 ~]# lvdisplay /dev/vg_1/snaps 
  --- Logical volume ---
  LV Path                /dev/vg_1/snaps
  LV Name                snaps
  VG Name                vg_1
  LV UUID                cCr9ap-TPbg-hLgy-JqXV-Ev9d-H4VK-042QOo
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-10 03:41:00 +0800
  LV snapshot status     active destination for lv_1
  LV Status              available
  # open                 0
  LV Size                15.00 GiB
  Current LE             960
  COW-table size         1.56 GiB
  COW-table LE           100
  Allocated to snapshot  0.02%   #快照区已经被使用了0.02%,因为原始的文件系统异动过;
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

(2)利用快照区将原本的文件系统备份

[root@centos6 ~]# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/sda3                16G  1.5G   14G  11% /
tmpfs                   112M     0  112M   0% /dev/shm
/dev/sda1               194M   29M  155M  16% /boot
/dev/mapper/vg_1-lv_1    15G  328M   14G   3% /mnt/lvm
/dev/mapper/vg_1-snaps   15G  351M   14G   3% /mnt/snapshot
#两者确定不一样了,开始将快照区内容复制出来;
[root@centos6 snapshot]# mkdir -p /backups
[root@centos6 snapshot]# cd /mnt/snapshot/
[root@centos6 snapshot]# tar -jcvf /backups/lvm.tar.gz *   #将文件打包备份
[root@centos6 snapshot]# ll /backups/
total 74028
-rw-r--r--. 1 root root 75792390 Sep 10 03:50 lvm.tar.gz

(3)将snaps卸载并移除,因为里面的内容已经备份起来了

[root@centos6 ~]# umount /mnt/snapshot/
[root@centos6 ~]# lvremove /dev/vg_1/snaps 
Do you really want to remove active logical volume snaps? [y/n]: y
  Logical volume "snaps" successfully removed
[root@centos6 ~]# umount /mnt/lvm/
[root@centos6 ~]# mkfs -t ext4 /dev/vg_1/lv_1
[root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm/
[root@centos6 ~]# tar -jxf /backups/lvm.tar.gz -C /mnt/lvm
[root@centos6 ~]# ll /mnt/lvm/
total 36
dr-xr-xr-x.  5 root root  4096 Sep  8  2015 boot
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
#成功还原,与最初的内容相同。

6.1、利用快照区进行各项练习与测试的任务,再以原系统还原快照

将原本的/dev/vg_1/lv_1当作备份数据,然后将/dev/vg_1/snaps当作实际运行中的数据 ,任何测试的操作都在snaps这个快照区中进行,当测试完毕后要将测试的数据删除时,只要将快照区删除即可。复制一个/dev/vg_1/lv_1系统,再制作另外一个快照区即可。

(1)新建一个大一些的快照区,将/dev/sdb5的PE全部给快照区;

[root@centos6 ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg_1
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  40
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               20.00 GiB
  PE Size               16.00 MiB
  Total PE              1280
  Alloc PE / Size       960 / 15.00 GiB
  Free  PE / Size       320 / 5.00 GiB   #查看还剩余320个PE
  VG UUID               NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS
[root@centos6 ~]# lvcreate -s -l 320 -n snaps /dev/vg_1/lv_1   #创建快照
  Logical volume "snaps" created
[root@centos6 ~]# lvdisplay /dev/vg_1/snaps 
  --- Logical volume ---
  LV Path                /dev/vg_1/snaps
  LV Name                snaps
  VG Name                vg_1
  LV UUID                w6hXrI-qnwQ-DOKc-vTCr-kbXG-p1ni-HQt2MH
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-10 06:31:51 +0800
  LV snapshot status     active destination for lv_1
  LV Status              available
  # open                 0
  LV Size                15.00 GiB
  Current LE             960
  COW-table size         5.00 GiB
  COW-table LE           320
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

(2)隐藏/dev/vg_1/lv_1,挂载/dev/vg_1/snaps

[root@centos6 ~]# umount /mnt/lvm/
[root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/
[root@centos6 ~]# df -h /mnt/snapshot/
Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-snaps   15G  351M   14G   3% /mnt/snapshot

(3)在/dev/vg_1/snaps挂载的目录/mnt/snapshot中开始增加或删除文件

[root@centos6 ~]# ll /mnt/snapshot/
total 36
dr-xr-xr-x.  5 root root  4096 Sep  8  2015 boot
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
[root@centos6 ~]# rm -rf /mnt/snapshot/boot /mnt/snapshot/lib
[root@centos6 ~]# cp -a /etc /mnt/snapshot/
[root@centos6 ~]# ll /mnt/snapshot/
total 32
drwxr-xr-x. 79 root root  4096 Sep 10 06:32 etc
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
#与原本数据有差异了
[root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm   #挂载/dev/vg_1/lv_1
[root@centos6 ~]# ll /mnt/lvm/
total 36
dr-xr-xr-x.  5 root root  4096 Sep  8  2015 boot
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
#无论在快照区怎么增加或删除数据,原本的数据完好如初

(4)还原原本数据,回到原文件系统相同的信息

[root@centos6 ~]# umount /mnt/snapshot/    #卸载/dev/vg_1/snaps快照区
[root@centos6 ~]# lvremove /dev/vg_1/snaps    #移除/dev/vg_1/snaps快照区
Do you really want to remove active logical volume snaps? [y/n]: y
  Logical volume "snaps" successfully removed
[root@centos6 ~]# lvcreate -s -l 320 -n snaps /dev/vg_1/lv_1   #创建新的快照区
  Logical volume "snaps" created
[root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/   #挂载快照区
[root@centos6 ~]# ll /mnt/snapshot/
total 36
dr-xr-xr-x.  5 root root  4096 Sep  8  2015 boot
dr-xr-xr-x. 10 root root  4096 Sep  8  2015 lib
drwx------.  2 root root 16384 Sep  9 19:05 lost+found
dr-xr-xr-x.  2 root root 12288 Sep  9 04:35 sbin
#快照区的数据就这样还原了
#上面的步骤有些繁琐,快照区的文件损毁了,直接删除再新建一个就可以了。

7、LVM命令汇总与LVM的关闭

7.1 LVM命令汇总

任务 PV阶段 VG阶段 LV阶段
查找(ssan) pvscan vgscan lvscan
新建(create) pvcreate vgcreate lvcreate
显示(display) pvdisplay vgdisplay lvdispaly
增加(extend) vgextend lvextend(lvresize)
减少(reduce) vgreduce lvreduce(lvresize)
删除(remove) pvremove vgremove lvremove
改变容量(resize) lvresize
改变属性(attribute) pvchange vgchange lvchange

7.2 LVM的关闭

(1)关闭LVM的步骤:

  1. 卸载系统上面的LVM文件系统(包括快照与所有的LV);

  2. 使用lvremove删除LV;

  3. 使用vgchage -an VGNAME 让VGNAME这个VG不具有Active的标志;

  4. 使用vgremove删除VG;

  5. 使用pvremove删除PV;

  6. 最后,使用fdisk将分区systemID修改回来。

(2)操作步骤:

[root@centos6 ~]# umount /mnt/lvm/
[root@centos6 ~]# umount /mnt/snapshot/
[root@centos6 ~]# lvremove /dev/vg_1/snaps 
Do you really want to remove active logical volume snaps? [y/n]: y
  Logical volume "snaps" successfully removed
[root@centos6 ~]# lvremove /dev/vg_1/lv_1 
Do you really want to remove active logical volume lv_1? [y/n]: y
  Logical volume "lv_1" successfully removed
[root@centos6 ~]# vgchange -a n vg_1
  0 logical volume(s) in volume group "vg_1" now active
[root@centos6 ~]# vgremove vg_1
  Volume group "vg_1" successfully removed
[root@centos6 ~]# pvremove /dev/sdb{1,2,3,5}
  Labels on physical volume "/dev/sdb1" successfully wiped
  Labels on physical volume "/dev/sdb2" successfully wiped
  Labels on physical volume "/dev/sdb3" successfully wiped
  Labels on physical volume "/dev/sdb5" successfully wiped
[root@centos6 ~]# pvscan
  No matching physical volumes found
[root@centos6 ~]# fdisk /dev/sdb  
#将磁盘的ID改为83就好,操作过程省略。

原创文章,作者:zhuckee,如若转载,请注明出处:http://www.178linux.com/47594

(0)
zhuckeezhuckee
上一篇 2016-09-18
下一篇 2016-09-19

相关推荐

  • 10分钟学会理解和解决MySQL乱码问题

    本文将详细介绍MySQL乱码的成因和具体的解决方案。在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个…

    2015-03-17
  • Linux磁盘管理 and 文件系统管理

     磁盘管理     主要有以下几部分:        磁盘结构        分区类型        管理分区        管理文件系统     &…

    Linux干货 2016-09-01
  • Mariadb数据库复制系列(五):基于SSL的复制

       实验五:基于SSL的主从复制功能的实现 在mysql服务器之间复制数据,默认情况下都是基于明文的,在有些场景中,明文传输会造成严重的数据安全隐患,因此,需要对mysql服务器之间的复制时的传输进行加密,传输加密方式可以基于SSL的会话进行 1、实验环境 2、私有CA的搭建 3、在主节点node72上生成证书签署请求、发送到私有CA服务器 4、在从节点n…

    Linux干货 2016-11-24
  • N28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-30
  • Linux磁盘管理基础

    Linux磁盘管理基础 硬盘结构 文件系统与MBR、GTP 磁盘管理三步骤:分区、格式化、挂载 mount 硬盘结构 硬盘的基本组成材质是盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表面上以盘片中心为圆心,不同半径的同心圆称为磁道,不同盘片相同半径的磁道所组成的圆柱称为柱面,每个磁道被分成许多扇形的区域,每个区域叫一个扇区,每个扇区可存…

    Linux干货 2016-09-01
  • 三大家族轻松管理CentOS 7网络属性配置

    一、简单介绍        在CentOS 7中对网络管理还是有不少变化的,例如管理服务的命令变为systemctl,许多命令可以更改后直接生效,还有许多独有的工具,本文以CentOS 6与CentOS 7对比进行讲解,下面现总体介绍一下网络属性配置工具。    &nb…

    Linux干货 2016-04-25