设为首页 收藏本站
查看: 436|回复: 0

[经验分享] LVM系统快照

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-4 10:30:42 | 显示全部楼层 |阅读模式
2.0LVM快照
  • 添加磁盘

[iyunv@localhost ~]# vgdisplay
  ---Volume group ---
  VGName               vbirdvg
System ID            
Format                lvm2
Metadata Areas        4
Metadata Sequence No  18
  VGAccess             read/write
  VGStatus             resizable
  MAXLV                0
  CurLV                1
Open LV               1
  MaxPV                0
  CurPV                4
  ActPV                4
  VGSize               20.00 GiB
  PESize               16.00 MiB
Total PE              1280
Alloc PE / Size       1280 / 20.00GiB
Free  PE / Size       0 / 0         ←没有多余的PE可用
  VGUUID              QaQ6X4-U9RP-wW7m-bgWA-UJvY-4Kg5-6jmvye
注:由于上一篇中我们删除了/dev/sdb5,我们现在要将/dev/sdb5添加回来。
[iyunv@localhost ~]# pvcreate /dev/sdb5
Physical volume "/dev/sdb5" successfully created
[iyunv@localhost ~]# vgextend vbirdvg/dev/sdb5
Volume group "vbirdvg" successfully extended
[iyunv@localhost ~]# vgdisplay
  ---Volume group ---
  VGName               vbirdvg
System ID            
Format                lvm2
Metadata Areas        5
Metadata Sequence No  19
  VGAccess             read/write
  VGStatus             resizable
  MAXLV                0
  CurLV                1
Open LV               1
  MaxPV                0
  CurPV                5
  ActPV                5
  VGSize               23.00 GiB
  PESize               16.00 MiB
Total PE              1472
  AllocPE / Size       1280 / 20.00 GiB
Free  PE / Size       192 / 3.00 GiB      ←已经有192个PE可用了。
  VGUUID              QaQ6X4-U9RP-wW7m-bgWA-UJvY-4Kg5-6jmvye
      
  • 利用lvcreate新建快照磁盘

   
[iyunv@localhost ~]# lvcreate -L 2G -s -nvbirdss /dev/vbirdvg/vbirdlv
Logical volume "vbirdss" created
注:上述命令最重要的是-s的参数。代表是snapshot快照功能的意思。
-n:后面接快照区的设备名称,/dev/….则是要被快照的完整文件名。
-L:后面则是接使用多大容量的PE来作为这个快照。或使用-l接PE个数。

                              [iyunv@localhost ~]# lvdisplay
--- Logical volume ---
  LV Path                /dev/vbirdvg/vbirdss
  LV Name                vbirdss
  VG Name                vbirdvg
  LV UUID               oLtuEe-viTM-ccuU-PkVb-47qc-Swc1-VqtHsv
  LV Write Access        read/write
  LV Creation host, time localhost, 2016-07-0200:23:06 +0800
  LV snapshot status     active destination for vbirdlv
  LV Status              available
  # open                 0
  LVSize                20.00 GiB      ←被快照的原LV容量
  Current LE             1280
  COW-tablesize         2.00 GiB      ←快照区的实际容量
  COW-tableLE              128       ←快照区占用的PE总数量
  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:3

注:现在可以看到/dev/vbirdvg/vbirdss快照区已经被创建好了,而且它的VG量竟然与原本的/dev/vbirdvg/vbirdlv相同。也就是说,如果你真的挂载了这个设备的时候,看到的数据会跟原本的vbirdlv相同。

[iyunv@localhostmnt]# df
Filesystem                   1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root  38776280 5020792  31785724 14% /
tmpfs                           243140      72   243068   1% /dev/shm
/dev/sda1                       495844   34907   435337   8% /boot
/dev/mapper/vbirdvg-vbirdlv   20642428 176200  19417652   1% /mnt/lvm
/dev/mapper/vbirdvg-vbirdss   20642428 176200  19417652   1% /mnt/snapshot
注:我们可以看出两个文件系统竟然一样!

  • 利用快照区复原系统

[iyunv@localhost mnt]# df /mnt/lvm
Filesystem                  1K-blocks   Used Available Use% Mounted on
/dev/mapper/vbirdvg-vbirdlv  20642428 176200  19417652  1% /mnt/lvm
[iyunv@localhost mnt]# ll /mnt/lvm
总用量 20
drwx------. 2 root root 16384 6月 27 22:17 lost+found
-rwxr-xr-x. 1 root root    23 6月  2722:29 test.sh
[iyunv@localhost mnt]# rm -rf/mnt/lvm/test.sh       ←对/dev/vbirdvg/vbirdlv中的内容做些修改
[iyunv@localhost mnt]# cp/etc/inittab /mnt/lvm
[iyunv@localhost snapshot]# cp -a/boot /lib /sbin/ /mnt/lvm
[iyunv@localhost lvm]# ls -l
总用量 40
dr-xr-xr-x.  5 root root 4096 4月   7 07:06 boot
-rw-r--r--.  1 root root  884 7月   2 00:43 inittab
dr-xr-xr-x. 11 root root  4096 4月   706:51 lib
drwx------.  2 root root 16384 6月 27 22:17 lost+found
dr-xr-xr-x.  2 root root 12288 5月 28 19:40 sbin         ←更改完毕
注:大家要注意复原的数据量不能高于快照区所能负载的实际容量。由于数据会被移到快照区,如果你的快照区数据量不够大,若原始数据被改动的实际数据量比快照大,那么快照就会容纳不了,这时候快照功能就会失效。
  [iyunv@localhost mnt]# lvdisplay
                   --- Logicalvolume ---
  LV Path                /dev/vbirdvg/vbirdss
  LV Name                vbirdss
  VG Name                vbirdvg
  LV UUID               oLtuEe-viTM-ccuU-PkVb-47qc-Swc1-VqtHsv
  LV Write Access        read/write
  LV Creation host, timelocalhost, 2016-07-02 00:23:06 +0800
  LV snapshot status     active destination for vbirdlv
  LV Status              available
  # open                 1
  LV Size                20.00 GiB
  Current LE             1280
  COW-table size         2.00 GiB
  COW-table LE           128
  Allocated to snapshot  9.63%  ←从这里可以看出,快照区已经被使用了9.63%,因为原始文件系统有过更改。

  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3



[iyunv@localhostmnt]# mount /dev/vbirdvg/vbirdss /mnt/snapshot/
[iyunv@localhostlvm]# df
Filesystem                   1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root  38776280 5020808  31785708 14% /
tmpfs                           243140      72   243068   1% /dev/shm
/dev/sda1                       495844   34907   435337   8% /boot
/dev/mapper/vbirdvg-vbirdlv   20642428 370036  19223816   2% /mnt/lvm
/dev/mapper/vbirdvg-vbirdss   20642428 176200  19417652   1%
/mnt/snapshot

[iyunv@localhost ~]# mkdir -p/backups            ←确定真的有这个文件
[iyunv@localhost ~]# cd/mnt/snapshot/
[iyunv@localhost snapshot]# tar -jvc-f /backups/lvm.tar.ba2 *
lost+found/
test.sh
注:现在我们可以看出两者已经不同,下面我们将快照区内容复制出来。
  • 为什么要备份呢?为什么不可以直接格式化/dev/vbird/vbirdlv,然后将/dev/vbirdvg/vbirdss直接复制给vbirdlv呢?要知道vbirdss其实是vbirdlv的快照,因此如果你格式化整个vibrdlv时原本的文件系统所有数据都会被复制到vbirdss。那如果vbirdss的容量不够大(大多数的时候都不够大),那么部分数据将无法复制到vbirdss内,数据当然无法全部还原。

所以才要在上面表格中制作出一个备份文件。

  • 将vbirdss卸载并删除(里面的内容已经备份起来了,现在vbirdss已经没有用了)

[iyunv@localhost ~]# umount/mnt/snapshot/
[iyunv@localhost ~]# lvremove/dev/vbirdvg/vbirdss
Do you really want to removeactive logical volume vbirdss? [y/n]: y
        Logicalvolume "vbirdss" successfully removed

         [iyunv@localhost ~]#umount /mnt/lvm

[iyunv@localhost ~]# mkfs -t ext3/dev/vbirdvg/vbirdlv
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0blocks
1310720 inodes, 5242880 blocks
262144 blocks (5.00%) reserved forthe super user
第一个数据块=0
Maximum filesystemblocks=4294967296
160 block groups
32768 blocks per group, 32768fragments per group
8192 inodes per group
Superblock backups stored onblocks:
         32768,98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
         4096000

正在写入inode表: 完成                           
Creating journal (32768 blocks): 完成
Writing superblocks and filesystemaccounting information: 完成

This filesystem will be automaticallychecked every 28 mounts or
180days, whichever comes first.  Use tune2fs-c or -i to override.

[iyunv@localhost~]# mount /dev/vbirdvg/vbirdlv /mnt/lvm
[iyunv@localhost~]# tar -jxf /backups/lvm.tar.ba2 -C /mnt/lvm
[iyunv@localhost ~]# ll /mnt/lvm
总用量 20
drwx------. 2 root root 16384 6月 27 22:17 lost+found
-rwxr-xr-x.1 root root    23 6月 27 22:29 test.sh

    这个LVM终于整完了,大家一起努力吧, 我们的路还很长,如有错误请大家多多指点!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-239200-1-1.html 上篇帖子: centOS 7.0 禁ip访问服务器 下篇帖子: 乌班图配置多个ip
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表