LVM磁盤管理
一、LVM簡介
LVM是Logical Volume Manager(邏輯卷管理)的簡寫,在linux2.4內核上實現。lvm將一個或霍格硬盤的分區在邏輯上集合,相當於一個大硬盤使用,當硬盤空間不夠使用的時候,可以繼續將其他的硬盤的分區加入其中,這樣可以實現磁盤空間動態管理。相對於普通的磁盤分區有很大的靈活性。
與傳統的磁盤與分區相比,LVM爲計算機提供了更高層次的磁盤存儲。它是系統管理員可以更方便的爲應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級),LVM也允許按用戶組對存儲捲進行管理,允許管理員用更直觀的名稱代替物理磁盤名來標識存儲卷
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或者/user等)
PE(physical extend):每一個物理卷被劃分爲稱爲PE的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認爲4MB
LE(logical extent):邏輯卷也被劃分爲被稱爲LE的可被尋址的基礎單元。在同一個卷組中,LE的大小和PE是相同的,並且一一對應
簡單來說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解爲一個倉庫或者是幾個大的硬盤
LV:也就是從VG中劃分的邏輯分區
如下圖所示PV、VG、LV三者關係
三、安裝LVM
首先確定系統中是否安裝了lvm工具:
rpm -qa|grep lvm; 如果沒有的話需要安裝,各個linux系統安裝命令不同,網絡尋找
四、創建和管理LVM
要創建一個LVM系統,一般需要經過以下幾個步驟:
1、使用fdisk /dev/sda 創建磁盤,修改磁盤的格式爲8e(-t命令)
創建完成以後需要使用partprobe命令讓分區表生效,無需重啓
2、創建PV
pvcreate /dev/hda# 與其說是創建稱之爲轉換更合適
3、創建VG
pvdisplay:首先查看已經存在的PV
vgcreate VolGroup00 /dev/hda#:創建VG,可利用已經存在的VG名(VolGroup00),同一VG名下的一組PV構成一個VG
vgdisplay:新建好以後查看一下詳細情況;只有創建完VG之後,才能從VG中劃分一個lv
4、創建LV
lvcreate -L 100M -n lvDate VolGroup00 :-n指定名稱;-L指定大小;VolGroup00:從這個VG中劃分LV
lvdisplay 創建好以後顯示一下信息
5、LV格式化並掛載使用
mke2fs -j /dev/VolGroup/lvData(順便指定分區格式)
mount /dev/VolGroup /mnt/leo
ls /mnt/leo
最好將lvData寫入fstable(/etc/fatab)
/dev/VolGroup00/lvData /mnt/leo ext4(fdksl -l查看一下) defualts 1 2
擴空當前分區
一、首先創建一塊新的分區:fdisk /dev/hda# 磁盤格式爲8e(-t)
partprobe:重讀分區表
mke2fs -j /dev/hda# 格式化 順便查看 partsx /dev/hda 或者fdisk -l
二、創建PV,擴容VG,LV
pvcreate /dev/hda#
vgdisplay #查看當前已經存在的VG信息,以存在VG:VolGroup00爲例
vgextend VolGroup00 /dev/had# 擴展VolGroup00
lvdisplay 查看已經存在的LV信息,以存在LV:LogVol01爲例
lvextend -L 1G /dev/VolGroup00/LogVol01 擴展LV
resize2fs /dev/VolGroup00/LogVol01 執行該重設大小,對與當前正在使用的LogVol01有效
df -h 查看掛載清空,已經擴容
補充內容:
LVM:
MD, DM
/dev/md#
meta device
DM:Device Mapper
邏輯設備
RAID,LVM2
DM:LVM2
快照:保留數據在此刻,訪問同一個文件的另一個路徑
主要目的是爲了實現數據備份
多路徑:
物理邊界,邏輯邊界
Logical Volume Volume Group Physical Volume
PE:Physical Extend,盤區
命令
pv:
pvcreate ,pvremove ,pvscan,pvdisplay,pvmove
vg:
用法: VG_NAME /path/to/pv
-s# PE大小,默認4MB
vgcreate, vgremove, vgreduce, vgdisplay,vgs,vgscan
lv:
用法:lvcreate -n(指定名稱) LV_NAME -L(指定大小) #G VG_NAME(在那個VG中創建)
lvcreate, lvremove, lvextend, lvreduce, lvs, lvdisplay
創建過程
pvcreate /dev/sda{10,11}
pvs:查看
pvdisplay
pvscan:掃描有那些PV
vgcreate [myvg] /dev/sda{10,11}
vgmove myvg
vgs
vgcreate -s 8M myvg /dev/sda{10,11}
vgdisplay myvg
pvmoce /dev/sda# 先移除pv
vgreduce myvg /dev/sda11
vgs
pvs
pvremove /dev/sda11
pvs
pvcreate /dev/sda12 創建pv
vgextend myvg /dev/sda12 擴展vg
//創建lv
lvcreate -L 50M -n testlv myvg 創建lv
lvs
lvdispy
lvdisplay /dev/myvg/testlv :查看某一個LV的信息
//掛載使用
mke2fs -j /dev/myvg/testlv
mount /dev/myvg/testlv /mnt/leo
ls /mnt/leo
//刪除
umount /mnt/leo
lvremove /dev/mapper/myvg-testlv
lvremove /dev/myvg/testlv