lvm(邏輯磁盤管理)
一、LVM簡介
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4內核上實現。LVM將一個或多個硬盤的分區在邏輯上集合,相當於一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對於普通的磁盤分區有很大的靈活性。
與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的為應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級)。LVM也允許按用戶組對存儲卷進行管理,允許管理員用更直觀的名稱(如"sales'、 'development')代替物理磁盤名(如'sda'、'sdb')來標識存儲卷。
如圖所示LVM模型:
由四個磁盤分區可以組成一個很大的空間,然後在這些空間上劃分一些邏輯分區,當一個邏輯分區的空間不夠用的時候,可以從剩余空間上劃分一些空間給空間不夠用的分區使用。
前面談到,LVM是在磁盤分區和文件系統之間添加的一個邏輯層,來為文件系統屏蔽下層磁盤分區布局,提供一個抽象的盤卷,在盤卷上建立文件系統。首先我們討論以下幾個LVM術語:
物理存儲介質(The physical media):這裡指系統的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。
物理卷(physical volume):物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
卷組(Volume Group):LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
邏輯卷(logical volume):LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
PE(physical extent):每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
LE(logical extent):邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,並且一一對應。
簡單來說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。
LV:也就是從VG中劃分的邏輯分區
如下圖所示PV、VG、LV三者關系:
三、 安裝LVM
首先確定系統中是否安裝了lvm工具:
[root@www root]# rpm –qa|grep lvm
lvm-1.0.3-4
如果命令結果輸入類似於上例,那麼說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載或者從光盤裝LVM rpm工具包。
實驗的結構圖說明
要創建一個LVM系統,一般需要經過以下步驟:
1、 創建lvm分區
進入要進入要劃分lvm的磁盤
新建分區完成後要對其進行格式化才能使用
使系統重新讀取分區表,如果不成功,則要重啟系統
partx -a /dev/sda
格式化為ext3類型的文件系統
mk2fs -t ext3 /dev/sda5
(對sda盤上的所有分區要已知的要求格式化,不會影響正在使用的分區上的內容)
產所有的分區情況,我們看到共建立了3個lvm分區(大小分別為1G 2G 3G)
2.創建物理卷
格式化完成後創建物理卷 {硬盤 分區} pv
對於建立物理卷可以同時對多個分區進行格式化,只需要把分區用花括號括起來
3.創建卷組(及卷組所使用的分區)
在這我們先使用兩個分區
4.創建邏輯區,並制定大小
對創建邏輯卷進行格式化,說明該卷的文件系統類型
對lv分區進行掛載,然後就可以使用
lvm中可能遇到的問題
(a)有的時候我們還會遇到這種情況,就是隨著我們的使用,我們發現之前建立的邏輯卷不夠使用了
這時候我們只要擴大可以vg分區
指定向vg區中添加新的pv分區
在新的卷組大小改變後,我們需要對lv重新格式化,把大小改變,重要的是不會損壞使用的lvm上的數據
在增大lvm的時候,先使用lvresize指明大小,在用resize2fs格式化大小
然後mount掛載就能繼續使用了
(b)有的時候我們的邏輯卷需要幾個,但是磁盤空間已經使用完了,而lvm有大有小,大的lvm有很多剩余空間,那麼我們可以把空間大的lvm減少空間給其他的lvm使用。
在減小lvm大小的時候,使用的命令和增大的相反,先使用resize2fs命令,後進行lvsize
因此,首先卸載lvm
重新格式化lvm
因為是減小,在resize2fs是要在該命令行最後指明減小到多大的空間
指明減小後的大小,對其lvresize,產看lvm的大小時就變成我們想要的結果
如果要在系統啟動的時候啟動LVM,最好是將testlv寫入fstable 文件中,如下所示:
使用Vim編輯器,打開/etc/fstab,在最後一行添加如圖中所示,其中/dev/testvg/testlv指定需要掛載的分區LVM,/mnt/lvm指定要掛載的目錄(掛載點),ext3分區文件系統格式,其它使用默認即可
刪除lvm架構
有時候我們對於建立的邏輯分區不想使用了但是它又占用了我們的磁盤,因此我們需要把它卸載掉。卸載的時候按照從上到下的卸載方式:即先卸載lvm,在刪除卷組,最後刪除物理卷。
卸載lvm邏輯卷:先把我們掛載的正在使用的lvm卸載,停止使用
 
刪除卷組
刪除物理卷
做完後,我們只需要重新對磁盤上的分區進行刪除劃分,即可達到其他的用途!
——--———————————————————————————————————
創建lvm使用到的命令
3.邏輯分區 lv
lvcreate lvdisplay lvresize resize2fs lvscan
2.卷組 {存儲池} vg
vgcreate vgextend vgreduce vgscan vgdisplay
1.物理卷 {硬盤 分區} pv
pvcreate pvdisplay pvscan pvremove
創建 lv
1.pvcreate
2.cgcreate 名稱 目錄卷
3.lvcreate -L 大小 -n 名稱 卷組名稱
4.格式化
5.掛載
擴展lv {在線}
1.vgextend 卷組 物理卷
2.lvresize -L 大小 +增加大小 lv路徑名稱
3.resize2fs lv路徑名稱
減小 {離線}
1,卸載
2.e2fsck -f lv路徑名稱
3.resize2fs lv路徑名稱 大小
4.lvresize -L 大小 lv路徑名稱
5.掛載
刪除整個架構
1.卸載邏輯卷
2.刪除邏輯卷 lvremove lv路徑名稱
3.刪除卷組 vgremove 卷組名稱
4.刪除物理卷 pvremove 物理磁盤或者分區
本文出自 “無痕” 博客,請務必保留此出處http://hucwuhen.blog.51cto.com/6253667/1263132