Linux基礎:邏輯卷管理器詳解(LVM)

邏輯卷管理器(LVM)


邏輯卷管理器:     
    容許對捲進行方便操做的抽象層,包括從新設定文件系統的大小
    容許在多個物理設備間從新組織文件系統
    將設備指定爲物理卷
    用一個或多個物理捲來建立一個卷組
    物理卷是用固定大小的物理區域來定義的
    在物理捲上建立的邏輯卷是有物理區域組成
    能夠在邏輯捲上建立文件系統

LVM更改文件系統的容量高ide


LVM能夠彈性的更改LVM的容量
經過交換PE來進行資料的轉換,將原來LV內的PE轉移到其餘的設備中以下降LV的容量,或將其餘設備中的PE加到LV中以加到容量

PV管理工具工具


顯示PV信息
PVS :簡要PV信息顯示
psdisplay
建立pv
pvcreate /dev/sdb

vg管理工具ui


顯示卷組 
vgs
vgdisplay
建立卷組
vgcreate [-s #[kKmMgGtTpPeE]pe大小指定-s] VolumeGroupName【卷組名字】
PhysicalDevicePath[PhysicalDevicePath...] 【卷組加入一個一個加上】
管理卷組
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 【擴展】
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 【縮減】
刪除卷組
先作pvmove  ,在作vgremove

lv管理工具url


顯示邏輯卷
lvs
lvdisplay
建立邏輯卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
刪除邏輯卷 lvremove /dev/VG_NAME/LV_NAME
重設文件系統大小
    fsadm [options] resize device [new_size[BKMGTEP]]
     resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

擴展和縮減邏輯卷code


擴展邏輯卷:
lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME
lvresize -r -l +100%FREE /dev/VG_NAME/LV_NAME 

縮減邏輯卷:
umount /dev/VG_NAME/LV_NAME
e2fsck -f /dev/VG_NAME/LV_NAME
resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] 
lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME mount

建立物理卷rem


第一步:建立pv:   pvcreate  /dev/sd{d1,e}  【注意分區要改ID,硬盤不須要改 】
第二步:建立vg:  vgcreate  vg0 -s  16M  /dev/sd{d1,e}【-s 16M  本身指定的】
第三步:建立LV:lvcreate -n lv0  -L 2G  vg0  【-n是指定名字  -L是指定大小  後面是從哪一個vg裏面取】 
第四步:建立文件系統mkfs.ext4/dev/vg0/lv0 
而後建立文件夾掛載 :寫入/etc文件
第五步:若是沒有空間了 就pvcreate  /dev/sdc,而後vgextend   vg0 /dev/sdc 【把/dev/sdc加入到vg0這個卷組】
而後就能夠擴展邏輯卷lv  
而後:lvextend  -L +500M  /dev/vgo/lv0【-L+500M 是在原基礎上加500M  /dec/vg0/lv0  加到這個邏輯卷中】 
第六步:同步文件系統【看看是ext仍是xfs【resize2fs  /dev/vgo/lv0[跟設備],或xfs_growfs   /mnt/lv0[跟掛載點]】

縮減:xfs系列不支持,ext系列支持
首先要取消掛載:umount /mnt/lv0
第二步:查看系統完整性: fsck  -f  /dev/vg0/lv0 
第三步:先縮減文件系統  resize2fs   /dev/vg0/lv0  2G 【縮減到2G】
第四步:縮減邏輯卷  LVreduce  -L  2G /dev/vg0/lv0 【縮減到2G】
第五步:掛載上查看一下

跨主機遷移卷組同步


源計算機上 
1 在舊系統中,umount全部卷組上的邏輯卷 
2 vgchange –a n vg0 lvdisplay 
3 vgexport vg0
pvscan 
vgdisplay 
拆下舊硬盤 
在目標計算機上 
4 在新系統中安裝舊硬盤,並vgimport vg0. 
5 vgchange –ay vg0 
6 mount全部卷組上的邏輯卷

步驟:it

第一步:考慮到遷移過去可能名字會相同,爲了不這個文件首先進行更名
vgrename   vg0  xinvg0  【更名】 lvrename   /dev/xinvg0/lv0  xinlv0  【更名要加路經】
第二步:先取消掛載 umount  /mnt/lv0【可能會有幾個...拆下舊硬盤】
第三步:設置爲非活動狀態vgchange  -an xinvg0
第四步:設置卷組爲導出狀態vgexport xinvgo
第五步:在另外一個機器上添加這個硬盤 而後識別一下  echo '- - -'>/sys/class/scsi_host/host0/scan
第六步:導入:vgimprot xinvg0   【lvdisplay 查看 】
第七步:激活:vgchange  -ay  xinvg0
第八步:建立掛載點:mkdir /mnt/xinlv0   掛載:mount /dev/xinvg0/xinlv0  /mnt/xinlv0

邏輯卷管理器快照io


快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
對於須要備份或者複製的現有數據臨時拷貝以及其它操做來講,快照是最合適 的選擇
快照只有在它們和原來的邏輯卷不一樣時纔會消耗空間
在生成快照時會分配給它必定的空間,但只有在原來的邏輯卷或者快照有所 改變纔會使用這些空間
當原來的邏輯卷中有所改變時,會將舊的數據複製到快照中。 
快照中只含有原來的邏輯卷中更改的數據或者自生成快照後的快照中更改的 數據
創建快照的卷大小隻須要原始邏輯卷的15%~20%就夠了,也可使用
lvextend放大快照

使用LVM快照class


爲現有邏輯卷建立快照
 lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data 
 掛載快照
 mkdir -p 
 /mnt/snap mount -o ro /dev/vg0/data-snapshot   /mnt/snap 
 恢復快照
 umount /dev/vg0/data-snapshot
 umount /dev/vg0/data
 lvconvert --merge /dev/vg0/data-snapshot
 刪除快照 
 umount /mnt/databackup
 lvremove /dev/vg0/databackup

建立邏輯卷快照


ext系列
首先更名:lvrename /dev/xinvg0/xinlv0 lv0
第二步:lvcreate -n lv0-kuaizhao  -s -L 1G /dev/xinvg0/lvo 【-n 是名字  -s 表明快照  -L 是指定多大】
第三步: 建立一個掛載點 /mnt/lv0-kuaizhao  掛載:mount  /dev/xinvg0/lv0  /mnt/lv0-kuaizhao 
第四步:還原邏輯卷 ,先取消掛載 umount /mnt/lv0  umount /mnt/lv0-kuaizhao 
第五步:恢復:lvconvert  --merge  /dev/xinvg0/lv0-kuaizhao【--merge 合併的意思】
第六步:掛載 mount /dev/xinvg0/lv0 /mnt/lv0【還原】

xfs系列
第一步:lvcreate -n lv1-kuaizhao  -s -L 1G /dev/xinvg0/lv1 【-n 是名字  -s 表明快照  -L 是指定多大 /dev/xinvg0/lv1  表明誰的快照 】
第二步:mkdir /mnt/lv1-kuaizhao 掛載 mount  -o nouuid /dev/xinvg0/lv1-kuaizhao  /mnt/lv1-kuaizhao  【-o nouuid 是xfs系列加 】
第三步:先取消掛載 umount /mnt/lv1  umount /mnt/Lv1-kuaizhao
第四步::恢復:lvconvert  --merge  /dev/xinvg0/lv1-kuaizhao【--merge 合併的意思】

刪除快照:
取消掛載  umount /mnt/lv0-kuaizhao
而後:lvremove /dev/xinvg0/lv0-kuaizhao

例:物理卷,卷組,邏輯卷全都不要:


先取消掛載:umount /mnt/lv1,mount /mnt/lv0
而後:刪除邏輯卷:lvremove /dev/xinvg0/lv{1,0}
而後刪除卷組vg :vgremove xinvg0
而後刪除pv :pvremove /dev/sdc  /dev/sdb
相關文章
相關標籤/搜索