在LINUX上配置oracle ASMLib的多路径磁盘
在LINUX上配置oracle?ASMLib的多路徑磁盤
適用于:
Oracle?Server?-?Enterprise?Edition?-?Version:?10.2.0.1
Linux?Kernel?-?Version:?1.0.0-1?to?1.0.5-1
Linux?Kernel?-?Version:?2.0.0-1?to?2.0.5-1
Linux?x86-64
RedHat?Enterprise?Linux?(RHEL)?3
RHEL?4
Oracle?Enterprise?Linux?(OEL)?4
RHEL?5
OEL?5
目標:
本文檔介紹了配置Linux的特定ASM庫,甲骨文(她在“的ASMLib”)提供訪問多路徑磁盤所需的步驟。它假定多徑磁盤已經配置存儲提供任何工具。本文檔提供多路徑磁盤的名稱“multipatha”,從而為存儲供應商不可知。
解決方案:
1.涉及多路徑磁盤的問題
使用ASM中的多徑磁盤有兩個問題。?ASM不能兩次看到了同樣的磁盤的處理。如果是這樣,它會導致錯誤。一個磁盤可以出現在一個多路徑配置三次:
1。第一條路徑到磁盤
2。第二條路徑到磁盤
3。多路訪問點
下面是一個例子:說系統有一個本地磁盤/dev/sda,和一個磁盤通過連接外部存儲。該機具有兩個連接或路徑到外部存儲。?Linux的SCSI驅動程序,會看到兩個路徑。他們將顯示為/dev/sdb和/dev/sdc的。系統可能會訪問SDB或SDC,訪問結束在同一個地方。
如果啟用了多路徑,將有一個多路徑磁盤,例如/?dev/?multipatha的,可以訪問兩個路徑。也就是說,所有的I?/?O,以multipatha可以使用路徑。如果系統使用康體發展局的路徑,電纜被拔掉時,系統會得到一個錯誤。但多路徑磁盤會知道切換到SDC路徑。
大多數系統軟件將不知道的多路徑配置。它可以使用任何路徑,康體發展局,SDC,??或multipatha,它不會知道其中的差別。?ASMLib程序是相同的方式。它使用的路徑,默認的配置并不關心。
ASMLib程序將只選擇的路徑之一,因為ASM無法處理兩次看到了同樣的磁盤。這就解決了第一個問題。?ASM只能看到一個路徑,它是幸福的。這里是第二個問題:ASM看到哪條路徑??ASMLib程序將在其默認配置中,選擇它找到的第一個路徑。這是由Linux所報告的第一條路徑。根據您的存儲驅動程序,它可以多路徑,或者它可能是單一的路徑之一。
系統管理員要始終使用多路徑磁盤的ASMLib。如果Oracle不使用它,然而,有沒有辦法,ASMLib程序知道一個多路徑的樣子。它必須被告知通過其配置。
2.Disk掃描排序
磁盤標記的ASMLib使用ASMLib程序安裝描述一個過程。的ASMLib學習什么磁盤在這個過程被稱為磁盤掃描標記。?ASMLib程序每次啟動時運行該掃描。系統管理員也可以通過/etc/init.d/oracleasm?scandisks?命令強制掃描。
ASMLib程序將檢查系統中的每個磁盤。它檢查該磁盤已被標記的ASMLib。任何已標記的磁盤將可用的ASMLib。通常情況下,ASMLib程序檢查每個磁盤操作系統列出他們的確切順序。對于大多數系統來說,這是很好的。
在最后一節中,我們描述了一個情況下,操作系統的順序是不夠好。系統管理員希望看到多路徑磁盤之前看到單一路徑磁盤的ASMLib。這允許選擇多路徑磁盤,并提供給Oracle的ASMLib。
ASMLib程序允許兩個磁盤掃描順序的修改。首先,它允許排除某些磁盤。換句話說,ASMLib程序將完全忽略這些磁盤。其次,系統管理員可以指定首先要掃描的磁盤。在此列表中的磁盤掃描前的磁盤系統的其余部分。
一個多路徑配置,可以使用設施。系統管理員可以選擇排除所有的單一路徑磁盤。?ASMLib程序將忽略他們,只有多路徑磁盤掃描。相反,管理員可以指定多路徑磁盤掃描第一。的ASMLib將看到他們的第一次,他們更喜歡單一路徑。
3.Con配置掃描的順序
ORACLE的ASMLib配置文件位于/etc/sysconfig/oracleasm。它包含了所有的啟動配置,通過/etc/init.d/oracleasm?configure命令中指定的系統管理員。該命令可以不配置掃描排序。
配置文件包含了許多的配置變量。?ORACLEASM_SCANORDER變量指定要掃描的磁盤。?ORACLEASM_SCANEXCLUDE變量指定的磁盤將被忽略。
變量的前綴字符串相匹配的空白seperated列表。換句話說,如果一個磁盤開始的前綴字符串之一,它匹配。例如,前綴字符串SD將匹配所有的SCSI設備。磁盤sda開始與SD。請注意,這些都是沒有水珠。他們不使用通配符。他們是簡單的前綴。還要注意的是在/dev/路徑前綴的一部分。
在RHEL/OEL4掃描時,掃描內核已知的唯一的設備名稱。內核的device-mapper,看到的設備為/dev/DM-XX。人類可讀性的udev創建在/dev/mapper/XXX名。任何ORACLEASM_SCANORDER或ORACLEASM_SCANEXCLUDE配置,必須使用DM的前綴。
另一方面,在/dev/DM-XX設備無法使用OEL/RHEL5和參數,你應該使用/dev/mapper/XXX項。
一對例子:
多路徑磁盤第一
系統管理員配置的ASMLib第一次掃描多路徑磁盤。在她的ASMLib配置文件編輯ORACLEASM_SCANORDER變量看起來像這樣:
ORACLEASM_SCANORDER="multipath?sd"
在掃描過程中,ASMLib程序首先嘗試與“多徑”開頭的所有磁盤。多路徑設備的/dev/multipatha一定的匹配。它首先掃描。下一步,ASMLib程序試圖與“SD”開始的所有磁盤。這是所有的SCSI磁盤。本地磁盤/dev/sda的將被掃描,但它不是一個ASM磁盤。單一路徑的磁盤為/dev/sdb和/dev/sdc的也會被掃描。他們ASM磁盤,但ASMLib程序會看到,它已經到該磁盤的路徑。它會忽略它們。最后,ASMLib程序將掃描任何其他磁盤不匹配或者前綴。
ORACLEASM_SCANORDER關鍵字多徑實際上是從/etc/multipath.conf中“多路徑”一節下的“別名”。例如:
multipaths?{
multipath?{
wwid????????????????????3600508b4000156d700012000000b0000?
alias???????????????????multipath????????????
...????
}?
multipath?{???????????
...?
alias???????????????????mympath????????????
...?????
?? }???
...?
}
默認的實際設備名稱是/dev/mapper/mpath*(或類似)。
不包括單一的路徑磁盤
系統管理員配置的ASMLib忽略單一路徑磁盤。在他的ASMLib配置,編輯ORACLEASM_SCANEXCLUDE變量看起來像這樣:
ORACLEASM_SCANEXCLUDE="sdb?sdc"
在這里,系統管理員已經更加具體。?ASMLib程序應忽略確切的磁盤為/dev/sdb和/dev/sdc的。它不應該忽視其他的SCSI磁盤。?ASMLib程序掃描時,將忽略這些路徑,只看到在/dev/多路徑磁盤。再次,Oracle將使用多路徑磁盤。
4。EMC的PowerPath和ASMLib程序
很多的管理員要使用的EMC的PowerPath多路徑和磁盤訪問的ASMLib。
然而,由EMC?PowerPath和2.4內核不支持。?Linux?2.6內核,如RHEL4或SLES9,和2.0的ASMLib內核驅動程序的系統的支持。請參考EMC支持矩陣(您將需要有一個Powerlink帳戶),以驗證任何/所有的互操作性要求得到滿足。
如果您有相關的ASMLib和PowerPath支持使用Linux?2.4內核的系統,如RHEL3或SLES8,任何問題,請聯系EMC。
總結
以上是生活随笔為你收集整理的在LINUX上配置oracle ASMLib的多路径磁盘的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在oracle 11gr2 grid独占
- 下一篇: 【11GR2 RAC】如何开启归档和FL