1. 程式人生 > >運維學習之lvm(邏輯卷管理)

運維學習之lvm(邏輯卷管理)

linux

前言註釋:LVM是 Logical Volume Manager(邏輯卷管理的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝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

##用制作好的/dev/vdb1這個物理卷制作一個物理卷組vg0

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(邏輯卷管理)