lvm介紹:
lvm:全稱Logical Volume Manager,重點在于可以彈性調整filesystem 容量,并非在于數據安全
lvm:整合多個分區或者磁盤為一個整體,讓分區看起來想一個整體。
lvm:設備名/dev/md-#,軟鏈接設備名/dev/VG_name/LV_name 、/dev/mapper/VG_name/LV_name
下面由一張圖說明lvm組成吧!
pv:physcal volume指磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,
但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數
vg:Volume Group類似于非LVM系統中的物理磁盤,其由一個或多個物理卷PV組成??梢栽诰斫M上創建一個或多個LV
(邏輯卷)。每個卷組中的pe數量做多65534個pe,所以每個卷組默認最大容量4*65534/1024=256G,pe在創建卷組時
可以指定其大小
lv:logical volume相當于物理磁盤中的分區
PE:pv卷的最基本單位,默認pe大小為4MB,pe大小可以
簡單說明lvm卷創建過程:
1、將磁盤分區轉換成8e(lvm卷磁盤類型)或直接用磁盤
2、將多個8e類型的磁盤分區創建成物理卷pv
3、將多個物理卷組成卷組
4、在卷組上劃分出邏輯卷
創建邏輯卷前,先了解下一些命令工具
pvs(pvsan):搜索系統中任何含有pv的磁盤
pvcreate:創建物理卷
pvdisplay:顯示目前系統上的pv狀態
pvremove:將pv屬性移除,移除前確保沒加入任何vg
創建pv:pvcreate /dev/sd{a1,a2,b1} /dev/sdb
注意:當某個磁盤已經劃分分區之后,在想創建pv,必須將剩余的空間劃分成分區,將分區類型轉換成8e
vgs(vgsan):搜索系統中vg狀態
vgcreate:創建vg
-s:指定pe大小
vgdisplay:顯示詳細的vg狀態
vgextend:擴充vg容量,也就是在vg中添加pv
vgreduce:從vg中移除pv
vgchange:配置vg是否啟動(active)
vgremove:刪除-個vg
(1) 創建vg,指定PE大小為16M
vgcreate -s 16M vg0 /dev/sd{a1,a2}
(2)擴展卷組vg0
vgextend vg0 /dev/sdb1
(3)刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
lvscan(lvs):查看系統中的lv
lvcreate:創建lv
-L:以常用的M ,G等單位制定lv大小,+10G :從原有的大小增加10G 10G:從原有的大小擴展到10G
-l:以PE塊個數指定lv大小,在lvdisplay時出現LE選項實際指的就是PE塊,只是改了名字
-n:只定lv名稱
lvdisplay:顯示lv詳細信息
lvextend:擴容lv
lvreduce:在lv中減少容量
lvremove:刪除lv
lvresize:對lv容量大小進行調整
(1)lv創建:
lvcreate -L +10G -n lv0(邏輯卷名) vg0(卷組名)
(2)擴展lv
lvextend -L +5G lv0
resize2fs /dev/vg0/lv0 :重新格式化lv0
或者兩步合并為一步
lvextend -r -L +5G lv0
將卷組剩余的全部空間擴展
lvextend –r –l +100%FREE lv名
(3) 縮減邏輯卷需要5步,注意順序不要打亂,前提是lv中有空間去縮減
1、取消掛載 umount /dev/vg0/lv0
2e2fsck –f /dev/vg0/lv0
3、縮減文件系統:
resize2fs /dev/vg0/lv0 10G 縮減到10G
4、縮減邏輯卷
lvreduce –L 10G
5、掛載
mount /dev/vg0/lv0
xfs文件系統邏輯卷只能擴展,不能縮減
重設文件系統大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [- f] [- F] [- M] [- P] [- p] device [new_size]
創建邏輯卷實例
一、創建一個至少有兩個PV組成的大小為20G的名為vg0 的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏 輯卷lv0;掛載至/users目錄
1、創建pv [root@centos7 ~]# pvcreate /dev/sd{b,d,e1} Physical volume "/dev/sdb" successfully created Physical volume "/dev/sdd" successfully created Physical volume "/dev/sde1" successfully created [root@centos7 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb lvm2 --- 20.00g 20.00g /dev/sdd lvm2 --- 20.00g 20.00g /dev/sde1 lvm2 --- 5.00g 5.00g [root@centos7 ~]# 2、創建卷組 [root@centos7 ~]# vgcreate -s 16MB vg0 /dev/sdb /dev/sde1 Volume group "vg0" successfully created [root@centos7 ~]# vgcreate -s 16MB vg1 /dev/sdd Volume group "vg1" successfully created [root@centos7 ~]# [root@centos7 ~]# vgs VG #PV #LV #SN Attr VSize VFree vg0 2 0 0 wz--n- 24.99g 24.99g vg1 1 0 0 wz--n- 20.00g 20.00g [root@centos7 ~]# 3、創建lv卷 [root@centos7 ~]# lvcreate -L +5G -n lv0 vg0 Logical volume "lv0" created. [root@centos7 ~]# [root@centos7 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- 5.00g [root@centos7 ~]# 4格式化lv [root@centos7 ~]# mkfs.ext4 /dev/vg0/lv0 5掛載 mount /dev/vg0/lv0 /users
邏輯卷快照
快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的
準確拷貝
? 對于需要備份或者復制的現有數據集臨時拷貝以及其它操
作來說,快照是最合適的選擇。
? 快照只有在它們和原來的邏輯卷不同時才會消耗空間。
? 在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或
者快照有所改變才會使用這些空間
? 當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
? 快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快
照中更改的數據
? 建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可
以使用 lvextend放大快照。
快照就是將當時的系統信息記錄下來,就好像照相一般,
若將來有任何數據改動了,則原始數據會被移動到快照區
,沒有改動的區域則由快照區和文件系統共享。
由于快照區與原本的LV共用很多PE的區塊,因此快照去與
被快照的LV必須要要在同一個VG上!系統恢復的時候的文
件數量不能高于快照區的實際容量。
創建快照實例
為現有邏輯卷創建快照
#lvcreate – l 64 – s – n snap- data – p r /dev/vg0/data
-s:指定創建的lv為快照
-n:快照名稱
-p r:指定快照為只讀的:最好指定
? 掛載快照
#mkdir – p /mnt/snap
#mount – o ro /dev/vg0/snap- data /mnt/snap
? 刪除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup
原創文章,作者:wangnannan,如若轉載,請注明出處:http://www.www58058.com/41835
文章內容完整,思路清晰,理論和實踐相結合,具有很強的操作性,整體下來讀者能學到很多知識。