Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.4.4. 建立快照卷冊(Snapshot Volumes)

使用 lvcreate 指令的 -s 引數來建立 snapshot 卷冊。Snapshot 卷冊是可寫入的。

注意

叢集中,在節點之間並不支援 LVM snapshot。您無法在叢集卷冊群組中建立一個 snapshot 卷冊。然而從 Red Hat Enterprise Linux 6.1 發行版開始,若您需要在叢集邏輯卷冊上建立一致的資料備份,您可單獨啟用卷冊,並建立 snapshot。欲取得在單一節點上,單獨啟用邏輯卷冊的相關資訊,請參閱〈節 4.7, “在叢集中啟用各別節點上的邏輯卷冊”〉。

注意

由 Red Hat Enterprise Linux 6.1 發行版起,鏡像邏輯卷冊支援了 LVM snapshot。
由 RHEL 6.3 發行版起,RAID 邏輯卷冊支援了 snapshot。欲取得 RAID 邏輯卷冊上的相關資訊,請參閱 節 4.4.13, “RAID 邏輯卷冊”
下列指令建立了一個大小為 100 MB 名為 /dev/vg00/snap 的 snapshot 邏輯卷冊。它建立了名為 /dev/vg00/lvol1 的原始邏輯卷冊的 snapshot。若原始的邏輯卷冊包含了一個檔案系統,您可將 snapshot 邏輯卷冊掛載在一個任意的目錄上以便在原始檔案系統進行更新的同時存取檔案系統的內容來進行備份。
# lvcreate --size 100M --snapshot --name snap /dev/vg00/lvol1
在您建立了 snapshot 邏輯卷冊後,利用 lvdisplay 指令來指定原始的卷冊,可產生出包含著一個含有所有 snapshot 邏輯卷冊與其狀態(啟用或停用)之清單的輸出。
下列範例顯示了邏輯卷冊 /dev/new_vg/lvol0 的狀態,並且有個 snapshot 卷冊 /dev/new_vg/newvgsnap 已被建立。
# lvdisplay /dev/new_vg/lvol0
  --- Logical volume ---
  LV Name                /dev/new_vg/lvol0
  VG Name                new_vg
  LV UUID                LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
  LV Write Access        read/write
  LV snapshot status     source of
                         /dev/new_vg/newvgsnap1 [active]
  LV Status              available
  # open                 0
  LV Size                52.00 MB
  Current LE             13
  Segments               1
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:2
就預設值,lvs 指令會顯示初始卷冊以及各個 snapshot 卷冊目前被使用到的比例。下列範例顯示了在一部包含著邏輯卷冊 /dev/new_vg/lvol0 的系統上輸入 lvs 指令的預設輸出,並且有個 snapshot 卷冊 /dev/new_vg/newvgsnap 已被建立。
# lvs
  LV         VG     Attr   LSize  Origin Snap%  Move Log Copy%
  lvol0      new_vg owi-a- 52.00M
  newvgsnap1 new_vg swi-a-  8.00M lvol0    0.20

警告

因為 snapshot 的大小會隨著原始卷冊的改變而增加,所以請記得時常透過 lvs 指令來監控 snapshot 卷冊的比例以確保它不會滿出。一個用滿 100% 的 snapshot 基本上一定會發生問題,因為若要寫至未修改的初始卷冊部份中一定得將該 snapshot 損毀才能成功。
由 RHEL 6.2 發行版起,新增了兩項 snapshot 的相關功能。首先,除了 snapshot 本身在滿出時會被無效化,任何掛載於該 snapshot 上的檔案系統也會被強制卸載,避免存取掛載點時發生必然的檔案系統錯誤。第二,您可在 lvm.conf 檔案中指定 snapshot_autoextend_threshold 選項。此選項能在每當剩餘的 snapshot 空間低於您所設置的門檻值時,自動延伸 snapshot。若要使用這項功能,卷冊群組中需要含有未分配的空間。
有關於設定 snapshot_autoextend_thresholdsnapshot_autoextend_percent 的相關資訊位於 lvm.conf 檔案中。欲取得有關於 lvm.conf 檔案上的相關資訊,請參閱 附錄 B, LVM 配置檔案