LVM磁盤管理PV/VG/LV常用命令參考手冊(附AIX命令對比)

LVM磁盤管理

一、LVM簡介… 1

二、 LVM基本術語… 2

三、 安裝LVM… 3

四、 創建和管理LVM… 4

2、 創建PV.. 6

3、 創建VG.. 7

4、 創建LV.. 9

5、LV格式化及掛載… 10

一、LVM簡介

LVM 是 Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelshagen在Linux 2.4內核上實現。LVM將一個或多個硬盤的分區在邏輯上集合,相當於一個大硬盤來使用,當硬盤的空間不夠使用的時候,可以繼續將其它的硬盤的分區加入其中,這樣可以實現磁盤空間的動態管理,相對於普通的磁盤分區有很大的靈活性。

與傳統的磁盤與分區相比,LVM爲計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的爲應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級)。LVM也允許按用戶組對存儲捲進行管理,允許管理員用更直觀的名稱(如”sales’、 ‘development’)代替物理磁盤名(如’sda’、’sdb’)來標識存儲卷。

如圖所示LVM模型:

clip_p_w_picpath002[7]
  由四個磁盤分區可以組成一個很大的空間,然後在這些空間上劃分一些邏輯分區,當一個邏輯分區的空間不夠用的時候,可以從剩餘空間上劃分一些空間給空間不夠用的分區使用。

二、 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三者關係:

clip_p_w_picpath004[7]
  三、 安裝LVM

首先確定系統中是否安裝了lvm工具:

[root@www root]# rpm –qa|grep lvm

lvm-1.0.3-4

如果命令結果輸入類似於上例,那麼說明系統已經安裝了LVM管理工具;如果命令沒有輸出則說明沒有安裝LVM管理工具,則需要從網絡下載或者從光盤裝LVM rpm工具包。

四、 創建和管理LVM

要創建一個LVM系統,一般需要經過以下步驟:

1、 創建分區

使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型爲8e。如下列圖所示:

clip_p_w_picpath006[8]
  查看磁盤分區表
clip_p_w_picpath008[6]
  使用fdisk創建分區,根據設備文件的絕對路徑(/dev/hda)進入分區管理
clip_p_w_picpath010[6]
clip_p_w_picpath012[6]
  一定要指定分區的格式爲8e,這是LVM的分區格式

2、 創建PV

clip_p_w_picpath014[6]
  3、 創建VG
clip_p_w_picpath016[6]
clip_p_w_picpath018[6]
  創建完成VG之後,才能從VG中劃分一個LV。

4、 創建LV

clip_p_w_picpath020[6]
  創建了一個名字爲lvData,容量大小是100M的分區,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示從這個VG中劃分LV;

5、LV格式化及掛載

下一步需要對LV進行格式化(使用mksf進行格式化操作),然後LV才能存儲資料

clip_p_w_picpath022[6]
  將格式化後的LV分區掛載到指定的目錄下,就可以像普通目錄一樣存儲數據了
clip_p_w_picpath024[6]
  掛載之後,可以看到此LV的容量。

如果要在系統啓動的時候啓動LV,最好是將lvData寫入fstable 文件中,如下所示:

clip_p_w_picpath026[6]
  使用Vim編輯器,打開/etc/fstab,在最後一行添加如圖中所示,其中/dev/VolGroup00/lvData指定需要掛載的分區LV,/root/test指定要掛載的目錄(掛載點),ext3分區文件系統格式,其它使用默認即可

擴容當前分區

一、首先創建一塊新的分區:

fdisk /dev/hda

n

l #選擇邏輯分區,如果沒有,則首先創建擴展分區,然後再添加邏輯分區(硬盤:最多四個分區P-P-P-P或P-P-P-E)

6 #分區號(從5開始),/dev/hda6

t 8e #分區類型8e表示LVM分區

w #寫入分區表

partprobe #重讀分區表

mkfs –t ext3 /dev/hda6 #格式化

partx /dev/hda #查看當前硬盤的分區表及使用情況

二、創建PV,擴容VG,LV

pvcreate /dev/hda6

vgdisplay #查看當前已經存在的VG信息,以存在VG:VolGroup00爲例

vgextend VolGroup00 /dev/hda6 #擴展VolGroup00

lvdisplay #查看已經存在的LV信息,以存在LV:LogVol01爲例

lvextend –L 1G /dev/VolGroup00/LogVol01 #擴展LV

resize2fs /dev/VolGroup00/LogVol01 #執行該重設大小,對於當前正在使用的LogVol01有效

df –h #查看掛載情況,已經擴容



Linux系統LVM管理PV/VG/LV常用命令參考手冊(附AIX命令對比)

本文總結了Linux系統LVM工具管理物理卷PV、卷組VG、邏輯卷LV的常用命令,並附加應用實例。同時提供了AIX與Linux LVM的命令對比,爲Linux、AIX系統管理員創建、刪除、擴容、查看及修改PV/VG/LV提供參考。

物理卷(PV)管理

初始化成爲物理卷

pvcreate PhysicalVolume [PhysicalVolume...]

註釋:使用pvcreate命令將一個塊設備初始化爲一個PV。PhysicalVolume參數可以是一個磁盤分區,整個磁盤,meta磁盤設備。當整個磁盤作爲一個PV時,磁盤必須沒有分區列表,擦除分區表可以通過以下命令將第一個扇區寫0:dd if=/dev/zero of=PhysicalVolume bs=512 count=1

命令示例:

#pvcreate /dev/sdd1 /dev/sde1 /dev/sdf1

顯示物理卷

pvdisplay PhysicalVolumePath [PhysicalVolumePath...]

註釋:使用pvdisplay命令顯示一個或多個物理卷的屬性

命令示例:

#pvdisplay

— Physical volume —

PV Name /dev/sdc1

VG Name new_vg

PV Size 17.14 GB / not usable 3.40 MB

Allocatable yes

PE Size (KByte) 4096

Total PE 4388

Free PE 4375

Allocated PE 13

PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe

掃描物理卷

pvscan

註釋:在系統LVM塊設備中檢索PV

命令示例:

# pvscan

PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]

PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]

PV /dev/sdc2 lvm2 [964.84 MB]

Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]

改變物理卷的分配許可

pvchange -x n PhysicalVolumePath

註釋:允許用戶改變一個或多個物理卷的分配許可

命令示例:

#pvchange -x n /dev/sdk1

刪除物理卷

pvremove PhysicalVolumePath

註釋:將物理卷刪除,刪除之前必須用vgreduce命令把它從卷組中移除

命令示例:

pvremove /dev/sdb2

卷組(VG)管理

創建卷組

pvcreate [–s PhysicalExtentSize] [ –p MaxLogicalVolumes] [-l MaxLogicalVolumes] VolumeGroupNamePhysicalVolumePath [PhysicalVolumePath...]

註釋:卷組將多個物理卷組成一個整體,屏蔽了底層物理卷細節。在卷組上創建邏輯卷時無需考慮具體的物理卷信息。

選項:

-s:設置物理卷的PE大小,默認爲megabytes

-p:卷組中允許添加的最大物理卷數

-l:卷組上允許創建的最大邏輯卷數

命令示例:

vgcreate myvg /dev/sdb1 /dev/sdb2

掃描並顯示系統中的卷組

vgscan

註釋:查找系統中存在的LVM卷組,僅顯示找到的卷組名稱和LVM元數據類型,要得到卷組的詳細信息需使用vgdisplay命令。

命令示例:

#vgscan

Found volume group “vg2000″ using metadata type lvm2

Found volume group “vg1000″ using metadata type lvm2

顯示卷組屬性

vgdisplay VolumeGroupName

註釋:顯示LVM卷組的元數據信息,如不指定卷組參數,則顯示所有卷組屬性。

命令示例:

# vgdisplay new_vg

— Volume group —

VG Name new_vg

System ID

Format lvm2

Metadata Areas 3

Metadata Sequence No 11

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 0

Max PV 0

Cur PV 3

Act PV 3

VG Size 51.42 GB

PE Size 4.00 MB

Total PE 13164

Alloc PE / Size 13 / 52.00 MB

Free PE / Size 13151 / 51.37 GB

VG UUID jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32

增加PV到現有卷組

vgextend VolumeGroupName PhysicalVolumePath [PhysicalVolumePath...]

註釋:動態添加一個或多個PV到卷組

命令示例:

#vgextend myvg /dev/sdb2

從卷組中刪除PV

vgreduce [-a] VolumeGroupName [PhysicalVolumePath...]

註釋:從卷組中刪除一個或多個無用的PV,在使用之前,需通過pvmove把PV上的LV移動到其他PV上。

選項:

-a:如果命令行中沒有指定刪除的物理卷,則刪除所有的空物理卷

命令示例:

#vgreduce myvg /dev/hda1

改變卷組屬性

vgchange [-a {y|n}] [-l MaxLogicalVolumes] VolumeGroupName

註釋:設置卷組爲活動狀態或非活動狀態,或改變卷組的最大LV數量。

選項:

-a:設置卷組的活動狀態

-l:改變一個當前非活動卷組的最大邏輯卷數

命令示例:

#vgchange –a y myvg

#vgchange –l 128 /dev/vg00

刪除卷組

vgremove VolumeGroupName [VolumeGroupName...]

註釋:刪除一個或多個卷組。卷組上必須沒有邏輯卷並且爲非活動狀態。當卷組上已創建了邏輯卷時,vgremove需要進行確認刪除。

命令示例:

# vgremove myvg

分割卷組

vgsplit ExistingVolumeGroupName NewVolumeGroupName PhysicalVolumePath[PhysicalVolumePath...]

註釋:把卷組的PV分成兩部分,並建立新的VG。被分割到新的VG的PV必須不包括LV的一部分,即:LV不能跨組。

命令示例:

# vgsplit bigvg smallvg /dev/ram15

合併卷組

vgmerge DestinationVolumeGroupName SourceVolumeGroupName

註釋:把非活動狀態的源卷組合併到活動或非活動狀態的目標卷組中。

命令示例:

#vgmerge -v databases myvg

邏輯卷(LV)管理

創建邏輯卷

lvcreate [-l LogicalExtentsNumber] [-L LogicalVolumeSize] [-n LogicalVolumeName] VolumeGroupName[PhysicalVolumePath...]

註釋:創建LVM的邏輯卷。

選項:

-L:指定邏輯卷的大小

-l:指定邏輯卷的大小(LE數)

-n:創建邏輯卷的名稱

命令示例:

#lvcreate -L 1500 -ntestlv testvg /dev/sdg1

收縮邏輯卷空間

lvreduce [-l [-]LogicalExtentsNumber] [–L [-]LogicalVolumeSize] LogicalVolumePath

註釋:減少邏輯卷佔用的空間大小,此命令有可能會刪除邏輯捲上的已有數據,操作之前必須確認。

選項:

-l:指定邏輯卷的大小(LE數)

-L:指定邏輯卷的大小

命令示例:

#lvreduce -l -3 /dev/vg00/lvol1

改變邏輯卷參數

lvchange [-a {y|n}] [-p r|rw] LogicalVolumePath [LogicalVolumePath...]

註釋:改變邏輯卷參數,或激活/禁止某個邏輯。

選項:

-a:設置邏輯卷的活動狀態

-p:訪問權限爲只讀或可讀寫

命令示例:

#lvchange –a n /dev/vg00/lvol1

刪除邏輯卷

lvremove LogicalVolumePath [LogicalVolumePath...]

註釋:刪除一個或多個非活動的邏輯卷。如果邏輯卷已用mount指令加載,則不能用lvremove刪除。需使用umount卸載後,方可被刪除。

命令示例:

# lvremove /dev/vg00/lv01

顯示邏輯卷屬性

lvdisplay LogicalVolumePath [LogicalVolumePath...]

註釋:顯示邏輯卷空間大小、讀寫狀態和快照信息等屬性。如果缺省邏輯卷參數,則顯示所有邏輯卷屬性。

命令示例:

#lvdisplay -v /dev/vg00/lvol2

掃描邏輯卷

lvscan

註釋:掃描系統中所有存在的邏輯卷。

命令示例:

#lvscan

擴展邏輯卷

lvextend {-l [+]LogicalExtentsNumber}{ -L [+]LogicalVolumeSize] LogicalVolumePath[PhysicalVolumePath...]

註釋:在線擴展邏輯卷空間大小,可以指定擴展後的大小,也可以指定增量。

選項:

-l:擴展後的大小或增量,以LE爲單位

-L:擴展後的大小或增量

命令示例:

# lvextend -L +100M /dev/vg1000/lvol0

附:AIX/Linux LVM管理PV/VG/LV部分命令對照表


功能AIXLinux
修改PV屬性chpv   [-a Allocation ] [-v Avaliability] [-c ] Pvnamepvchange   -x n PhysicalVolumePath
刪除PVrmdev   –dl hdisk##pvremove   PhysicalVolumePath
列出PV屬性lspv   [-l][-p][-M] hdisk##pvdisplay    PhysicalVolumePath
創建VGmkvg   –f –y yournamevg## hdisk##pvcreate   VolumeGroupNamePhysicalVolumePath
修改VG屬性chvg   –ay(-an) yournamevg##vgchange   [-a {y|n}] VolumeGroupName
向VG中增加PVextendvg   yournamevg## hdisk##vgextend   VolumeGroupName PhysicalVolumePath
從VG中刪除PVreducevg   yournamevg## hdisk##vgreduce   [-a] VolumeGroupName [PhysicalVolumePath...]
創建LVmklv   -y yournamelv  n yournamevg ## hdisk##lvcreate   [-n LogicalVolumeName] VolumeGroupName [PhysicalVolumePath...]
刪除LVrmlv   –f yournamelv##lvremove   LogicalVolumePath
列出LV屬性lslv   yourlvname##lvdisplay   LogicalVolumePath [LogicalVolumePath...]

參考

AIX系統LVM管理PV/VG/LV常用命令總結與實戰


【轉載自:www.iHk-system.com|尋訪諸神的網站】


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章