<b>邏輯卷管理器</b>(Logical Volume Manager)是AIX系統存儲管理的核心技術。
AIX 采用了邏輯卷管理器(Logical Volumn Manager,LVM)和日志型檔案系統的存儲方式,其最大的優點是能夠動态地改變檔案系統的大小(增加和減少),而且檔案系統可以突破單個硬碟的制約。可配置設定非連續空間,可以跨越多個硬碟,可以動态增大或者縮小邏輯卷的大小(jfs2支援)友善存儲管理操作,包括檔案系統的備份、分區的删除、新分區的建立和檔案系統的恢複等,新的硬碟很容易動态地添加到系統。
<b>卷組描述區</b><b>(VGDA)</b><b>:</b>描述卷組中的所有實體卷和邏輯卷的對應關系
VGDA存在于每一個PV的開始處,用于描述該PV所屬的VG所包含的所有LV和PV資訊。VGDA的存在使得每一個VG都可以自我描述。每個PV上VGDA的個數随組成該VG的PV個數的不同而不同:
若VG中包含單個PV,則該PV上有兩個VGDA;
若VG中包含兩個PV,則一個PV上有兩個VGDA,另一個PV上有一個VGDA;
若VG中包含三個或三個以上的PV,則每個PV上都有一個VGDA。
<b>卷組狀态區</b><b>(VGSA)</b><b>:</b>記錄卷組中實體卷和實體分區的狀态資訊,在卷組激活時,确定哪些實體分區可用
<b>邏輯卷控制塊</b><b>(LVCB)</b><b>:</b>位于每個邏輯卷開頭,包含邏輯卷的資訊,占用數百個位元組
LVM管理指令就是對VGDA内容的更新,當一塊硬碟變成PV時,這個硬碟開始保留一部分空間存放VGDA資訊,當把它加入卷組中時,開始将卷組資訊寫入VGDA區域,當把它從卷組删除時,也同時清除VGDA資料,這個資料還存在于AIX系統的ODM庫中,當導入一個卷組時,把VGDA資訊寫入ODM,導出時删除。
<b>磁盤</b><b>Quorum</b>
Quorum用來指定為保持系統中某個VG的激活狀态而必須可用的VGDA的數目。
如果磁盤Quorum存在,則當系統中>51%的VGDA可用時,這些VGDA所屬的VG才能保持激活狀态,否則,該VG将自動被varyoff以禁止對該VG的任何操作。
· <b>實體卷</b><b>(Physical Volumn, PV)</b>
每一塊單獨的硬碟稱之為一個實體卷,系統中有多少塊硬碟,就有多少個實體卷。在系統中,每一個實體卷都有一個辨別符,類似于hdisk0、hdisk1 等,儲存設備上劃分的LUN,通過光纖映射到主機之後也是實體卷,統一采用邏輯卷管理。
# lspv
hdisk0 00f7cd06d8def8ed rootvg active
hdisk1 00f7cd063b845415 rootvg active
hdisk2 none None
hdisk3 none None
# lspv hdisk0 檢視hdisk0的屬性
PHYSICAL VOLUME: hdisk0 VOLUME GROUP: rootvg
PV IDENTIFIER: 00f7cd06d8def8ed VG IDENTIFIER 00f7cd0600004c000000013b266f6271
PV STATE: active
STALE PARTITIONS: 0 ALLOCATABLE: yes
PP SIZE: 512 megabyte(s) LOGICAL VOLUMES: 13
TOTAL PPs: 558 (285696 megabytes) VG DESCRIPTORS: 2
FREE PPs: 413 (211456 megabytes) HOT SPARE: no
USED PPs: 145 (74240 megabytes) MAX REQUEST: 1 megabyte
FREE DISTRIBUTION: 111..27..52..111..112
USED DISTRIBUTION: 01..85..59..00..00
MIRROR POOL: None
# lspv -l hdisk0 檢視在PV上配置設定的LV
hdisk0:
LV NAME LPs PPs DISTRIBUTION MOUNT POINT
hd2 10 10 00..00..10..00..00 /usr
hd11admin 1 1 00..00..01..00..00 /admin
hd9var 6 6 00..00..06..00..00 /var
hd8 1 1 00..00..01..00..00 N/A
lg_dumplv 8 8 00..08..00..00..00 N/A
hd4 10 10 00..00..10..00..00 /
livedump 1 1 00..01..00..00..00 /var/adm/ras/livedump
hd5 1 1 01..00..00..00..00 N/A
hd6 16 16 00..16..00..00..00 N/A
hd10opt 1 1 00..00..01..00..00 /opt
oralv 60 60 00..60..00..00..00 /u01
hd3 30 30 00..00..30..00..00 /tmp
hd1 10 10 00..00..10..00..00 /home
# lspv -p hdisk0 檢視PV上PP的分布情況
PP RANGE STATE REGION LV NAME TYPE MOUNT POINT
1-1 used outer edge hd5 boot N/A
2-112 free outer edge
113-113 used outer middle hd6 paging N/A
114-121 used outer middle lg_dumplv sysdump N/A
122-122 used outer middle livedump jfs2 /var/adm/ras/livedump
123-137 used outer middle hd6 paging N/A
138-197 used outer middle oralv jfs2 /u01
198-224 free outer middle
225-225 used center hd8 jfs2log N/A
226-226 used center hd4 jfs2 /
227-227 used center hd2 jfs2 /usr
228-228 used center hd9var jfs2 /var
229-229 used center hd3 jfs2 /tmp
230-230 used center hd1 jfs2 /home
231-231 used center hd10opt jfs2 /opt
232-232 used center hd11admin jfs2 /admin
233-233 used center hd4 jfs2 /
234-237 used center hd2 jfs2 /usr
238-238 used center hd9var jfs2 /var
239-246 used center hd4 jfs2 /
247-251 used center hd2 jfs2 /usr
252-255 used center hd9var jfs2 /var
256-264 used center hd1 jfs2 /home
265-293 used center hd3 jfs2 /tmp
294-335 free center
336-446 free inner middle
447-558 free inner edge
# lspv -M hdisk0 檢視PP與LP的對應情況
hdisk0:1 hd5:1
hdisk0:2-112
hdisk0:113 hd6:1
hdisk0:114 lg_dumplv:1
hdisk0:115 lg_dumplv:2
hdisk0:116 lg_dumplv:3
hdisk0:117 lg_dumplv:4
hdisk0:118 lg_dumplv:5
hdisk0:119 lg_dumplv:6
hdisk0:120 lg_dumplv:7
hdisk0:121 lg_dumplv:8
hdisk0:122 livedump:1
hdisk0:123 hd6:2
以下省略...
· <b>卷組</b><b>(Volumn Group, VG)</b>
它是系統中最大的存儲機關,可以由一個或多個實體卷合并而成,是一個邏輯的概念。在一個系統中至少有一個卷組,即rootvg 卷組,它是在安裝作業系統時自動建立的。如果系統中有多餘的硬碟,使用者也可以根據需要建立其他卷組。
卷組主要的資訊有PP size、Quorum。PP size在建立時指定,或者由系統預設配置設定大小;QUORUM,預設全部為打開狀态,如果rootvg 做了磁盤鏡像,則通過"chvg –Qn rootvg"關閉quorum。
# lsvg
rootvg
# lsvg -o 檢視處于激活狀态的VG
# lsvg rootvg 檢視rootvg的屬性
VOLUME GROUP: rootvg VG IDENTIFIER: 00f7cd0600004c000000013b266f6271
VG STATE: active PP SIZE: 512 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 1116 (571392 megabytes)
MAX LVs: 256 FREE PPs: 834 (427008 megabytes)
LVs: 13 USED PPs: 282 (144384 megabytes)
OPEN LVs: 12 QUORUM: 1 (Disabled)
TOTAL PVs: 2 VG DESCRIPTORS: 3
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 2 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 1024 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
PV RESTRICTION: none INFINITE RETRY: no
# lsvg -p rootvg 檢視rootvg卷組中的PV資訊
rootvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk0 active 558 413 111..27..52..111..112
hdisk1 active 558 421 111..35..52..111..112
# lsvg -l rootvg 檢視rootvg卷組的LV資訊
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
hd5 boot 1 2 2 closed/syncd N/A
hd6 paging 16 32 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 10 20 2 open/syncd /
hd2 jfs2 10 20 2 open/syncd /usr
hd9var jfs2 6 12 2 open/syncd /var
hd3 jfs2 20 40 2 open/syncd /tmp
hd1 jfs2 10 20 2 open/syncd /home
hd10opt jfs2 1 2 2 open/syncd /opt
hd11admin jfs2 1 2 2 open/syncd /admin
lg_dumplv sysdump 8 8 1 open/syncd N/A
livedump jfs2 1 2 2 open/syncd /var/adm/ras/livedump
oralv jfs2 60 120 2 open/syncd /u01
· <b>實體分區</b><b>(Physical Partition, PP)</b>
每一個實體卷都可以被分割成許多個大小相等的實體分區,即實體卷由實體分區組成。在一個卷組中,所有實體分區的大小都是相等的。
實體分區是實體卷上最小的可配置設定機關。
· <b>邏輯卷</b><b>(Logical Volumn, LV)</b>
它是在一個卷組上由多個邏輯分區組成的集合,在一個卷組上可以定義一個或者多個邏輯卷。構成邏輯卷的邏輯分區所對應的實體分區可能分布
在不同的實體卷上,是以邏輯卷可以跨硬碟存在。邏輯卷是使用者可以使用的邏輯存儲體,使用者可以直接使用邏輯卷,也可在邏輯卷上建立檔案系統後再使用。
常用的LV屬性主要有類型,即邏輯卷上的檔案系統類型(如示例中的jfs2,或者資料庫使用的raw等),還有LV的條帶化資訊和磁盤分布,以及是否鏡像等
# lslv hd1 檢視hd1的屬性
LOGICAL VOLUME: hd1 VOLUME GROUP: rootvg
LV IDENTIFIER: 00f7cd0600004c000000013b266f6271.8 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: jfs2 WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 512 megabyte(s)
COPIES: 2 SCHED POLICY: parallel
LPs: 10 PPs: 20
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: center UPPER BOUND: 32
MOUNT POINT: /home LABEL: /home
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?: NO
INFINITE RETRY: no
# lslv -l hd1 檢視hd1在各個PV的分布情況
hd1:/home
PV COPIES IN BAND DISTRIBUTION
hdisk0 010:000:000 100% 000:000:010:000:000
hdisk1 010:000:000 100% 000:000:010:000:000
# lslv -m hd1 檢視hd1的LP在PV上的映射關系
LP PP1 PV1 PP2 PV2 PP3 PV3
0001 0230 hdisk0 0272 hdisk1
0002 0256 hdisk0 0273 hdisk1
0003 0257 hdisk0 0274 hdisk1
0004 0258 hdisk0 0275 hdisk1
0005 0259 hdisk0 0276 hdisk1
0006 0260 hdisk0 0277 hdisk1
0007 0261 hdisk0 0278 hdisk1
0008 0262 hdisk0 0279 hdisk1
0009 0263 hdisk0 0280 hdisk1
0010 0264 hdisk0 0281 hdisk1
· <b>邏輯分區</b><b>(Logical Partition, LP)</b>
它是映射實體分區的邏輯機關,所對應的實體分區是存儲資料的地方。一個邏輯分區對應至少一個實體分區,如果卷組内的實體卷不存在
鏡像關系,則一個邏輯分區對應一個鏡像的實體;反之則可能對應多個實體分區,對應數量由鏡像數決定。
hdisk0 和hdisk1 分别對應2塊硬碟,即2 個實體卷(每個劃分成多個實體分區),它們合在一起組成了一個卷組(即rootvg),在同一個卷組中所有的實體分區大小是一緻的。
在rootvg 上可以劃分多個邏輯卷,每個邏輯卷由多個邏輯分區組成,由于存在鏡像關系(hdisk0 和hdisk1 一份資料、一份鏡像),一個邏輯分區實際對應了2 個一樣的實體分區。
<b>邏輯卷管理政策</b>
· <b>鏡像</b><b> mirrorvg</b>
鏡像mirror也稱做RAID1
在建立邏輯卷時,使用者可以實作邏輯卷中邏輯分區的鏡像,在獨立的不同硬碟中儲存兩個或三個副本(最多隻能到三個),進而保證硬碟出錯時資料不受損壞而且是可用的
<b>Parallel(</b><b>并行</b><b>)</b>
每個副本的寫請求是同時進行的,當更新時間最長的副本完成後,控制就傳回給程式。執行效率很高,但當副本更新時若有硬碟錯誤發生,資料的完整性有可能遭到破壞,為了解決這個問題,Mirror Write Consistency(鏡像寫一緻性)選項應置為on
讀操作時候,讀最相近的副本,是以響應速率快
<b>Sequential(</b><b>串行</b><b>)</b>
當資料寫到邏輯分區時,隻有所有的副本都更新後控制才傳回給程式,而且副本是一個個輪留更新。執行速率比并行鏡像慢,但是資料完整性較好
讀操作時候,總是先讀主副本
· <b>條帶化 </b><b>Striping</b>
做條帶化也稱做RAID0
條帶化把資料塊均勻地分布在不同硬碟上
通路邏輯卷上的連續資料時多個硬碟驅動器并行操作,提高了I/O的吞吐量
本文轉自Vnimos51CTO部落格,原文連結:http://blog.51cto.com/vnimos/1073882,如需轉載請自行聯系原作者