#LVM
邏輯卷管理
一、創建pv
創建pv可以在物理硬盤(裸盤上創建),MBR類型的分區(要更改分區類型為linux lvm: 8e )。GPT分區也要更改分區類型為8e00 Linux LVM 。
還可以在RAID上創建。注意要在沒有數據的分區上創建,否則會丟失數據。
只有需要拆除pv才需要pvmove移動該pv的數據。否者不需要。拆除前要先調整vg大小。盡量讓vg小于剩余pv的總和。
注意,先調整pv上層的個系統,最后pvmove 移動數據。才能拆除pv
命令
pvcreat
pvcreate /dev/sdb
pvremove
pvmove
二、創建vg
可以創建多個vg,同一硬盤的不同分區可以屬于不同的vg。vg類似于MBR的擴展分區,不能獨立使用。需要在vg上創建邏輯分區,才能使用。
一般不建議單獨對vg進行縮減操作。一般都是在要縮減lv的空間,才有可能需要縮減vg
vg創建后,之后創建的lv設備會以軟連接的方式放到/dev/mapper/下。lv名稱是由所屬vgname組成格式: vgname-lvname,使用者更能區分,lv屬于哪個vg上的。
命令
vgcreat
vgcreate vg0 /dev/sdb
vgextend
vgextend vg0 /dev/sdc
vgreduce
vgremove
三、創建lv
一個vg上可以創建多個lv。
lv是系統可以識別的使用單位。一個lv就相當于一個磁盤
創建lv后需要使用分區工具,進行分區。然后創建需要的文件系統。所以注意,想要調整分區大小,一定要使用。相應分區類型的分區調整工具。
擴容的話可以先擴容lv在更新分區表。使用相應的分區類型的分區調整工具。ext系列是用resize2fs
命令
lvreduce
lvreduce -L 21G /dev/vg0/lvol0 縮減
lvextend
lvextend -L 35G /dev/vg0/lvol0 擴大
lvcreate
lvcreate -L 15G vg0
lvremove
lvremove /dev/vg0/lvol0
lvresize
lvreduce -L 21G /dev/vg0/lvol0 lv上有文件系統需要使用擴大vg或減小vg后需要使用 ?
創建快照
要創建快照,卷組一定要有富裕空間。
創建快照卷,快照卷必須與原卷處于同一卷組之內。
建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。
快照卷的生命周期,為整個數據時長,數據的增長量不能超過快照卷大小。根據數據變化量創建。最安全的做法是快照卷與原卷一樣大,或者與原卷的數據一樣大。
使用LVM快照
為現有邏輯卷創建快照
#lvcreate -L #[mgt] -s -n snap-data -p r /dev/vg0/data
-s 創建快照卷
-p r 創建只讀
-n 指明快照卷名稱
掛載快照
#mkdir -p /mnt/snap
#mount -o ro /dev/vg0/snap-data /mnt/snap
刪除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup
[root@yangyouwei ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
arc-snap myvg sri-aos— 1.00g archlinux 0.00
archlinux myvg owi-a-s— 10.00g
data myvg owi-aos— 7.00g
data-snap myvg sri-aos— 1.00g data 0.01
Attr 屬性字段中s表示快照卷。 r只讀 ,Origin 指的是原卷,Data% 指的是發生改變的數據(快照的中保存的原卷發生改變的數據)。
四、擴容lv
擴展邏輯卷:可在線執行擴展操作。無需卸載
# lvextend-L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #G 修復文件系統分區到多大。
resize2fs -p /dev/VG_NAME/LV_NAME 物理邊界有多大,就擴展到多大。
五、縮減lv
# 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
一定要先卸載,不能在線縮減。
一定要確認縮減后,依然能夠容納下原有的數據。
[root@yangyouwei ~]# df -hl
一般不建議,進行縮減操作。如必須執行的話,一定要嚴格按如下步驟執行。否則會造成系統無法識別lv,丟失數據。
先縮減文件系統邊界,后縮減lv邊界(物理邊界)
縮減邏輯卷:嚴格按照如下步驟只從。
卸載lv設備 umount/dev/VG_NAME/LV_NAME
強制檢測lv設備 e2fsck -f /dev/VG_NAME/LV_NAME ####如果是其他文件系統,使用相應的工具進行檢查。確保文件系統處于一致狀性態。
調整分區大小 resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] ####如不是ext系列的分區,許使用相應的工具調整。
調整lv大小 lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
注意事項:
創建的lvm設備,只有創建了lv以后才能被系統識別看到硬件設備。
/dev/vgname/vgname-lvname
/dev/mapper/lvname
lv是被系統設備能夠識別的,在/dev下有設備文件。dm-0…dm-n。
/dev/vgname/lvname /dev/mapper/lvname都是軟連接到 dm設備的
需要調整分區大小,需要先執行resize2fs,這僅是針對ext系列分區的分區調整工具。其他類型的分區,需要使用相應的工具。
lvm調整的時候注意各種邊界。pv邊界,vg邊界,lv邊界(物理邊界) 以及 文件系統邊界(邏輯邊界)
創建快照卷,快照卷必須與原卷處于同一卷組之內。
快照的原理
快照的實現是,創建快照是創建一個元數據監視器,將元數據保存在快照邏輯卷,這監視器,時刻監視著目標磁盤設備的元數據變化,一旦發生變化才將要被修改變化的數據備份到快照卷。(快照卷是指向訪問原卷的另一個路徑(類似于硬鏈接))。快照卷的體積很小。快照卷大小,取決于想要保存快照多長時間。時間越久,就需要更大的快照空間,最大到與原卷大小一樣??煺站硗ǔJ侵蛔x的。還有一種方式,是快照的快照。注意快照的實現是非常快的。
原創文章,作者:yyw,如若轉載,請注明出處:http://www.www58058.com/42643