運維學習之lvm(邏輯卷管理)
前言註釋:LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操作系統時遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。普通的磁盤分區管理方式在邏輯分區劃分好之後就無法改變其大小,當一個邏輯分區存放不下某個文件時,這個文件因為受上層文件系統的限制,也不能跨越多個分區來存放,所以也不能同時放到別的磁盤上。而遇到出現某個分區空間耗盡時,解決的方法通常是使用
lvm管理
1.lvm名詞
lvm 邏輯卷,可以讓設備自由伸縮的一個設備管理軟件
pv 物理卷
vg 物理卷組
pe 物理拓展,lvm最小的存儲單元
lvm 邏輯卷,時最終我們使用的可以伸縮的設備
2.lvm的制作
首先劃分lvm所用到的設備,這些設備的功能id必須是linux LVM
1)lvm建立
pvcreate /dev/vdb1 ##把物理分區做成物理卷
pvs|pvdisplay ##查看物理卷
vgcreate vg0 /dev/vdb1
vgs|vgdisplay ##查看物理卷組
lvcreate -L 200M -n lv0 vg0 ##在vg0這個組中建立出lv0設備 -L 指定設備大小 -n 指定設備名字
lvs|lvdisplay
格式化分區並掛載到/mnt
兩個文件的軟連接相同
3.lvm設備的擴大
針對xfs文件系統
xfs文件系統只能擴大不能縮減
創建pv卷2,並把容量添加到vg0裏
1)lvm擴大
lvextend —L 500M /dev/vg0/lv0 ##擴大lvm設備到500M
xfs_growfs /dev/vg0/lv0 ##擴大xfs文件系統到設備大小
擴大lvm設備到300M
擴建xfs文件系統到設備大小
2)vg擴大
pvcreate /dev/vdb2 ##在pv中增加一塊設備/dev/vdb2
vgextend vg0 /dev/vdb2 ##把新建立的/dev/vdb2添加到vg0中
針對ext文件系統
ext文件系統可以擴大也可以縮減
先卸載設備,然後更改文件系統為ext4,再進行掛載
1)lvm擴大
lvextend —L 2G /dev/vg0/lv0 ##擴大lvm設備到2G
擴大lvm設備到400M
resize2fs /dev/vg0/lv0 ##設定文件系統大小和設備同步
使文件系統大小和設備同步
2)vg擴大
pvcreate /dev/vdb3 ##在pv中增加一塊設備/dev/vdb3
vgextend vg0 /dev/vdb3 ##把新建立的/dev/vdb2添加到vg0中
3)lvm縮減
umount /dev/vg0/lv0 ##卸載設備,因為文件系統縮減不支持在線操作e2fsck -f /dev/vg0/lv0 ##檢測文件系統,確定文件系統中已有數據大小防止過度縮減
resize2fs /dev/vg0/lv0 1G ##把文件系統縮減到1G
lvreduce -L 1G /dev/vg0/lv0 ##設備縮減到1G
4)vg縮減
#在vg縮減時只能縮減沒有被占用的設備
pvmove 設備1 設備2 ##把設備1上的所有數據移動到設備2上
vgreduce vg0 /dev/vdb1 ##把vg0中的/dev/vdb1刪除
pvremove /dev/vdb1 ##把/dev/vdb1上的lvm管理信息刪除
5)lvm丟失設備的刪除
[[email protected] ~]# pvs
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg0 lvm2 a-- 1020.00m 820.00m
/dev/vdb2 vg0 lvm2 a-- 1020.00m 1020.00m
unknown device vg0 lvm2 a-m 996.00m 996.00m ##設備丟失
[[email protected] ~]# vgreduce --removemissing vg0 ##刪除vg0中丟失的設備
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?
Wrote out consistent volume group vg0
[[email protected] ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 vg0 lvm2 a-- 1020.00m 820.00m
/dev/vdb2 vg0 lvm2 a-- 1020.00m 1020.00m
6.lvm快照
lvcreate -L 20M -n lv0-backup -s /dev/vg0/lv0 ##給/dev/vg0/lv0建立快照,-L 指定快照大小,-n指定快照名字 -s指定快照模板設備
mount /dev/vg0/lv0-backup /userdate
當快照設備裏的數據被更改,如果想還原,刪除快照設備,在重新建立快照即可
創建1到100個文件,然後卸載/mnt,會發現/mnt中的文件消失不見,用快照命令生成lvm快照,再把快照掛載到/mnt
實驗結果:所有文件重新出現在/mnt中
刪除快照設備
7.lvm刪除
lvremove---->vgremove----->pvremove
運維學習之lvm(邏輯卷管理)