2014-07-27

快照卷是一种特定类型的卷,代表当快照创建时卷上的所有数据。当我们备份进行时,不用担心数据被更改,同时也不需要离线数据系统。
快照卷可以大或者小,但是必须足够容纳快照生命周期中所有有的针对原始卷的改变。
原始卷

root@king:/# lvdisplay /dev/my_volume_group/kinglv 
  --- Logical volume ---
  LV Path                /dev/my_volume_group/kinglv
  LV Name                kinglv
  VG Name                my_volume_group
  LV UUID                lAT5Te-obE1-Q3dY-pU4r-YYDt-rSRu-hgmKQP
  LV Write Access        read/write
  LV Creation host, time king, 2014-07-27 14:43:41 +0800
  LV snapshot status     source of
                         dbbackup [active]
                         dbbackup2 [active]
  LV Status              available
  # open                 1
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0
  
root@king:/# lvcreate -L150 -s -n dbbackup /dev/my_volume_group/kinglv 
  Rounding up size to full physical extent 152.00 MiB
  Logical volume "dbbackup" created
  
#创建一个小于原始的快照卷
root@king:/# lvcreate -L40 -s -n dbbackup2 /dev/my_volume_group/kinglv   
  Logical volume "dbbackup2" created
  
#创建的两个快照卷
--- Logical volume ---
  LV Path                /dev/my_volume_group/dbbackup
  LV Name                dbbackup
  VG Name                my_volume_group
  LV UUID                oj21n8-0h3J-jhI6-e3xm-2zqK-xgTU-1bAf67
  LV Write Access        read/write
  LV Creation host, time king, 2014-07-27 22:52:35 +0800
  LV snapshot status     active destination for kinglv
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  COW-table size         152.00 MiB
  COW-table LE           38
  Allocated to snapshot  0.01%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1
   
  --- Logical volume ---
  LV Path                /dev/my_volume_group/dbbackup2
  LV Name                dbbackup2
  VG Name                my_volume_group
  LV UUID                P1IwY2-Rhyi-CwPU-Hmpw-Qk8c-rKXO-o49wgu
  LV Write Access        read/write
  LV Creation host, time king, 2014-07-27 22:55:04 +0800
  LV snapshot status     active destination for kinglv
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  COW-table size         40.00 MiB
  COW-table LE           10
  Allocated to snapshot  0.03%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:4
  
#卷大小等同于原始卷,但是COW表大小是指定的,当快照满是将被丢弃。
  
#挂载快照卷
root@king:/# mount /dev/my_volume_group/dbbackup /dbbackup/
root@king:/# df -h
Filesystem                            Size  Used Avail Use% Mounted on
/dev/sda1                             5.8G  963M  4.6G  18% /
none                                  4.0K     0  4.0K   0% /sys/fs/cgroup
udev                                  492M  4.0K  492M   1% /dev
tmpfs                                 101M  428K  100M   1% /run
none                                  5.0M     0  5.0M   0% /run/lock
none                                  501M     0  501M   0% /run/shm
none                                  100M     0  100M   0% /run/user
/dev/mapper/my_volume_group-kinglv     93M  1.6M   85M   2% /mnt
/dev/mapper/my_volume_group-dbbackup   93M  1.6M   85M   2% /dbbackup
  
# 移除快照,先卸载文件系统。
root@king:/# umount /dev/my_volume_group/dbbackup
root@king:/# lvremove /dev/my_volume_group/dbbackup
Do you really want to remove and DISCARD active logical volume dbbackup? [y/n]: y
  Logical volume "dbbackup" successfully removed