邏輯卷管理(LVM)
通過整個磁盤和多個分區作為物理卷(pv),將其組成一個物理卷組(vg),通過卷組來彈性分配大小的磁盤就是邏輯卷(lv)。下圖就是邏輯卷的創建過程,所以邏輯卷的創建主要分為三部分。
一、物理卷的選擇
物理卷可以是整個磁盤也可是磁盤的一個分區,通過”pvcreate”來創建,如果是分區的話,在創建分區時要指定分區類型為’Linux LVM’??梢酝ㄟ^’pvs’來粗略查看pv。
圖中是我創建的兩個物理卷,其中sdb1是一個分區而sdc是一整個磁盤,創建完成后通過’pvs’來查看。
二、卷組的創建
我們將創建好的pv組成一個卷組以便以后邏輯卷使用,通過”vgcreate”來創建,創建時我們要跟上’-s size’來指定PE size的大小。
通過”vgdispaly”我們看到了pe的大小就是我們設置的8M,還可以看到vg的UUID、總容量等等信息。
三、邏輯卷的建立
在vg0的基礎上我們通過”lvcreate”來創立邏輯卷,邏輯卷的總大小不可超過vg的大小。
“lvcreate”命令中’-l’是指定創建lv大小的單位為”pe size” ?‘-L’是自己指定單位。
創建好邏輯卷后即可創建需要的文件系統。然后掛載到目錄下就可以使用了。
擴展、縮小邏輯卷
在對邏輯卷進行設置前要先取消掛載。增加邏輯卷的大小通過”lvextend -L “來指定大小,縮減邏輯卷的大小則是通過”lvreduce -L”,-L后跟的大小不是增加或縮小的大小而是總容量。以擴展邏輯卷為例
首先通過”lvdisplay”來查看lv1的大小為20G
然后通過”lvextend -L 30G ?/dev/vg0/lv1″擴展lv1的大小
然后查看
我們發現lv1的大小從20G擴展到了30G而不是增加了30G。
刪除物理卷
再刪除底層PV前我們先要確保vg中的可用空間要大于我們要刪除的pv大小。通過”pvmove /dev/sdb1″來搬出sdb1的容量,在”vgreduce vg0 /dev/sdb1″來減出vg中sdb1的空間,最后”pvremove ?/dev/sdb1″來刪除pv。
此時我們查看vg的大小也少去了sdb1的大小。
邏輯卷遷移
如果我們要將邏輯卷遷移到其他主機,首先要取消與當前主機的掛載關系,然后為了避免與新主機的沖突,要將lv與vg都改名為目標主機中不存在的名字。通過”lvrename””vgrename”來進行改名。
這是我們把原來的vg0和lv1改成了vg000he lv111。接著我們要禁用設備并導出。
接著將設備在舊主機上拔出,接入新主機。查看新主機中沒有同名設備后,導入vg000(“vgimport vg000”),啟用設備后(“vgchange -ay /dev/vg000/lv111”),掛在到新主機的目錄下即可使用。
邏輯卷快照的原理及使用
邏輯卷快照的原理是通過命令對邏輯卷中的內容創建一個邏輯卷快照,此時無論我們修改或刪除邏輯卷的內容,快照里面都是被修改內容剛剛創建的狀態。當我們通過快照還原邏輯卷時,邏輯卷就會還原到快照創建時的樣子,還原后快照也會被刪除。
通過”lvcreate -n lv0-snapshot -p r -L 1G -s /dev/vg000/lv0″來創建關于邏輯卷’lv0’的快照,將其掛載到目錄后我們可以看到創建快照時’lv0’中的內容,若要還原邏輯卷,首先要將邏輯卷和邏輯卷快照取消掛載,然后通過”lvconvert — merge /dev/vg000/lv0-snapshot”即可還原數據。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/89683