iT邦幫忙

DAY 27
11

關於IT資訊界的筆記和學習紀錄系列 第 37

LVM系統快照設定教學

一、 系統快照介紹
在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,請自行新增加入。

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掛載起來查看就可以了。

  1. 使用快照復原系統
    在開始復原之前,要注意一下,所要復原的資料量不能高於快照區所負載的實際容量。因原始資料為移到快照區,但若快照區過小時會造成資料搬移有問題而失敗。
    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連接了。

全文同步於FAQ-BOOK
IT鐵人文章分享


上一篇
SSL憑證設定(下)
下一篇
Tomcat如何使用Port 80和指定網頁存放路徑
系列文
關於IT資訊界的筆記和學習紀錄41

尚未有邦友留言

立即登入留言