LVM系統快照設定教學

由 Derek 發表於 十一月 8, 2011 / 尚無評論

 

一、 系統快照介紹

LVM的部份除了一般的使用外,還有系統快照的功能。所謂的系統快照指的就是將當時的系統資訊記錄下來,當若是有資料更動時,系統會先將原始資料先搬移到快照區儲存。等有需要還原是在從快照區取回即可。LVM的系統快照也可以說是「備份工具」,因為他只會備份有更動的資料,檔案系統內沒有被更動的資料則保持在原本的區塊內。簡單來說系統快照有還原的功能,可還原到之前的系統狀態。

 

 

二、 系統快照設定

1. 建立快照區

1.1 檢查看看VG還剩下多少容易可使用

[root@localhost ~]# vgdisplay

— Volume group —

VG Name               faqvg

VG Access             read/write

VG Status             resizable

VG Size               11.16 GB

PE Size               16.00 MB

Total PE              714

Alloc PE / Size       595 / 9.30 GB

  Free  PE / Size       119 / 1.86 GB

VG UUID               e2lS1t-7Rop-YHU4-qygQ-tDFq-LjVn-jOnv0h

 

若是查看後發現已經沒有可用的Free PE,請自行新增加入。

可參考此篇「LVM-LV的容量增減設定

 

1.2 先放一些檔案到已經建立好的LVM內,之後才好比較

[root@localhost ~]# cp -a /etc /var/log /mnt/lvm

 

1.3 建立系統快照區

[root@localhost ~]# lvcreate -l 100 -s -n faqss /dev/faqvg/faqlv

Logical volume “faqss” created

#以上參數最重要的就是-s,代表是 snapshot 快照功能之意

#-n 後面接快照區的裝置名稱, /dev/…. 則是要被快照的 LV 完整檔名

#l 後面則是接使用多少個 PE 來作為這個快照區使用

 

1.4 查看快照建立後的相關資料

[root@localhost ~]# lvdisplay

— Logical volume —

LV Name                      /dev/faqvg/faqss

VG Name                     faqvg

LV UUID                      9CUz4g-40Ub-Ptwg-4fPJ-7hzA-kf3A-QrQ5e2

LV Write Access           read/write

LV snapshot status     active destination for /dev/faqvg/faqlv

LV Status                     available

# open                         0

  LV Size                        9.30 GB

Current LE                   595

  COW-table size           1.56 GB

  COW-table LE              100

  Allocated to snapshot  0.00%

Snapshot chunk size    4.00 KB

Segments                     1

Allocation                      inherit

Read ahead sectors     auto

- currently set to          256

Block device                 253:1


如此一來
/dev/faqvg/faqss快照區就建立好了。所建立起來的faqss快照區內的檔案資料會看faqlv一樣。

若想測試,可自行將/dev/faqvg/faqss掛載起來查看就可以了。

 

 

2. 使用快照復原系統

在開始復原之前,要注意一下,所要復原的資料量不能高於快照區所負載的實際容量。因原始資料為移到快照區,但若快照區過小時會造成資料搬移有問題而失敗。

2.1 先來把原本mnt/lvm裡的資料做一下更動。

[root@localhost ~]# ll /mnt/lvm

drwxr-xr-x 87 root root  4096 Nov  7 05:00 etc

drwxr-xr-x 14 root root  4096 Nov  7 04:02 log

drwx——  2 root root 16384 Nov  1 17:44 lost+found

[root@localhost ~]# rm -rf /mnt/lvm/*

[root@localhost ~]# cp -a /var/games/ /var/cache/ /mnt/lvm

[root@localhost ~]# ll /mnt/lvm

drwxr-xr-x 11 root root 4096 Oct 27 12:45 cache

drwxr-xr-x  2 root root 4096 May 11 19:58 games

 

2.2 查看快照所使用狀況

由於剛剛已經有變動LVM內的資料,因此來看看在快照的部份是不是也有變動

[root@localhost ~]# lvdisplay  /dev/faqvg/faqss

— Logical volume —

LV Name                     /dev/faqvg/faqss

VG Name                     faqvg

LV Size                        9.30 GB

Current LE                   595

COW-table size           1.56 GB

COW-table LE              100

Allocated to snapshot  0.73%

Snapshot chunk size    4.00 KB

Allcoated to snapsho的部份會看到的確有增加。也就是說當在LVM做資料變動時,快照區也會自動的先將變動之前的資料自行備份,以方便還原。

 

2.3 製作一份 快照區的備份 (還原用的)

[root@localhost ~]# mount /dev/faqvg/faqss /mnt/snapshot/

[root@localhost ~]# mkdir -p /backups        #建立一個backups資料夾

[root@localhost ~]# cd /mnt/snapshot

[root@localhost ~]# tar -jcv -f /backups/lvm.tar.bz2 *  #把快照內的資料都tar起來

會將資料tar起來後在還原是因為,只要一但lvm有做任何的修改的話。會自動備份到快照區。所以如果是把lvm整個刪除的話。快照區會直接備份lvm所有的檔案,如此一來在快照區內的資料就有可能不會是當初要還原的資料。還有就是如果當快照區的空間不夠大的時後在lvm搬移到快照區就會失敗,近而造成資料無法還原。

 

2.4 卸載和移除faqss(快照區)

[root@localhost ~]# umount /mnt/snapshot  #將faqss快照內的資料備份了,所以可卸載

[root@localhost ~]#lvremove /dev/faqvg/faqss   #移除faqss快照區

Do you really want to remove active logical volume faqss? [y/n]: y

Logical volume “faqss” successfully removed

因為等等會格式化faqlv,怕資料會搬移到快照區。若是空間不夠會造成問題。所以就先卸載後刪除快照區。等之後有須要用在重新建立。

 

2.5還原faqlv的內容

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

[root@localhost ~]# mkfs -t ext3 /dev/faqvg/faqlv   #格式化faqlv

[root@localhost ~]# mount  /dev/faqvg/faqlv /mnt/lvm

[root@localhost ~]# tar -jxv -f /backups/lvm.tar.bz2 -C /mnt/lvm  #解tar還原到lvm

[root@localhost ~]# ll /mnt/lvm

drwxr-xr-x 87 root root  4096 Nov  7 05:00 etc

drwxr-xr-x 14 root root  4096 Nov  7 04:02 log

drwx——  2 root root 16384 Nov  1 17:44 lost+found

2.6 由於快照區是跟隨著LVM做變動。因此就算直接在快照區隨意更改設定。也不會影響到LVM,只需要在最後把快照區刪除後,從新建立一個新的就會再次和LVM連接了。

 

 

 

相關文章

LVM 設定說明  

LVM OS安裝設定方式 

LVM-LV的容量增減設定


 

關於作者

一個半路殺出來的傻小子,憑著一股傻勁努力的學習、嘗試、分享。希望能用自己微薄之力,替IT界和資訊界盡一點心力。單憑一己之力始終還是有限,歡迎和我有相同理念的夥伴一同加入一同努力。

評論

此文章尚無評論。

發表評論

*