需求背景:在AIX6.1上安裝Oracle 10g RAC,一線工程師反饋節點2執行root指令碼無法成功,跟進排查發現實際上底層儲存磁碟的準備工作就存在問題。
客戶要求底層儲存選用裸裝置方式,所以必須要配合HACMP建立併發卷組來實現。
其實我們標準化最佳實踐是建議選用ASM的,一來不需要再關注條帶化,二來可以完全不需要HACMP(雖然10g版本的ocr和votedisk必須在裸裝置上,但是由於ocr和votedisk特殊性,不必使用併發卷組,即不用使用HACMP)日後運維診斷問題時也更加清晰。
說明:本文側重點並不是描述如何定位解決問題,只是偏重於總結平日作為DBA較少接觸用到的命令。
本次技術支援用到的知識點彙總:
- 1.AIX如何檢視磁碟大小
- 2.AIX檢視磁碟可用性
- 3.AIX檢視pv/vg/lv
- 4.AIX建立lv
- 5.AIX檢視vg裡的lv資訊
- 6.是否需要清除pvid
- 7.AIX掃描新磁碟
- 8.AIX修改磁碟reserve_policy
- 9.AIX查詢/清除key
- 10.在其他節點匯入已建立的vg
- 11.HACMP 停止/啟動
- 12.安裝Oracle使用的盤全路徑
- 13.Oracle目錄和CRS目錄,注意不能互相包含
- 14.資料盤裸裝置建立舉例
1.AIX如何檢視磁碟大小
--bootinfo -s hdisk 返回磁碟大小,單位是MB
bootinfo -s hdisk7
getconf DISK_SIZE /dev/hdisk7
2.AIX檢視磁碟可用性
lsdev -Cc disk
3.AIX檢視pv/vg/lv
--檢視pv
lspv
--檢視vg
lsvg
--檢視vg下有哪些lv
lsvg -l ocr1
--檢視指定lv的詳細資訊
lslv lvocr1
檢查lspv看到的pv對應的vg狀態,是否為concurrent,即併發卷組(concurrent volume groups)。
需要特別注意如果併發卷組是人為在兩邊啟動的,狀態都為active,只有通過hacmp自動拉起的併發卷組才會顯示為concurrent。
4.AIX建立lv
10gRAC建議建立5個vg(Add a scanable volume group):
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
5.AIX檢視vg裡的lv資訊
#lsvg -l rootvg 檢視rootvg裡的LV
lsvg -l ocr1
6.是否需要清除pvid
如果是採用ASM,必須清除;如果是選用裸裝置,要配合使用併發卷組,不需要。
--清除pvid的命令:
varyoffvg ocr1
chdev -l hdisk7 -a pv=clear
7.AIX掃描新磁碟
cfgmgr -v
8.AIX修改磁碟reserve_policy
chdev -l hdisk7 -a reserve_policy=no_reserve
chdev -l hdisk8 -a reserve_policy=no_reserve
9.AIX查詢/清除key
如果某個盤查詢key有值,說明盤被鎖:
--查詢key
/usr/DynamicLinkManager/bin/dlmpr -k
--清除key
/usr/DynamicLinkManager/bin/dlmpr -c hdisk7
/usr/DynamicLinkManager/bin/dlmpr -c hdisk8
10.在其他節點匯入已建立的vg
--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.
11.HACMP 停止/啟動
--HACMP 停止/啟動
smit clstop
smit clstart
12.安裝Oracle使用的盤全路徑
/dev/rlvocr1
/dev/rlvocr2
/dev/rlvvote1
/dev/rlvvote2
/dev/rlvvote3
13.Oracle目錄和CRS目錄,注意不能互相包含
ORACLE_HOME=/oracle/db
ORA_CRS_HOME=/oracle/crs
14.資料盤裸裝置建立舉例
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且要求使用裸裝置的客戶和專案。