在 LVM中 錄製邏輯卷快照並恢復(第三部分)
LVM快照是以空間換時間時間的方式製作的lvm卷副本。它只在lvm中工作,並只在源邏輯捲髮生改變時佔用快照卷的空間。如果源卷的變化達到1GB這麼大,快照卷同樣也會產生這樣大的改變。因而,對於空間有效利用的最佳途徑,就是總是進行小的修改。如果快照將儲存空間消耗殆盡,我們可以使用lvextend來擴容。而如果我們需要縮減快照所佔用卷的大小,可以使用lvreduce。
在LVM中錄製快照
如果我們在建立快照後意外地刪除了無論什麼檔案,我們沒有必要擔心,因為快照裡包含了我們所刪除的檔案的原始檔案。建立快照時,很有可能檔案已經存在了。不要改變快照卷,保持建立時的樣子,因為它用於快速恢復。
快照不可以用於備份選項。備份是某些資料的基礎副本,因此我們不能使用快照作為備份的一個選擇。
前置閱讀
我的伺服器設定
- 作業系統 — 安裝有LVM的CentOS 6.5
- 伺服器IP — 192.168.0.200
步驟1: 建立LVM快照
首先,使用‘vgs’命令檢查卷組中的空閒空間以建立新的快照。
# vgs # lvs
檢查LVM磁碟空間
正如你所見,在vgs命令輸出中,我們可以看到有8GB的剩餘空閒空間。所以,讓我們為我的名為tecmint_datas的卷建立快照。處於演示的目的,我將會使用以下命令來建立1GB的快照卷。
# lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas
或者
# lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas
上面的兩個命令都是幹得同一件事:
- -s – 建立快照
- -n – 為快照命名
建立LVM快照
此處,是對上面高亮要點的說明。
- 我在此建立的快照的大小。
- 建立快照。
- 建立快照名。
- 新的快照名。
- 要建立快照的卷。
如果你想要移除快照,可以使用‘lvremove’命令。
# lvremove /dev/vg_tecmint_extra/tecmint_datas_snap
移除LVM快照
現在,使用以下命令列出新建立的快照。
# lvs
驗證LVM快照
上面的你看到了吧,成功建立了一個快照。上面我用箭頭標出了快照建立的源,它就是tecmint_datas。是的,因為我已經為tecmint_datas l-volume建立了一個快照。
檢查LVM快照空間
讓我們新增一些新檔案到tecmint_datas裡頭。現在卷裡大概有650MB左右的資料,而我我們的快照有1GB大。因此,有足夠的空間在快照卷裡備份我們的修改。這裡我們可以使用下面的命令來檢視到,我們的快照當前的狀態。
# lvs
檢查快照狀態
你看到了,現在已經用掉了51%的快照卷,你要對你的檔案作更多的修改都沒有問題。使用下面的命令來檢視更多詳細資訊。
# lvdisplay vg_tecmint_extra/tecmint_data_snap
檢視快照資訊
再來對上面圖片中高亮的要點作個清楚的說明。
- 快照邏輯卷名稱。
- 當前使用的卷組名。
- 讀寫模式下的快照卷,我們甚至可以掛載並使用該卷。
- 快照建立時間。這個很重要,因為快照將跟蹤此時間之後的每個改變。
- 該快照屬於tecmint_datas邏輯卷。
- 邏輯卷線上並可用。
- 我們錄製快照的源卷大小。
- 寫時複製表大小,Cow = copy on Write,這是說對tecmint_data卷所作的任何改變都會寫入此快照。
- 當前使用的快照大小,我們的tecmintdata有10GB,而我們的快照大小是1GB,這就意味著我們的資料大概有650MB。所以,如果tecmintdatas中的檔案增長到2GB,現在的51%中的內容將增加到超過所分配的快照的大小,當然,我們在建立快照時會出現問題。這就意味著我們需要擴充套件邏輯卷大小(快照邏輯卷)
- 給出快照組塊的大小。
現在,讓我們複製超過1GB的檔案到tecmint_datas。讓我們看看會發生什麼。如果你那麼做了,你將會見到‘Input/output error’這樣的錯誤資訊,它告訴你快照超出空間大小了。
新增檔案到快照
如果該邏輯卷滿了,它就會自動丟失新的資料,我們就不能再使用了,就算我們去擴充套件快照卷的大小也不行。最好的方法就是在建立快照時,建立一個和源一樣大小的快照卷。tecmint_datas的大小是10GB,如果我們建立一個10GB大小的快照,它就永遠都不會像上面那樣超載,因為它有足夠的空間來錄製你的邏輯卷的快照。
步驟2: 在LVM中擴充套件快照
如果我們需要在超過容量前擴充套件快照卷的大小,我們可以使用以下命令來完成此項任務。
# lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap
現在,那裡有總計2GB大小的快照空間。
擴充套件LVM快照
接下來,使用以下命令來驗證新的大小和寫時複製表。
# lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap
要知道快照卷的大小使用%。
# lvs
檢查快照大小
然而,如果你的快照大小和源卷一樣,我們就沒有必要擔心這些問題了。
步驟3: 恢復快照或合併
要恢復快照,我們首先需要解除安裝檔案系統。
# unmount /mnt/tecmint_datas/
解除安裝檔案系統
只想檢查掛載點是否解除安裝成功,可以使用下面的命令。
# df -h
檢查檔案系統掛載點
這裡,我們的掛載已經被解除安裝,所以我們可以繼續恢復快照。要恢復快照,可以使用lvconvert命令。
# lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap
恢復LVM快照
在合併完成後,快照卷將被自動移除。現在我們可以使用df命令來檢視分割槽大小。
# df -Th
在快照卷自動移除後,你可以用下面的命令檢視邏輯卷大小。
# lvs
檢查邏輯卷大小
重要:要自動擴充套件快照,我們可以通過修改配置檔案來進行。對於手動擴充套件,我們可以使用lvextend。
使用你喜歡的編輯器開啟lvm配置檔案。
# vim /etc/lvm/lvm.conf
搜尋單詞autoextend。預設情況下,該值和下圖中的類似。
LVM配置
修改此處的100為75,這樣自動擴充套件的起始點就是75,而自動擴充套件百分比為20,它將自動擴容百分之20。
如果快照卷達到75%,它會自動為快照卷擴容20%。這樣,我們可以自動擴容了。使用wq!來儲存並退出。
這將把快照從超載導致下線事故中拯救出來,這也會幫助你節省更多時間。LVM是我們擴容以及獲得其它眾多特性如精簡資源調配、拆卸、虛擬卷和使用精簡池的唯一方法,讓我們在下一個話題中來討論吧。
via: http://212.71.234.61/take-snapshot-of-logical-volume-and-restore-in-lvm/
作者:Babin Lonston 譯者:GOLinux 校對:wxy
相關文章
- 在LVM中恢復已刪除的邏輯卷LVM
- Lvm邏輯卷管理、建立、使用、擴充套件、縮減、遷移、快照、恢復LVM套件
- 邏輯卷LVMLVM
- 在Linux中,如何使用LVM管理邏輯卷?LinuxLVM
- LVM 邏輯卷管理LVM
- 邏輯卷管理-LVMLVM
- 在LVM中恢復已刪除的物理卷LVM
- LVM_邏輯卷管理LVM
- Linux LVM邏輯卷LinuxLVM
- linux之LVM邏輯卷LinuxLVM
- linux LVM邏輯卷配置LinuxLVM
- LVM邏輯卷管理器LVM
- 邏輯卷管理---LVM2LVM
- Centos8中建立LVM精簡邏輯卷CentOSLVM
- Linux下LVM邏輯卷管理LinuxLVM
- lvm收縮邏輯卷空間LVM
- 邏輯卷管理實驗---縮減/home目錄使用空間並建立新的LVMLVM
- 如何在 Ubuntu 中管理和使用邏輯卷管理 LVMUbuntuLVM
- 實操CentOS8系統中建立LVM邏輯卷CentOSLVM
- Linux—磁碟配額,管理LVM邏輯卷LinuxLVM
- 邏輯卷管理-LVM(LOGIC VOLUMN MANAGER)LVM
- Linux邏輯盤卷管理LVM詳解LinuxLVM
- LVM基礎詳細說明及動態擴容lvm邏輯卷的操作記錄LVM
- 控制檔案恢復—從快照中恢復
- LVM邏輯卷線上動態擴容磁碟空間LVM
- 使用 LVM 命令建立卷組和邏輯卷例項LVM
- LVM(logical volume manager) 邏輯卷管理器LVM
- 一文全解:LVM(邏輯卷管理器)LVM
- MySql邏輯備份恢復MySql
- 邏輯分割槽管理 LVM 概念及在Ubuntu中的使用?LVMUbuntu
- Linux LVM Logical Volume Management 邏輯卷的管理LinuxLVM
- ENGINEER01 - 分割槽規劃和使用,LVM邏輯卷LVM
- linux 磁碟分割槽掛載-LVM-物理卷PV,卷組VG,邏輯卷LVLinuxLVM
- 遷移LVM分割槽到新的邏輯卷/驅動器(第六部分)LVM
- 【伺服器資料恢復】AIX環境下誤刪除邏輯卷的資料恢復方案伺服器資料恢復AI
- lvm 擴充邏輯卷空間(linux的磁碟擴容)LVMLinux
- centos7.2 LVM擴充套件某個掛載邏輯卷CentOSLVM套件
- Linux 系統 LVM(Logical Volume Manager)邏輯卷管理LinuxLVM