Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2802841
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: LINUX

2013-12-29 00:57:19

                                       使用lvm实现文件系统快照

     在做mysql数据库备份的时候,当库小于50G的时候,通过mysqldump一类的工具,就可以了。随着数据库的增长,
备份时间非常有限了,这时候我们只能通过物理备份来实现。在很多时候我们并没有长时间停机维护窗口来做mysql物理备份,
所以这时候只能借助于文件系统的快照功能来做,由于快照本身并不是真正的拷贝文件,所以速度会非常快.

   以下以rhel 5.5为例,实现文件系统的快照功能
在一个分区上创建phyical volume

[root@asm ~]# pvcreate /dev/sde1
  Physical volume "/dev/sde1" successfully created


创建volume group

[root@asm ~]# vgcreate vg01 /dev/sde1
  Volume group "vg01" successfully created

创建一个名为 lv01的logical volume

[root@asm ~]# lvcreate -L 5000M -n lv01 vg01
  Logical volume "lv01" created

格式化,并且挂载到/data
[root@asm ~]# mkfs -t ext3 /dev/vg01/lv01

[root@asm ~]# mkdir /data

[root@asm ~]# mount -t ext3  /dev/vg01/lv01  /data

访问/data,并且创建几个测试文件

[root@asm data]# cat "abc" >1
[root@asm data]# cat "abc" >2
[root@asm data]# cat "abc" >3

[root@asm data]# ls
1  2  3  lost+found

现在来创建一个快照
[root@asm data]# lvcreate -L 20M -s -n snap01 /dev/vg01/lv01
  Logical volume "snap01" created

挂载快照目录到/snap, 快照不需要格式化,需要注意

[root@asm ~]# mkdir /snap
[root@asm ~]# mount -t ext3 /dev/vg01/snap01 /snap

[root@asm ~]# cd /snap
[root@asm snap]# ls
1  2  3  lost+found

删除/data目录下的内容,看快照中结果

[root@asm dev]# cd /data
[root@asm data]# ls
1  2  3  lost+found
[root@asm data]# rm -fr 1
[root@asm data]# rm -fr 2
[root@asm data]# rm -fr 3

[root@asm snap]# cd /snap
[root@asm snap]# ls
1  2  3  lost+found

可以看到快照目录中1,2,3文件还是存在的,实现了快照的目标


[root@asm snap]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg01/lv01
  VG Name                vg01
  LV UUID                RYZ9tf-ZfU3-WLPW-mH5c-Qsqj-rHDU-oIAOve
  LV Write Access        read/write
  LV snapshot status     source of
                         /dev/vg01/snap01 [active]
  LV Status              available
  # open                 1
  LV Size                4.88 GB
  Current LE             1250
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
  
  --- Logical volume ---
  LV Name                /dev/vg01/snap01
  VG Name                vg01
  LV UUID                j407id-bB2I-keeQ-bXIT-L6nt-crTR-riDYIv
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/vg01/lv01  --表示是一个快照
  LV Status              available
  # open                 1
  LV Size                4.88 GB
  Current LE             1250
  COW-table size         20.00 MB
  COW-table LE           5
  Allocated to snapshot  0.72%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

可以看到通过lvm实现了快速对文件系进行备份.在要求7*24的mysql环境下,在备库上通过这种技术
 可以很快的对文件进行物理备份,不需要停机很长时间,而主库不需要任何中断,在数据量很大的
情况下显得尤其重要.

 


 

阅读(2869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~