天天看點

AIX學習之—存儲管理(LVM)

<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存在,則當系統中&gt;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,如需轉載請自行聯系原作者

繼續閱讀