ASM基本配置問題

jeanron100發表於2015-07-05
ASM自10g開始作為Grid的一部分,對於儲存管理層的一個重大變革。重要性和豐富的功能就不多說了,主要的一點,是完全免費的。所以對於高階儲存望而卻步,而且不希望投入很多的投入在儲存上,可以考慮ASM來很實惠的完成儲存管理。
10g,11g的asm還是存在一定的差別,在10g中通過dbca可以直接在裡面配置asm,到了11g,把asm的功能從dbca裡分離開來,單獨有一個asmca來配置ASM,而且需要在安裝grid包的場景下才可以使用。
問題1: 啟用ASM出錯。
ASM的配置,如果希望啟用,首先需要使用root執行一個指令碼,來完成CSS的註冊。這個過程和rac中配置CRS的有些類似。
ASM基本配置問題
但是使用 localconfig add來註冊的時候,日誌內容如下:

[root@oel1 bin]# ./localconfig add
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
Giving up: Oracle CSS stack appears NOT to be running.
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started
可以看到CSS服務最終沒有起來,如果這個時候還是在dbca裡面嘗試建立ASM例項,就會丟擲錯誤
ORA-29701: unable to connect to Cluster Manager
這個時候分析這個問題,還是需要從CSS相關的配置來考慮,可能是某些檔案丟失或者出現了不一致之類的問題。
可以嘗試使用localconfig delete刪除註冊資訊,然後使用localconfig reset來重新配置。

 ./localconfig delete
Stopping CSSD.
Unable to communicate with the CSS daemon.
Shutdown has begun. The daemons should exit soon.
在重新配置的時候,就會很i清楚的看到,其實是有一些檔案找不到了,在這套機器上,之前安裝過rac的crs軟體,可能是有一些檔案可能產生衝突。比如/etc/oracle/ocr.loc這個檔案,這個檔案是在最近使用dbca開啟圖形介面的時候報出了錯誤,最後發現是因為ocr.loc這個檔案影響的,把這個檔案刪了之後就沒有問題了。沒想到在配置ASM的時候也會有一定的影響,不過最終重新配置CSS的時候,會重新去建立ocr.loc這個檔案
[root@oel1 bin]# ./localconfig reset
./localconfig: line 529: /etc/oracle/ocr.loc: No such file or directory
./localconfig: line 551: [: too many arguments
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized

Adding to inittab
Startup will be queued to init within 30 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
        oel1
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)

重新配置成功後,我們檢視CSS的服務,可以看到已經起來了
[root@oel1 bin]# ps -ef|grep css
oracle   26370     1  0 21:30 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/ocssd.bin
root     26637 24953  0 21:30 pts/1    00:00:00 grep css
問題2:配置裸裝置/取消裸裝置配置
接下來,我們需要配置一些裸裝置在ASM中使用。
配置裸裝置,可以使用如下的指令碼,會批量生成多個裸裝置
基本思路就是使用dd建立出模擬的檔案,然後使用losetup來將檔案虛擬為塊裝置。
然後使用raw來繫結即可。
比如我們建立6個裸裝置,指令碼如下:
for i in {1..6}
do
dd if=/dev/zero of=asm_disk$i bs=1M count=500
chmod 777 asm_disk$i
losetup /dev/loop$i asm_disk$i
raw /dev/raw/raw$i /dev/loop$i
chown oracle:dba /dev/raw/raw$i
done
執行指令碼的時候會發現

[root@oel1 asmdisks]# ksh create_asmdisk.sh
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.41319 seconds, 371 MB/s
/dev/raw/raw1:  bound to major 7, minor 1
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.85704 seconds, 282 MB/s
/dev/raw/raw2:  bound to major 7, minor 2
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 4.13632 seconds, 127 MB/s
/dev/raw/raw3:  bound to major 7, minor 3
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 2.29498 seconds, 228 MB/s
/dev/raw/raw4:  bound to major 7, minor 4
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 1.36017 seconds, 385 MB/s
/dev/raw/raw5:  bound to major 7, minor 5
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 2.30878 seconds, 227 MB/s
/dev/raw/raw6:  bound to major 7, minor 6
[root@oel1 asmdisks]#
執行完成之後檢視裸裝置的情況,可以看到6個裸裝置都建立好了。

[root@oel1 asmdisks]# raw -qa
/dev/raw/raw1:  bound to major 7, minor 1
/dev/raw/raw2:  bound to major 7, minor 2
/dev/raw/raw3:  bound to major 7, minor 3
/dev/raw/raw4:  bound to major 7, minor 4
/dev/raw/raw5:  bound to major 7, minor 5
/dev/raw/raw6:  bound to major 7, minor 6
[root@oel1 asmdisks]#


當然我們能夠建立裸裝置,繫結,也可以撤銷繫結,刪除這些裸裝置,
可以使用如下的指令碼來完成回滾的操作

>cat rollback*.sh
for i in {1..6}
do
dd if=/dev/zero of=asm_disk$i bs=1M count=200
raw /dev/raw/raw$i 0 0 
losetup  -d /dev/loop$i
rm asm_disk$i
done
執行指令碼的日誌如下:

[root@oel1 asmdisks]# ksh rollback.sh
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.464948 seconds, 451 MB/s
/dev/raw/raw1:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.423312 seconds, 495 MB/s
/dev/raw/raw2:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.39266 seconds, 534 MB/s
/dev/raw/raw3:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.419405 seconds, 500 MB/s
/dev/raw/raw4:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.552266 seconds, 380 MB/s
/dev/raw/raw5:  bound to major 0, minor 0
200+0 records in
200+0 records out
209715200 bytes (210 MB) copied, 0.568867 seconds, 369 MB/s
/dev/raw/raw6:  bound to major 0, minor 0
再次檢視裸裝置的情況,可以看到裸裝置都不存在了。
[root@oel1 asmdisks]# raw -qa
[root@oel1 asmdisks]#

問題3:建立磁碟組錯誤
基本條件都準備好了,我們來嘗試建立對應的磁碟組,把這些裸裝置都加進來。但是建立磁碟組的時候報出了下面的錯誤。
ASM基本配置問題

對於ORA-15018的問題,其實還是和之前安裝過rac有一定的影響。
這個時候檢視ASM的例項情況,會發現啟動了一個+ASM1的例項,而且屬主是orarac這個使用者,
[root@oel1 asmdisks]# ps -ef|grep smon
oracle    5848     1  0 20:16 ?        00:00:00 ora_smon_TEST10G
oracle   27195     1  0 21:40 ?        00:00:00 asm_smon_+ASM
orarac   29473     1  0 22:11 ?        00:00:00 asm_smon_+ASM1
root     29608 27674  0 22:14 pts/1    00:00:00 grep smon
因為這套rac已經完全不用了,也沒有做解除安裝,所以有些配置資訊還是會有一定的影響,對於這個問題,最後發現是在/etc/oratab的地方已經配置了+ASM1,所以使用dbca的時候會把之前的這個ASM例項啟用,但是新增磁碟組的時候又用不了了。
對於這個問題的處理,就是刪除/etc/oratab中不需要的ASM配置資訊,因為這些配置是之前建立的時候生成的記錄,因為一些配置的原因,現在已經完全不使用這個環境,甚至可以完全刪除這個使用者。
[root@oel1 etc] cat /etc/oratab

+ASM1:/u02/rac/db:N
刪除這個配置資訊之後,重新執行dbca建立就誒有問題了。一會就把磁碟組建立好了。如下圖所示。
ASM基本配置問題
然後我們嘗試重啟一下ASM例項,可以看到都沒有問題。

SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started

Total System Global Area   83886080 bytes
Fixed Size                  1260216 bytes
Variable Size              57460040 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted

ASM的簡單配置就告一段落。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1723940/,如需轉載,請註明出處,否則將追究法律責任。

相關文章