全部博文(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环境下,在备库上通过这种技术
可以很快的对文件进行物理备份,不需要停机很长时间,而主库不需要任何中断,在数据量很大的
情况下显得尤其重要.