我們在使用PV之前必須將其“加入”到Volume Group(VG,卷組)中,或直接在上面創(chuàng )建卷組。當PV從屬于一個(gè)VG后,其空間被分為許多大小相同的最小分配單元,每一塊被稱(chēng)為一個(gè)Physical Partitions(PP 物理分區)。這如建筑時(shí)將各種不規整的石頭 切成同樣大小“磚頭”同一個(gè)樣,目的是以后建筑的過(guò)程中可以按照需要取用“磚頭”堆砌,而不會(huì )受到“石頭”形狀、大小的限制。因此,VG中的 PP大小都相等,無(wú)論原有磁盤(pán)大小多少。我們可以繼續在VG上創(chuàng )Logical Volume(LV,邏輯卷),這是留給程序使用的設備,可以跨多個(gè)磁盤(pán)(即 PV),但是不能跨越VG。創(chuàng )建邏輯卷時(shí)需要給邏輯卷指定名稱(chēng)和大小,大小的單位是PP的大小,即最少要占用1個(gè)PP大小的空間,最多
沒(méi)有特別的限制。但在默認情況下,每個(gè)LV可能有256或512(根據不同操作系統版本)個(gè)PP的限制,不過(guò)這個(gè)限制是軟限制,可以任意修改。
組成邏輯卷的真正單位是PP,但被稱(chēng)為L(cháng)P,即Logical Partitions(LP,邏輯分區),引入額外的LP的原因是鏡像。AIX 正是通過(guò)PP和LP之間的倍數對應關(guān)系,來(lái)實(shí)現數據鏡像的。每個(gè)LP根據鏡像要求,對應到1-3個(gè)PP的物理空間上,對應1代表沒(méi)有鏡像,2表示一份鏡像,3表示兩份鏡像。在A(yíng)IX中,邏輯卷被當作一種特殊的塊設備,在/dev/目錄下能看到對應的設備名,例如:
/dev/rmylv ->charact(字符) 類(lèi)型的設備名
/dev/mylv ->block (塊) 類(lèi)型的設備名
邏輯卷可以直接被應用程序使用,這種使用方式叫做裸設備方式;也可以在邏輯卷上創(chuàng )建文件系統,然后按照普通文件操作方式使用。
當AIX識別到一個(gè)新PV時(shí),先檢查它是否有PVID。PVID是分配給每個(gè)PV的唯一識別號,記錄在磁盤(pán)的操作系統保留區內,如果AIX已經(jīng)(或者曾經(jīng))識別了這個(gè)磁盤(pán),則會(huì )在ODM中也記錄一份PVID。如果舊磁盤(pán)被移走,AIX中對應的設備(hdisk 會(huì )變成defined狀態(tài)。但hdisk設備號保留,當磁盤(pán)“還”回來(lái),使用cfgmgr會(huì )重新看到這一hdisk變?yōu)閍vailable狀態(tài)。如果它是全新的磁盤(pán),沒(méi)有PVID,AIX只能看到磁盤(pán)設備available,而PVID一項是none。此時(shí)對此PV除了在其上創(chuàng )建VG或將其加入到某個(gè)已經(jīng)建立的VG中、設置一個(gè)新的PVID、從系統中刪除此PV之外,不能進(jìn)行其它操作。而創(chuàng )建VG和加入VG動(dòng)作將自動(dòng)給這個(gè) PV分配新的PVID 。重新置PVID命令有兩個(gè):
#chdev -l hdiskx -a pv=yes------>強制hdiskx分配一個(gè)新的PV ID
#chdev -l hdiskx -a pv=clear ------>強制清除hdiskx已經(jīng)使用的PV ID
注意:
系統中管理PV完全依靠PV ID,盡管有諸如hdiskx這樣的設備號可用,但是操作系統對于磁盤(pán)的識別仍然是依靠PVID的,也就是說(shuō)hdisk 數字可能會(huì )變,即使對于同一臺小型機也是如此,而PVID永遠不會(huì )改變,即使拿到另一臺機器上PVID也不變(直到執行了以上可以改變PVID的操作)。保持PVID不變,靠PV ID識別共享磁盤(pán)也是雙擊熱備份的基礎。從另一個(gè)方面來(lái)講,如果你用上面的命令改變了 PV ID,操作系統就認為原來(lái)的磁盤(pán)消失了,而且再也不能找回來(lái)。
更不巧的是如果原有的PV還屬于某個(gè)VG,那么這個(gè)VG再也發(fā)現不了它原來(lái)的成員盤(pán)(PVID已經(jīng)改變),這個(gè)盤(pán)上的數據就無(wú)法找回,雖然磁盤(pán)和數據依然在那里。修復這個(gè)問(wèn)題只能直接用底層的ODM操作,已經(jīng)超出了本書(shū)的范圍,有興趣的朋友可以自己研究下相關(guān)的材料。
VG被激活后才能被訪(fǎng)問(wèn)(讀/寫(xiě)及察看VG信息等操作),同時(shí)此VG也被執行激活命令的操作系統映像“鎖住”,不允許別的操作系統映像訪(fǎng)問(wèn)(包括執行激活命令)。激活與釋放VG的命令分別是:
#varyonvg vg_name 激活此VG,不允許別的操作系統映像訪(fǎng)問(wèn)
#varyoffvg vg_name 釋放此VG,允許別的操作系統映像訪(fǎng)問(wèn)
但要注意,這個(gè)"鎖"只是邏輯的鎖(在磁盤(pán)上做一個(gè)標記),而且當VG被激活后,如果發(fā)生機器突然宕機,操作系統可能沒(méi)有能執行磁盤(pán)解鎖的命令(清除標志位),則其它機器就無(wú)法再激活此卷組了!需要執行帶-f參數的強制命令激活此卷組:
#varyonvg -f vg_name
有時(shí)甚至需要使用更底層的命令手工清除鎖標志,此命令為lquerypr或pcmquerypr。由于此命令屬于底層命令,對于初學(xué)者,容易操作不當,導致錯誤的結果,請謹慎使用。
VGDA(Volume Group Descriptor Area)
把PV加入VG之后才可以使用,一個(gè)PV只能屬于一個(gè)VG(一個(gè)VG根據其類(lèi)型不同可能擁有最多32-1024個(gè)PV)。VG中包含哪些PV都寫(xiě)在VG中的一個(gè)區域中,這個(gè)區域就是VGDA,VGDA中記錄了很多VG的重要信息,包括VG中包含的所有PV的PVID。
由于VGDA內的信息非常重要,因此VGDA被保存了多份。如果VG中只有一塊磁盤(pán)( PV ),則在此磁盤(pán)上存有兩份VGDA;如果VG中有兩塊磁盤(pán),則第一塊磁盤(pán)有兩份VGDA,第二塊磁盤(pán)上有一份;如果VG中包含三塊或更多的磁盤(pán),則每塊磁盤(pán)上都有一個(gè)VGDA的 copy.完好的VGDA數量與VG中總磁盤(pán)數之比被稱(chēng)為Quorum,如果Quorum小于50%,此VG將不能被繼續訪(fǎng)問(wèn)(如果已經(jīng)被激活,則會(huì )自動(dòng)關(guān)閉),這樣做是為了防止數據被進(jìn)一步破壞,而等待專(zhuān)業(yè)人員修復(這是基于這樣一種設計理念:如果可能發(fā)生危害數據的操作,什么都不做的結果遠遠好于人有該操作為所欲為)。由于在每塊磁盤(pán)上都至少有一份VGDA,所以在一個(gè)新小型機上,只要給出位置VG中的一塊磁盤(pán),就可以正確識別出全部VG信息,并“注冊”到新的小型機上,這個(gè)過(guò)程叫做import,命令是:
#importvg -y vg_name hdiskx
其中vg_name是你希望的VG名,hdiskx是此VG中任一磁盤(pán)。由于在執行importvg命令的時(shí)候可以自定義VG名,因此系統中并沒(méi)有更改VG名稱(chēng)的命令,如果你想改VG的名稱(chēng),則需要先執行exportvg命令(把此VG在系統中的定義刪除掉,再用新名字importvg進(jìn)來(lái) )
反之,如果想把某個(gè)VG的信息從一臺小型機上刪除,則需要執行
#exportvg vg_name
此操作并沒(méi)有對磁盤(pán)做任何操作,磁盤(pán)上的數據依然存在,包括VGDA里面的內容。此命令只是將此VG在A(yíng)IX操作系統中的定義刪除了,任何時(shí)候你還可以再重新imprt回來(lái)。
在執行importvg 的時(shí)候,操作系統可以指定磁盤(pán)上讀到VG中所有磁盤(pán)(PV)的定義(還記得VG中每塊磁盤(pán)上都至少有一份VGDA,也就是全部VG信息的定義么?),如果操作系統發(fā)現此VG的一些磁盤(pán)并沒(méi)有被系統標識到(通過(guò)PVID找尋到,即VGDA中包含某個(gè)PVID在操作系統中所有磁盤(pán)設備上都找不到,可能的原因即包括該磁盤(pán)不存在,也可能是PVID沒(méi)有正確讀出來(lái)),那么系統將計算Quorum。如果Quorum>50%,則依然可以執行importvg,但會(huì )有警告信息;而當Quorum<50%時(shí) ,則不允許import此 VG。
關(guān)于PVID的思考
AIX操作系統沒(méi)有提供任何直接的命令可以設定PVID,在創(chuàng )建VG或者將磁盤(pán)(PV)添加到VG中時(shí),操作系統會(huì )自動(dòng)根據本機的系列號、當前時(shí)間等參數,隨即指定一個(gè)PVID。因此系統中生成的PVID是不能重復的,當你使用chpv命令清除一塊磁盤(pán)的PVID之后,除非使用底層磁盤(pán)編輯命令,直接寫(xiě)入需要的PVID,否則沒(méi)有辦法恢復磁盤(pán)原有的PVID,PVID改變,也就意味著(zhù)此盤(pán)完全是一塊新磁盤(pán),系統不會(huì )承認此磁盤(pán)仍然屬于原有的VG。因此在執行更改PVID的操作的時(shí)候,一定要知道可能的后果是什么,因為操作往往會(huì )導致不可恢復的數據丟失。
普通VG的VGDA 空間大小只能存放32個(gè)PV的信息,因此普通VG只支持32個(gè)磁盤(pán);如果是big(“大”)VG,VGDA可以存放128個(gè)PV的信息;最新的scalable (“擴展”)
VG則可以支持1024個(gè)PV。
VGSA( Volume Group Status Area)
VGSA也是VG中的一塊重要區域,它由 127個(gè)字節組成。每個(gè)PV有一個(gè)VGSA,每一位代表這個(gè)PV的一個(gè)PP的狀態(tài),最多可以對應1016個(gè)PP(128*8=1024位,其中有8位留作他用,剩余1016位),它限制了一個(gè)PV最多有1016個(gè)PP。
VGSA用每一位代表PP的狀態(tài),操作系統向鏡像的 PP寫(xiě)數據的時(shí)候,難免會(huì )有時(shí)間差,如果恰好在跟新了一個(gè)PP之后,系統出現問(wèn)題,另一個(gè)PP沒(méi)有更新,此PP與其互為鏡像的PP(還記得前面提到的一個(gè)LP可能對應1-3個(gè)PP嗎?對應于同一個(gè)LP的幾個(gè)PP的關(guān)系,就是鏡像關(guān)系)相比沒(méi)有被跟新,數據較舊,則操作系統通過(guò)VGSA將這幾個(gè)VGSA標記為stale狀態(tài)。stale狀態(tài)說(shuō)明互為鏡像的PP數據不一致,要從“好”的鏡像PP重新同步數據。當操作系統激活(varyonvg)VG 的時(shí)候,會(huì )自動(dòng)檢查此VG中所有磁盤(pán)上是否有"Stale"的PP,如果有,則自動(dòng)進(jìn)行同步;如果VG在正常使用狀態(tài),則操作系統不會(huì )主動(dòng)去同步,需要手工執行命令進(jìn)行同步,可以以PV,LV或者整個(gè)VG為單位進(jìn)行stale的PP同步。在smit vg的菜單可以找到同步VG的選項。
Big VG,Scalable VG
由于VG在創(chuàng )建的時(shí)候,就固定了VGDA和VGSA的大小,所以VG所能容納的磁盤(pán)數量和每個(gè)磁盤(pán)最多的PP數就已經(jīng)確定:每個(gè)VG最多32個(gè)PV,總計256個(gè)LV(邏輯卷,包括一個(gè)保留給LVM內部使用,實(shí)際可用是255個(gè))。在BIG VG中,這些限制都被打破,PV擴大到128個(gè),LV擴大到512個(gè)??梢灾苯觿?chuàng )建“大”VG,也可以把“小”VG擴大為“大”VG。
如果是Scalable VG則最多支持1024個(gè)PV,256(可以在創(chuàng )建的時(shí)候設定為最大支持4096)個(gè)LV。下面的命令可以創(chuàng )建Scalable的VG(注意在執行的時(shí)候還要附帶在那個(gè) PV上創(chuàng )建的參數)。
#mkvg -S vg_name
本質(zhì)上,這幾種VG類(lèi)型并沒(méi)有什么特別的區別,其差別是系統保留了多大的VGDA空間。顯然,要想VG中支持更多的磁盤(pán),VGDA空間越大。把“小”VG轉換成“大”VG的過(guò)程中,AIX不過(guò)是擴大了VGDA的空間。由于VGDA在每個(gè)PV的開(kāi)始,并且必須連續,如果磁盤(pán)已經(jīng)創(chuàng )建了LV,空間被分配,可能會(huì )發(fā)生VGDA空間無(wú)法擴大的情況,更改VG類(lèi)型操作就會(huì )失敗。如果VG總體還有剩余空間,此時(shí)可以使用遷移PP的命令,將占用未來(lái)VGDA空間的PP數據遷移到其它位置。下面是個(gè)示范的命令(注意,這是LVM底層命令,最好在測試系統驗證后再使用),供讀者參考
#lmigratepp -g VGID -p old_PVID -n old_PPNum -P new_PVID -N new_PPNum
VGID可以通過(guò)lsvg vg_name獲得,old_PVID和new_PVID分別是源盤(pán)和目標盤(pán)的PVID,old_PPNum是1也就是第一個(gè)PP(我們想把第一個(gè)PP的數據移走,以便空余位置給VGDA),new_PPNum是new_PVID 對應的某個(gè)空閑PP,可以通過(guò) lspv -M hdiskx獲得。
Physical Volume (PV)控制
PV有一個(gè)參數控制是否允許分配此物理卷上的PP給邏輯卷使用。在擴充、創(chuàng )建LV和創(chuàng )建文件系統的時(shí)候,系統會(huì )自動(dòng)分配此VG中可分配的PP,如果希望告訴系統不要使用
某個(gè)PV上的空余空間,那就可以通過(guò)此參數不允許使用此PV。命令是:
#chpv -a n hdiskx 不使用此PV(hdiskx)
#chpv -a y hdiskx 可以使用此PV(hdiskx)
或者用smit命令的快捷索引:
#smit chpv
VG的一些參數說(shuō)明
#lsvg vg_name ->察看vg 參數
是否在啟動(dòng)后激活VG:雙機共享的VG(磁盤(pán))不能設置自動(dòng)激活,否則可能引起沖突(一臺機器啟動(dòng)后激活VG,并將磁盤(pán)鎖??;而另一臺機器啟動(dòng)的時(shí)候,也試圖激活此VG,如果不是并行卷,兩臺機器同時(shí)激活同一個(gè)VG會(huì )產(chǎn)生錯誤)。反之如果單機使用,則通常要選擇自動(dòng)激活,這樣避免了手工操作的麻煩。
是否需要Quorum:如果打開(kāi)Quorum,當VG中不可訪(fǎng)問(wèn)的磁盤(pán)數超過(guò)一半,系統會(huì )強制禁止使用此VG(如果此VG已經(jīng)被varyon,則自動(dòng)執行varyoffvg命令)或者不可以激活此卷足(如果此VG還沒(méi)有被varyon),以防止數據進(jìn)一步損壞,等待專(zhuān)業(yè)人員處理。
enhanced-capable模式:
如果安裝了 bos.clvm.enh文件集(非缺省安裝,需要自己選擇),則增加了另一個(gè)VG模式參數:enhanced-capable。此模式可以與任何VG類(lèi)型并存,需要通過(guò)smitty chvg 或者chvg 命令修改,此模式是為了配合HACMP(PowerHA)而設置。AIX本身不支持并行文件系統,所以文件系統不能同時(shí)被兩個(gè)AIX內核mount (就是雙機同時(shí)mount 共享 文件系統),以避免雙方同時(shí)寫(xiě)入數據,損壞文件系統。HA在進(jìn)行切換接管的時(shí)候,就需要在一個(gè)節點(diǎn)umount文件系統,varyoffvg,再從另一個(gè)節點(diǎn)varyonvg 、mount文件系統。盡管這些操作都是由HA自動(dòng)完成,但操作本身還是延長(cháng)了接管時(shí)間。enhanced-capable 模式正好配合HA,它允許主節點(diǎn)正常使用VG,mount文件系統;備用節點(diǎn)雖然也varyonvg,但處于 只讀狀態(tài),并不mount文件系統,這樣VG接管步驟省略,接管時(shí)間減少。
concurrent
VG模式:VG 還有一種concurrent 模式,它與剛才提到的enhanced-capable 不同,這是完完全全的并行模式,也是配合HACMP使用,但這種情況下的VG不能(可以創(chuàng )建,但不應當創(chuàng )建)存在文件系統,只能有裸設備(即LV),由應用程序控制數據讀寫(xiě)鎖,保證數據一致性,操作系統只管埋頭讀寫(xiě)。以上兩種模式(他們不會(huì )并存),都需要HACMP控制VG的varyon/off,操作系統不能開(kāi)機自動(dòng)varyonvg。如果為了管理需要可以手工varyonvg.
File System;文件系統參數
AIX通常使用JFS( Jonural File System,日志文件系統,也可能是第二代:JFS2文件系統)。
常見(jiàn)的文件系統是NFS和CD-ROM文件系統。
JFS通常與UNIX/Linu下的文件系統類(lèi)似,但略有不同,它使用類(lèi)似數據庫循環(huán)log的重做日志方案對所有文件系統操作(不包括數據操作,只對修改文件系統結構的操作有效,例如修改文件名、文件大小等)進(jìn)行跟蹤。在真正執行此操作之前,先在log中記錄,然后才做更新,如果在更新過(guò)程中(可能需要修改磁盤(pán)上的多處信息),小型機發(fā)生故障停機,會(huì )造成更新不完全,數據喪失一致性。但由于在A(yíng)IX中有log機制,當小型機重新啟動(dòng)時(shí),可以查詢(xún)log,重做最后的更新,這樣保證了數據的一致性。
此機制在數據庫應用中廣為采用,在文件系統中使用的比較少。因此大部分UNIX系統在宜昌停機后重啟動(dòng)的時(shí)候,往往都需要執行文件系統檢查和恢復(全文件系統fsck檢查)操作而AIX可以避免不必要的修復工作,大大加快了重啟動(dòng)的時(shí)間。
AIX文件系統有許多參數可以調整:
允許大文件:允許在此文件系統上創(chuàng )建大文件(超過(guò)2GB,當然還要考慮/etc/security/limits中fsize的限制)。
NBPI:Number of bytes per I-node,每個(gè)inode能代表的磁盤(pán)空間大小。
Fragment碎片大?。阂郧鞍姹具z留技術(shù),已經(jīng)很少使用,JFS2 此參數為固定值,已經(jīng)不再考慮。
AG大?。篈llocation Group文件分配組大小,每次增加文件系統大小的最小單位。
User quota:用戶(hù)使用空間配額,限制用戶(hù)過(guò)度使用文件系統。
我們知道,每個(gè)文件在UNIX中占用一個(gè)或者多個(gè)inode所代表的存儲空間,如果文件有很多,每個(gè)文件很少,則希望inode代表的空間少一點(diǎn),從而提高存儲利用率;
反之,如果文件較少,每個(gè)文件很大,則需要inode代表的空間大一點(diǎn),減少inode數量(inode本身也占據空間),也能提高存儲利用率。所以在創(chuàng )建文件系統的時(shí)候,需要做好平衡。由于每個(gè)inode代表的空間(也就是NBPI)在創(chuàng )建文件系統的時(shí)候設定,并且不能更改。所以為了提高效率,要仔細考慮。
一般來(lái)說(shuō),可以用表4-20所示的參數設定文件系統。
查看文件系統是否使是Large File Enabled(支持Large File 的文件系統)的命令是:
$lsfs -q /home
Name Nodename Mount pt vfs Size Options Auto Accounting
/dev/hd1 -- /home jfs 131072 -- yes no
(lv size:131072 ,fs size 131072,frag size :512 ,nbpi :4096 ,compress :no ,bf false,ag : 8)
bf:false 表示普通文件系統 standard file system
bf:true 表示Large File Enhanced file system
Auto:yes 表示系統啟動(dòng)后自動(dòng)mount 此文件系統。
Accounting:no 表示不對此文件系統進(jìn)行配額限制。
當許多用戶(hù)公用同一個(gè)文件系同時(shí) ,可以通過(guò)對用戶(hù)使用空間的配額限制,來(lái)防止他過(guò)度使用此文件系統。由于使用配額限制需要耗用一定的系統資源,因此對于通常AIX系統,如果不是提供給終端用戶(hù)登錄使用,通常不需要進(jìn)行配額限制。
JFS2 文件系統
JFS2 擴展了許多新功能,例如目錄排序、動(dòng)態(tài)空間分配等。由于JFS2 使用了BTree 作為新的元數據(metadata) 排序算法,許多JFS中的限制都被解除了:
(1) inode數量動(dòng)態(tài)分配,僅受限于文件系統大小
(2)文件系統大小僅受限于磁盤(pán)空間(IBM 測試過(guò) 1PB=1000TB=1000000GB)
(3)文件系統中文件數量也僅受限于磁盤(pán)空間(IBM 測試過(guò) 1PB)
(4)JFS log可以保存在文件系統所在的邏輯卷中(inline方式),而不用再使用另一個(gè)專(zhuān)門(mén)的邏輯卷(JFS要求每個(gè)VG中至少要有一個(gè)用于存放JFS log 的邏輯卷,
但在同一VG中的文件系統可以公用同一個(gè)JFS log邏輯卷)
問(wèn)題:JFS 或者JFS2文件系統的log是做什么用的?
答案:任何文件系統都要考慮自身的強壯性問(wèn)題,也就是要求文件系統在發(fā)生一些異常情況的時(shí)候,依然能保證自身數據結構的正確性,而不會(huì )出現嚴重的問(wèn)題。例如,在磁盤(pán)正在寫(xiě)入數據的時(shí)候,如果機器掉電,則當前寫(xiě)入數據失敗。但有的時(shí)候,數據寫(xiě)入并非完全失敗,可能一般已經(jīng)寫(xiě)入到磁盤(pán),而系統中沒(méi)有任何地方可以記錄這種情況,此時(shí)磁盤(pán)上的數據是混亂的。特別是當系統支持并行寫(xiě)入的時(shí)候,問(wèn)題尤其嚴重,如果發(fā)生異常停機,一定會(huì )出現錯誤的數據。為了避免發(fā)生這種情況,AIX采用了邏輯卷日志技術(shù),每次磁盤(pán)寫(xiě)入時(shí)限在一個(gè)被稱(chēng)為邏輯卷log的小空間記錄要改寫(xiě)哪些數據(并不記錄數據本身,只記錄數據所在的位置)。這樣當實(shí)際寫(xiě)數據時(shí),邏輯卷日志一定已經(jīng)記錄了什么地方的數據會(huì )被改寫(xiě)。系統重新啟動(dòng)時(shí),只需要系統掃描一下邏輯卷日志,核對最后幾筆數據的正確性,就能保證整個(gè)文件系統的結構不會(huì )混亂,當然,數據還是可能丟失的,但至少結構是正確的。邏輯卷日志技術(shù)不需要進(jìn)行全盤(pán)結構校驗,比激活其他非日志方式的文件系統快很多,對于擁有幾百GB數據的文件系統尤其重要,因為掃描幾百GB的文件系統,檢查結構是否正確可能需要幾個(gè)小時(shí)的時(shí)間。
log對文件系統性能也會(huì )有影響,特別是如果同一個(gè)VG有許多文件系統,并且訪(fǎng)問(wèn)頻繁(文件結構變化,例如創(chuàng )建、刪除、增大、縮小,存放位置變化),則由于這些文件系統需要共用同一個(gè)log設備,導致log寫(xiě)操作非常頻繁,因此會(huì )影響性能。處理方法是為每個(gè)比較繁忙的文件系統創(chuàng )建自己?jiǎn)为毜膌og設備,存放在不同的磁盤(pán)上,這樣提高了并行性,從而提高了文件系統性能。
1.基本概念:
PV 物理卷:普通的直接訪(fǎng)問(wèn)的存儲設備,有固定的和可移動(dòng)的之分,代表性的就是硬盤(pán)。
vg 卷組:AIX中最大的存儲單位,一個(gè)卷組由一組物理硬盤(pán)組成,也就是由一個(gè)或多個(gè)物理卷組成。
pp 物理分區:是把物理卷劃分成連續的大小相等的存儲單位,一個(gè)卷組中的物理分區大小都相等。
lp 邏輯分區:適映射物理分區的邏輯單位,一個(gè)邏輯分區可以對應一個(gè)也可以對應多個(gè)物理分區。
lv 邏輯卷:是指卷組中由多個(gè)邏輯分區組成的集合,邏輯卷中的邏輯分區是連續的,但是對應的物理分 區是不連續的,可以在一個(gè)磁盤(pán)上,也可以在不同的磁盤(pán)上。
fs 文件系統:是指在A(yíng)IX系統中面向用戶(hù)的存儲空間。一個(gè)邏輯卷只能創(chuàng )建一個(gè)文件系統,也就是說(shuō)一個(gè) 文件系統對應一個(gè)邏輯卷,如果刪除邏輯卷也將刪除文件系統。
2.存儲結構:
邏輯卷lv 不能被直接訪(fǎng)問(wèn),是生設備(裸設備),邏輯卷上建文件系統,文件系統可以被用戶(hù)訪(fǎng)問(wèn),市熟設備。文件系統里建目錄,目錄下建文件。
物理卷,卷組,物理分區,邏輯卷,邏輯分區,邏輯卷是面向操作系統的概念
文件系統,目錄,文件是面向用戶(hù)的概念。
3.LVM的配置數據
卷組描述區(VGDA):描述卷組中的所有物理卷和邏輯卷的對應關(guān)系
卷組狀態(tài)區(VGSA):記錄卷組中物理卷和物理分區的狀態(tài)信息,在卷組激活時(shí),確定哪些物理分區可用
邏輯卷控制塊(LVCB):位于每個(gè)邏輯卷開(kāi)頭,包含邏輯卷的信息,占用數百個(gè)字節
LVM管理命令就是對VGDA內容的更新,當一塊硬盤(pán)變成PV時(shí),這個(gè)硬盤(pán)開(kāi)始保留一部分空間存放VGDA信息,當把它加入卷組中時(shí),開(kāi)始將卷組信息寫(xiě)入VGDA區域,當把它從卷組刪除時(shí),也同時(shí)清除VGDA數據,這個(gè)數據還存在于A(yíng)IX系統的ODM庫中,當導入一個(gè)卷組時(shí),把VGDA信息寫(xiě)入ODM,導出時(shí)刪除。
4.磁盤(pán)Quorum
卷組的每一個(gè)物理卷至少包含著(zhù)一份VGDA和VGSA。當一個(gè)卷組只有一塊硬盤(pán)時(shí),這塊硬盤(pán)存有兩份VGDA和VGSA,當這個(gè)卷組由兩塊硬盤(pán)時(shí),其中一塊存有兩份,另一塊存有一份,當卷組由三塊以上硬盤(pán)時(shí),每塊硬盤(pán)存有一份。如果磁盤(pán)Quorum存在,則必須保證卷組有51%以上的VGDA/VGSA可以正常訪(fǎng)問(wèn)。淡然也可以關(guān)閉磁盤(pán)Quorum。
5.邏輯存儲管理的限制
VG數:每個(gè)系統最多255個(gè)VG
PV數:對于普通卷組,每個(gè)VG最多32個(gè)PV,對于大VG,每個(gè)卷組最多128個(gè)PV
PP數:每個(gè)PV最多有1016個(gè)PP
LV數:對于普通VG,每個(gè)卷組最多255個(gè)LV,對于大VG,每個(gè)VG最多512個(gè)LV
LP數:每個(gè)LV最多有32512個(gè)LP
PP和LP的大?。?M到1024M 必須是2的冪次方
LP映射PP的數量:一個(gè)LP可以映射1-3個(gè)PP
6.物理區域的分布
外邊緣(Outer-Edge):存放很少訪(fǎng)問(wèn)的數據
外中間(Outer-Middle):創(chuàng )建邏輯卷時(shí)默認的位置
中間(Center):磁盤(pán)搜索時(shí)間最短,速度最快。
內中間(Inner-Middle):比中間稍慢一些
內邊緣(Inner-Edge)存放很少訪(fǎng)問(wèn)的數據
7.向系統添加一塊硬盤(pán)
方法一:
添加硬盤(pán)后起動(dòng)機器,自動(dòng)運行cfgmgr,直接查看結果,如果沒(méi)有識別再手工配置。
#cfgmgr -v
#lspv
#chdev -l hdisk2 -a pv=yes
方法二:
系統不能重起時(shí),縣查看原有硬盤(pán),然后安裝新硬盤(pán),檢查新設備,配置新設備
#lspv
#cfgmgr -v
#lspv
#chdev -l hdisk2 -a pv=yes
#mkdev -c disk -s scsi -t 670mb -p scsi3 -w 6,0 -a pv=yes
#smit makdsk
8.修改物理卷屬性
#chpv -a n hdisk1 禁止hdisk1在分配新的PP
#chpv -a y hdisk1 允許
#chpv -v r hdisk1 關(guān)閉hdisk1的可用性,無(wú)法通過(guò)邏輯形式讀寫(xiě)和訪(fǎng)問(wèn)該物理卷
#chpv -v a hdisk1 允許
#chpv -c hdisk1 清除hdisk1上的引導記錄
#smit chpv
9.顯示物理卷信息
#lsdev -Cc disk 顯示系統一定義和已配置的物理卷
#lspv 以不帶任何參數的形式顯示系統中所有物理卷信息
#lspv hdisk0 顯示一個(gè)物理卷hdisk0的屬性
#lspv -l hdisk0 顯示物理卷hdisk0上分布的邏輯卷。
#lspv -p hdisk0 顯示物理卷上每個(gè)邏輯卷物理分區的分布情況,同時(shí)顯示邏輯卷類(lèi)型和文件mount點(diǎn)。
#lspv -M hdisk0 顯示物理分區和邏輯分區的對應情況。
10遷移物理卷上的內容:
a.確定系統中有哪些磁盤(pán)可用
#lsdev -Cc dev
#lspv
#extendvg rootvg hdisk5
b.檢查卷組中包含哪些磁盤(pán),確認源磁盤(pán)和目標磁盤(pán)在同一個(gè)卷組中,
#lsvg -p rootvg
c.確定目的盤(pán)上有足夠的空間存放源盤(pán)的內容
#lspv hdisk0 |grep "USED PPs"
#lspv hdisk5 |grep "USED PPs"
d.如果是rootvg 上的磁盤(pán),檢查引導邏輯卷是否在源磁盤(pán)上
#lspv -l hdisk0 |grep hd5
#megratepv -l hd5 hdisk0 hdisk5
e.重設系統引導記錄
#bosboot -a -d /dev/hdisk5
#bosboot -m normal hdisk5
#mkboot -c -d /dev/hdisk0
f.遷移
#smit migratevg
#migratevg hdisk0 hdisk5
#migratevg -l lv01 hdisk0 hdisk5
g.刪除原盤(pán)數據
#reducevg rootvg hdisk0
#rmdev -dl hdisk0
11.卷組管理
#mkvg -y datavg -d 6 -s 8 hdisk7 hdisk8
#smit mkvg 創(chuàng )建卷組是保證/etc/vg下有2M空間
#lsvg 查看系統所有VG
#lsvg -o 查看激活狀態(tài)的VG
#lsvg rootvg 查看rootvg屬性
#lsvg -l rootvg 查看rootvg里的LV
#lsvg -p rootvg 查看rootvg中包含的物理卷
#chvg -ay datavg 使卷組啟動(dòng)時(shí)自動(dòng)激活
#chvg -an datavg 使卷組啟動(dòng)時(shí)不能自動(dòng)激活
#chvg -u datavg 給卷組解鎖
#extendvg datavg hdisk5
#reducevg datavg hdisk5
#varyonvg datavg
#varyoffvg datavg
#exportvg datavg
#importvg -y datavg hdisk5
#syncvg -p hdisk03 hdisk05 同步物理卷
#syncvg -v vg05 vg06 同步卷組vg05和vg06上的拷貝
#redefinevg -d hdisk0 rootvg 在ODM庫中重定義卷組信息,
#swapoff paging_spce_name 使頁(yè)面空間處于非活動(dòng)狀態(tài)
#mirrorvg -c 3 datavg 做3份拷貝的卷組鏡像
#mirrorvg -S -c 3 datavg 后臺同步
鏡像環(huán)境中替換磁盤(pán)
#unmirrorvg datavg hdiak7 刪除hdisk7上的鏡像
#reduncevg datavg hdisk7 在卷組中刪除hdisk7
#rmdev -dl hdisk7 在系統中刪除hdisk7
#extendvg datavg hdisk7 將新盤(pán)加入datavg
#mirrorvg datavg 給卷組datavg做鏡像
#unmirrorvg 取消卷組鏡像
12.邏輯卷管理
#getlvcb -TA hd2 查看邏輯卷控制塊信息
#lsvg -l rootvg 查看rootvg上的邏輯卷信息
#lslv mylv 查看一個(gè)lv的詳細屬性
#lslv -l lv_01 顯示一個(gè)邏輯卷所跨越的物理卷,以及PP在物理卷上的分布情況
#lslv -p hdisk1 顯示物理卷上的邏輯卷分配圖