OCR/Vote disk 維護操作: (新增/刪除/替換/移動) (文件 ID 1674859.1)

Z少校發表於2016-12-13
OCR/Vote disk 維護操作: (新增/刪除/替換/移動) (文件 ID 1674859.1) 轉到底部轉到底部

文件內容

目標
解決方案
  準備磁碟
  1. 磁碟大小
  2. 裸裝置或者塊裝置 (pre 11.2)
  3. ASM disks (11.2+)
  4. 叢集檔案系統
  5. 許可權
  6. 冗餘
  新增/刪除/替換/移動 OCR device
  1. 當只有一個 OCR 裝置時,新增一個 OCRMIRROR 裝置:
  2. 刪除一個 OCR 裝置
  3. 替換或者移動 OCR 裝置位置
  4. 當叢集停止時如何恢復 OCR
  新增/刪除/移動 voting disk
  對應於 10gR2 版本
  對於 11gR1 版本
  對於 11gR2 版本
  對於 修改線上的OCR或者Vote file 的操作:
  對於 Extended Cluster 上 Voting disk 維護
參考


適用於:

Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [發行版 10.2 到 11.2]
本文件所含資訊適用於所有平臺

目標

提供在 Oracle Clusterware 10gR2, 11gR1 和 11gR2 環境中新增,刪除,替換,移動 Oracle Cluster Repository (OCR) 和/或 Voting Disk 的步驟。並且包括了把OCR/voting 從裸裝置移動到塊裝置和ASM 裝置的步驟。對於 Oracle Clusterware 12c,請參考 Document 1558920.1 Software Patch Level and 12c Grid Infrastructure OCR Backup/Restore。


本文適用於需要修改,移動 OCR,voting disk 的 DBA 和技術支援工程師,客戶已經在一套儲存上部署了叢集環境,可能需要在最短的停機時間內遷移到新的儲存。

通常來說,一旦儲存已經存在,那麼可以透過 cp 或者 dd 檔案,但是對於叢集來說是有一些困難的,這是因為:

1. Oracle Clusterware 的 OCR 和 voting disks 是聯機使用的。(包括primary和映象)
2. 與 cp 和 dd 命令相比,Oracle提供的 API(ocrconfig and crsctl)更適合用來實現這些功能。

執行操作之前,請備份 OC R和 voting disk。

 

注意: 當 OCR 和 Voting disk files 存放在一起,像OCFS (例如在 pre-11.2 Clusterware 環境) 或者在同一個 ASM diskgroup (例如在 11.2 Oracle Clusterware 環境), 事實上 OCR 和 Voting disk 是 2 個單獨的檔案和實體,因此如果希望修改或者移動 OCR 和 Voting disk,那麼必須遵守下面提供的步驟。

 

解決方案

準備磁碟


為了新增或者替換 OCR 或 voting disk,請提前準備新的磁碟。請參考各個平臺 Clusteware/Gird Infrastructure 安裝文件中關於磁碟的要求。

1. 磁碟大小

版本 10.1:
OCR device minimum size (each): 100M
Voting disk minimum size (each): 20M

版本 10.2:
OCR device 最小值 (每個): 256M
Voting disk最小值 (每個): 256M

版本 11.1:
OCR device 最小值 (每個): 280M
Voting disk 最小值 (每個): 280M

版本 11.2:
OCR device 最小值 (每個): 300M
Voting disk 最小值 (每個): 300M

2. 裸裝置或者塊裝置 (pre 11.2)

請參考各個平臺 Clusteware/Gird Infrastructure 安裝文件。
對於windows平臺,請使用命令$CRS_HOME\bin\GUIOracleOBJManager.exe建立新的裸裝置連結,例如:
\\.\VOTEDSK2
\\.\OCR2

3. ASM disks (11.2+)

在windows平臺,請參考 Document 331796.1 How to setup ASM on Windows 
在Linux平臺,請參考 Document 580153.1 How To Setup ASM on Linux Using ASMLIB Disks, Raw Devices or Block Devices? 
其他平臺,請參考 Clusterware/Gird Infrastructure安裝手冊  (Chapter: Oracle Automatic Storage Management Storage Configuration)。

4. 叢集檔案系統

如果 OCR 在叢集檔案系統上,在新增/替換之前,新的 OCR 或者 OCRMIRROR 檔案必需提前建立,否則會出現PROT-21: Invalid parameter (10.2/11.) or PROT-30 The Oracle Cluster Registry location to be added is not accessible (針對版本11.2)錯誤。

使用 root 使用者
# touch /cluster_fs/ocrdisk.dat
# touch /cluster_fs/ocrmirror.dat
# chown root:oinstall /cluster_fs/ocrdisk.dat  /cluster_fs/ocrmirror.dat
# chmod 640 /cluster_fs/ocrdisk.dat  /cluster_fs/ocrmirror.dat

不需要提前在叢集檔案系統上建立 voting disk 檔案。

執行刪除命令後,需要手動在叢集檔案系統上刪除 ocr/voting 檔案。

5. 許可權

對於 OCR 裝置:
chown root:oinstall <OCR device>
chmod 640 <OCR device>

對於 Voting 裝置:
chown <crs/grid>:oinstall <Voting device>
chmod 644 <Voting device>

如果 OCR/Voting disk 使用 ASM 磁碟:
chown griduser:asmadmin <asm disks>
chmod 660 <asm disks>

6. 冗餘

Voting 磁碟(不要使用偶數個):
External 需要最少1個 Voting 磁碟(或者1個 failure group)
Normal 需要最少3個 Voting 磁碟(或者3個 failure group)
High 需要最少5個 Voting 磁碟(或者5個 failure group)

缺少 failure group 會引起 voting disk 建立失敗。例如 ORA-15274: Not enough failgroups (3) to create voting files

OCR: 
10.2 和 11.1,最多2個 OCR 裝置:OCR 和 OCRMIRROR
11.2+,最多5個 OCR。

請參考各個平臺對應文件 Oracle? Grid Infrastructure Installation Guide 獲得更多資訊

新增/刪除/替換/移動 OCR device

注意: 必須以 root 使用者登入,因為 root 使用者擁有 OCR 檔案。"ocrconfig -replace"命令只能在CRS 執行時執行,否則報錯"PROT-1: Failed to initialize ocrconfig"。

請確保執行這些操作時 CRS 在所有節點都是執行的,否則在關閉的節點上這些命令將不會生效,那麼將來關閉節點的 CRS 啟動時會有問題。需要使用"ocrconfig -repair"命令來修復 ocr.loc 檔案。

對於 11.2 及以上版本而且 OCR 在 ASM 磁碟組的叢集,由於 unpublished Bug 8604794 - FAIL TO CHANGE OCR LOCATION TO DG WITH 'OCRCONFIG -REPAIR -REPLACE'的存在,使用"ocrconfig -repair"命令將 OCR 位置修改到不同的 ASM 磁碟組是不能正常工作的。臨時的解決方法是手動編輯 /etc/oracle/ocr.loc 或 /var/opt/oracle/ocr.loc檔案 或 Windows registry HYKEY_LOCAL_MACHINE\SOFTWARE\Oracle\ocr劍指,指向設定的磁碟組。

如果 OLR 有任何問題,請參考 How to restore OLR in 11.2 Grid Infrastructure Note 1193643.1.

在做任何改變前確保有一個近期的 OCR 檔案備份:

ocrconfig -showbackup

如果沒有近期的 OCR 檔案備份,可以 export 當前的 OCR 檔案。使用下面的命令生成一個線上 OCR 檔案的匯出檔案:

版本 10.2

# ocrconfig -export <OCR export_filename> -s online

版本 11.1 和 11.2

# ocrconfig -manualbackup
node1 2008/08/06 06:11:58 /crs/cdata/crs/backup_20080807_003158.ocr

使用匯出檔案來恢復 OCR,執行下面命令:

# ocrconfig -import <OCR export_filename>


從 11.2 開始,請參考 How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1

檢查 OCR 是否健康,執行 ocrcheck 命令,應該返回下面的資訊:

# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 497928
Used space (kbytes) : 312
Available space (kbytes) : 497616
ID : 576761409
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw2
Device/File integrity check succeeded

Cluster registry integrity check succeeded

對於11.1及以上版本, ocrcheck 命令還應該返回:
Logical corruption check succeeded

1. 當只有一個 OCR 裝置時,新增一個 OCRMIRROR 裝置:

新增一個 OCR mirror 裝置,提供全路徑包括檔名。
10.2 和 11.1:

# ocrconfig -replace ocrmirror <filename>
eg:
# ocrconfig -replace ocrmirror /dev/raw/raw2
# ocrconfig -replace ocrmirror /dev/sdc1
# ocrconfig -replace ocrmirror /cluster_fs/ocrdisk.dat
> ocrconfig -replace ocrmirror \\.\OCRMIRROR2  - for Windows

11.2+: 版本 11.2 之後,最多可新增4個 ocrmirrors

# ocrconfig -add <filename>
eg:
# ocrconfig -add +OCRVOTE2
# ocrconfig -add /cluster_fs/ocrdisk.dat

2. 刪除一個 OCR 裝置

刪除一個 OCR 裝置: 
10.2 和 11.1:

# ocrconfig -replace ocr

11.2+:

# ocrconfig -delete <filename>
eg:
# ocrconfig -delete +OCRVOTE1

* 一旦 OCR 裝置被刪除,ocrmirror 裝置自動轉換為 OCR。
* 如果只有一個 OCR 裝置,那麼不允許刪除 OCR ,命令將會返回錯誤 PROT-16。


刪除 OCR mirror 裝置: 
10.2 和 11.1:

# ocrconfig -replace ocrmirror

11.2+:

# ocrconfig -delete <ocrmirror filename>
eg:
# ocrconfig -delete +OCRVOTE2

如果是叢集檔案系統,那麼刪除之後,舊的 OCR/OCRMIRROR 檔案可以被刪除。

3. 替換或者移動 OCR 裝置位置

注意. 1. 替換 OCR 裝置前,一個 ocrmirror 必須存在,否則報錯 PROT-16。
2. 如果 OCR 裝置被替換為不同大小的裝置,那麼新的裝置大小隻有叢集重啟後才會被顯示。


10.2 和 11.1:
替換 OCR 裝置,提供全路徑包括檔名:

# ocrconfig -replace ocr <filename>
eg:
# ocrconfig -replace ocr /dev/sdd1
$ ocrconfig -replace ocr \\.\OCR2 - for Windows

替換 OCR mirror 裝置,提供全路徑包括檔名:

# ocrconfig -replace ocrmirror <filename>
eg:
# ocrconfig -replace ocrmirrow /dev/raw/raw4
# ocrconfig -replace ocrmirrow \\.\OCRMIRROR2  - for Windows

11.2:
替換 OCR 或者 OCRMIRRORs 的命令和之前版本是相同的(至少2個 OCR 存在):

# ocrconfig -replace <current filename> -replacement <new filename>
eg:
# ocrconfig -replace /cluster_file/ocr.dat -replacement +OCRVOTE
# ocrconfig -replace +CRS -replacement +OCRVOTE

4. 當叢集停止時如何恢復 OCR

如果 OCR 不可訪問,CRSD 程式將不會啟動,因此叢集將不能完全啟動。恢復 OCR 需要訪問好的 OCR 備份,檢視自動 OCR 備份:

# ocrconfig -showbackup

從OCR 備份恢復:

# ocrconfig -restore <path/filename of OCR backup>

對於 11.2: 如果 OCR 位於 ASM 磁碟,但是 ASM DISK 也丟失了,請參考:
How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1
How to Restore OCR After the 1st ASM Diskgroup is Lost on Windows Document 1294915.1

如果沒有有效的 OCR 備份,那麼需要重新初始化 OCR 和 voting。
對於10.2 和 11.1:
請參考 How to Recreate OCR/Voting Disk Accidentally Deleted Document 399482.1

對於 11.2:
需要在叢集的所有節點deconfig 叢集軟體並且重新執行roo.sh 指令碼。

新增/刪除/移動 voting disk

注意: 1. 對於版本10.2 和 11.1, crsctl votedisk 命令必須以 root 使用者執行,但是對於11.2 及以上版本, 可以用 grid 使用者執行。
2. 對於 11.2,如果 OCR 和 voting 使用 ASM 磁碟,那麼這個命令在 Windows 和 Unix 平臺是相同的。

對於 11.2 之前,備份 voting disk:

$ dd if=voting_disk_name of=backup_file_name

對於 Windows:

ocopy \\.\votedsk1 o:\backup\votedsk1.bak

對於 11.2+,不需要備份 voting disk,在發生任何配置變化是voting disk 會被自動備份到 OCR 上。如果 voting disk 中的內容發生了以下變化之一, Oracle Clusterware 會自動備份 voting disk:

  • 配置引數,比如 misscount 被新增或者修改

  • 執行 voting disk 新增或者刪除操作

當新增或者替換 voting disk後,voting disk 內容會從VF備份中自動恢復到新的VF中

對應於 10gR2 版本

修改任何 voting disk 前,停止 oracle 叢集(使用 root 使用者執行 crsctl stop crs)。檢視當前 voting disk 位置:
crsctl query css votedisk

1. 新增一個 Voting Disk,提供全路徑包括檔名:

# crsctl add css votedisk <VOTEDISK_LOCATION> -force
eg:
# crsctl add css votedisk /dev/raw/raw1 -force
# crsctl add css votedisk /cluster_fs/votedisk.dat -force
> crsctl add css votedisk \\.\VOTEDSK2 -force   - for windows

2. 刪除一個 Voting Disk,提供全路徑包括檔名:

# crsctl delete css votedisk <VOTEDISK_LOCATION> -force
eg:
# crsctl delete css votedisk /dev/raw/raw1 -force
# crsctl delete css votedisk /cluster_fs/votedisk.dat -force
> crsctl delete css votedisk \\.\VOTEDSK1 -force   - for windows

3. 移動一個 Voting Disk,提供全路徑包括檔名,先新增一個裝置,然後刪除舊的:

# crsctl add css votedisk <NEW_LOCATION> -force
# crsctl delete css votedisk <OLD_LOCATION> -force
eg:
# crsctl add css votedisk /dev/raw/raw4 -force
# crsctl delete css votedisk /dev/raw/raw1 -force

修改 Voting Disk 後,在所有節點啟動 oracle 叢集

# crsctl start crs

確認 Voting Disk 位置:

# crsctl query css votedisk

對於 11gR1 版本

從 11.1.0.6 開始,下面的命令可以線上執行(CRS 正在執行)

1. 新增一個 Voting Disk,提供全路徑包括檔名:

# crsctl add css votedisk <VOTEDISK_LOCATION>
eg:
# crsctl add css votedisk /dev/raw/raw1
# crsctl add css votedisk /cluster_fs/votedisk.dat
> crsctl add css votedisk \\.\VOTEDSK2        - for windows

2. 刪除一個 Voting Disk,提供全路徑包括檔名:

# crsctl delete css votedisk <VOTEDISK_LOCATION>
eg:
# crsctl delete css votedisk /dev/raw/raw1 -force
# crsctl delete css votedisk /cluster_fs/votedisk.dat
> crsctl delete css votedisk \\.\VOTEDSK1     - for windows

3. 移動一個Voting Disk, 提供全路徑包括檔名

# crsctl add css votedisk <NEW_LOCATION> 
# crsctl delete css votedisk <OLD_LOCATION>
eg:
# crsctl add css votedisk /dev/raw/raw4
# crsctl delete css votedisk /dev/raw/raw1

確認 Voting Disk 位置:

# crsctl query css votedisk

 

對於 11gR2 版本

從 11.2開始,Voting Disk 可以存放於 ASM 磁碟組或者叢集檔案系統,當 Grid Infrastructure 執行是,執行下面的命令,以 grid 使用者:

1. 新增一個 Voting Disk
a. 當 votedisk 位於叢集檔案系統:

$ crsctl add css votedisk <cluster_fs/filename>

b. 當 votedisk 位於 ASM 磁碟組,沒有新增選項。
Votedisk 數量是由磁碟組冗餘度決定。如果希望更多 votedisk 副本,可以移動 votedisk 到更高冗餘度的磁碟組。見步驟4。
如果 votedisk 從一個正常或者高冗餘度的磁碟組被刪除,可以使用下面的命令新增回來:

alter diskgroup <vote diskgroup name> add disk '</path/name>' force;

 
2. 刪除一個Voting Disk
a. 當 Voting Disk 位於叢集檔案系統時:

$ crsctl delete css votedisk <cluster_fs/filename>
or
$ crsctl delete css votedisk <vdiskGUID>     (vdiskGUID is the File Universal Id from 'crsctl query css votedisk')

b. 當 Voting Disk 位於 ASM時,沒有刪除選項,只能從一個 asm 磁碟組替換為另外一個 asm 磁碟組。

3. 在叢集檔案系統上移動一個 Voting Disk 

$ crsctl add css votedisk <new_cluster_fs/filename>
$ crsctl delete css votedisk <old_cluster_fs/filename>
or
$ crsctl delete css votedisk <vdiskGUID>

4. ASM 磁碟組冗餘度或者位置變化

$ crsctl replace votedisk <+diskgroup>|<vdisk>

例子:從外部冗餘磁碟組 +OCRVOTE 移動到正常冗餘磁碟組 +CRS

1. create new diskgroup +CRS as desired

2. $ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   5e391d339a594fc7bf11f726f9375095 (ORCL:ASMDG02) [+OCRVOTE]
Located 1 voting disk(s).

3. $ crsctl replace votedisk +CRS
Successful addition of voting disk 941236c324454fc0bfe182bd6ebbcbff.
Successful addition of voting disk 07d2464674ac4fabbf27f3132d8448b0.
Successful addition of voting disk 9761ccf221524f66bff0766ad5721239.
Successful deletion of voting disk 5e391d339a594fc7bf11f726f9375095.
Successfully replaced voting disk group with +CRS.
CRS-4266: Voting file(s) successfully replaced

4. $ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   941236c324454fc0bfe182bd6ebbcbff (ORCL:CRSD1) [CRS]
 2. ONLINE   07d2464674ac4fabbf27f3132d8448b0 (ORCL:CRSD2) [CRS]
 3. ONLINE   9761ccf221524f66bff0766ad5721239 (ORCL:CRSD3) [CRS]
Located 3 voting disk(s).

5. 在 ASM 磁碟組和叢集檔案系統之間移動 voting disk 
a. ASM 磁碟組移動到叢集檔案系統:

$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   6e5850d12c7a4f62bf6e693084460fd9 (ORCL:CRSD1) [CRS]
 2. ONLINE   56ab5c385ce34f37bf59580232ea815f (ORCL:CRSD2) [CRS]
 3. ONLINE   4f4446a59eeb4f75bfdfc4be2e3d5f90 (ORCL:CRSD3) [CRS]
Located 3 voting disk(s).

$ crsctl replace votedisk /rac_shared/oradata/vote.test3
Now formatting voting disk: /rac_shared/oradata/vote.test3.
CRS-4256: Updating the profile
Successful addition of voting disk 61c4347805b64fd5bf98bf32ca046d6c.
Successful deletion of voting disk 6e5850d12c7a4f62bf6e693084460fd9.
Successful deletion of voting disk 56ab5c385ce34f37bf59580232ea815f.
Successful deletion of voting disk 4f4446a59eeb4f75bfdfc4be2e3d5f90.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced

$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   61c4347805b64fd5bf98bf32ca046d6c (/rac_shared/oradata/vote.disk) []
Located 1 voting disk(s). 

b. 從叢集檔案系統移動到 ASM 磁碟組

$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   61c4347805b64fd5bf98bf32ca046d6c (/rac_shared/oradata/vote.disk) []
Located 1 voting disk(s).

$ crsctl replace votedisk +CRS
CRS-4256: Updating the profile
Successful addition of voting disk 41806377ff804fc1bf1d3f0ec9751ceb.
Successful addition of voting disk 94896394e50d4f8abf753752baaa5d27.
Successful addition of voting disk 8e933621e2264f06bfbb2d23559ba635.
Successful deletion of voting disk 61c4347805b64fd5bf98bf32ca046d6c.
Successfully replaced voting disk group with +CRS.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced

[oragrid@auw2k4 crsconfig]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   41806377ff804fc1bf1d3f0ec9751ceb (ORCL:CRSD1) [CRS]
 2. ONLINE   94896394e50d4f8abf753752baaa5d27 (ORCL:CRSD2) [CRS]
 3. ONLINE   8e933621e2264f06bfbb2d23559ba635 (ORCL:CRSD3) [CRS]
Located 3 voting disk(s).

6. 確認:

$ crsctl query css votedisk

 

對於 修改線上的OCR或者Vote file 的操作:

對於儲存的遷移,如果使用的是asm的磁碟組而且保持原來的大小、磁碟組、冗餘方式都不改變的話,我們可以直接採取新增新的faiure group (磁碟)的方式,然後drop掉舊的failure group(磁碟),來達到更換磁碟的目的。

更多操作資訊,請參考How to Swap Voting Disks Across Storage in a Diskgroup (Doc ID 1558007.1)和Exact Steps To Migrate ASM Diskgroups To Another SAN/Disk-Array/DAS/etc Without Downtime. (Doc ID 837308.1)

 

 

對於 Extended Cluster 上 Voting disk 維護

請參考 oracle 白皮書: 

如果使用 asmca 工具有任何問題,請參考 How to Manually Add NFS voting disk to an Extended Cluster using ASM in 11.2 Note 1421588.1 。

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

相關文章