需求背景:在AIX6.1上安裝Oracle 10g RAC,一線工程師反饋節點2運行root腳本沒法成功,跟進排查發現實際上底層存儲磁盤的準備工做就存在問題。
客戶要求底層存儲選用裸設備方式,因此必需要配合HACMP建立併發卷組來實現。
其實咱們標準化最佳實踐是建議選用ASM的,一來不須要再關注條帶化,二來能夠徹底不須要HACMP(雖然10g版本的ocr和votedisk必須在裸設備上,可是因爲ocr和votedisk特殊性,沒必要使用併發卷組,即不用使用HACMP)往後運維診斷問題時也更加清晰。node
說明:本文側重點並非描述如何定位解決問題,只是偏重於總結平日做爲DBA較少接觸用到的命令。
本次技術支持用到的知識點彙總:shell
--bootinfo -s hdisk 返回磁盤大小,單位是MB bootinfo -s hdisk7 getconf DISK_SIZE /dev/hdisk7
lsdev -Cc disk
--查看pv lspv --查看vg lsvg --查看vg下有哪些lv lsvg -l ocr1 --查看指定lv的詳細信息 lslv lvocr1
檢查lspv看到的pv對應的vg狀態,是否爲concurrent,即併發卷組(concurrent volume groups)。
須要特別注意若是併發卷組是人爲在兩邊啓動的,狀態都爲active,只有經過hacmp自動拉起的併發卷組纔會顯示爲concurrent。併發
10gRAC建議建立5個vg(Add a scanable volume group):oracle
ocr1, ocr2, vote1, vote2, vote3 --smit建立vg舉例: volume group name:ocr1 physical Partition size in megabytes:256 physical volume names:hdisk7 create vg concurrent capable? enhanced concurrent
劃5個lv:其中2個ocr,3個votedisk:運維
lvocr1 lvocr2 lvvote1 lvvote2 lvvote3 --smit mklv舉例建立lvocr1: Logical volume name:lvocr1 VOLUME GROUP name:ocr1 Number of LOGICAL Partitions:4 Physical VOLUME names:hdisk7 Logical volume type:raw
#lsvg -l rootvg 查看rootvg裏的LV lsvg -l ocr1
若是是採用ASM,必須清除;若是是選用裸設備,要配合使用併發卷組,不須要。svg
--清除pvid的命令: varyoffvg ocr1 chdev -l hdisk7 -a pv=clear
cfgmgr -v
chdev -l hdisk7 -a reserve_policy=no_reserve chdev -l hdisk8 -a reserve_policy=no_reserve
若是某個盤查詢key有值,說明盤被鎖:code
--查詢key /usr/DynamicLinkManager/bin/dlmpr -k --清除key /usr/DynamicLinkManager/bin/dlmpr -c hdisk7 /usr/DynamicLinkManager/bin/dlmpr -c hdisk8
--importvg on other nodes importvg -y ocr1 hdisk8 varyonvg ocr1 importvg -y ocr2 hdisk8 varyonvg ocr2 --smit配置資源組屬性舉例: smit hacmp -> Extended Configuration -> HACMP Extended Resource Group Configuration -> Change/Show Resources and Attributes for a Resource Group.
--HACMP 中止/啓動 smit clstop smit clstart
/dev/rlvocr1 /dev/rlvocr2 /dev/rlvvote1 /dev/rlvvote2 /dev/rlvvote3
ORACLE_HOME=/oracle/db ORA_CRS_HOME=/oracle/crs
mklv -y ora_system_01 -u oracle -G dba -t raw -T O -w n -r -n -s 4M datavg 30 hdisk21 hdisk22 hdisk23 hdisk24 hdisk25 mklv -y ora_sysaux_02 -u oracle -G dba -t raw -T O -w n -r -n -s 4M datavg 30 hdisk25 hdisk21 hdisk22 hdisk23 hdisk24 --用於快速隨機排列組合磁盤的條帶化順序(專家支持提供的shell腳本): #hdisk21-hdisk25,隨機排列組合: n=21 s="" while [ $n -lt 26 ] ; do s=$s" hdisk$n" ((n=n+1)) done #echo $s n=1 while [ $n -lt 6 ] ; do ((n=n+1)) ((j=n%5+21)) echo hdisk$j `echo $s|sed -e "s/hdisk$j//" ` done --結果示例以下: hdisk23 hdisk21 hdisk22 hdisk24 hdisk25 hdisk24 hdisk21 hdisk22 hdisk23 hdisk25 hdisk25 hdisk21 hdisk22 hdisk23 hdisk24 hdisk21 hdisk22 hdisk23 hdisk24 hdisk25 hdisk22 hdisk21 hdisk23 hdisk24 hdisk25
注意:這裏前提假設PP=1G,30個PP就是30G。磁盤的順序不一樣,條帶化分佈不一樣。同時須要注意,若是某文件只須要2G大小,實際只須要2塊盤,若是依然寫5塊盤,則至少要佔用5G空間(由於PP最小分配單位目前分配的是1G,5塊盤就是5G)。
寫在後面:
若是能按照最佳實踐選用ASM就不用關心上述這些條帶化和空間問題了。
由於乙方工做特殊性,接觸的客戶環境差別過大,因此在這個Oracle最新版本已經出到19c的時代,也還存有新裝10gRAC且要求使用裸設備的客戶和項目。資源