ITPUB论坛-专业的IT技术社区

标题: 11g asm中Quorum Failure Group的作用是什么? [打印本页]

作者: jdw618    时间: 2011-6-2 17:28
标题: 11g asm中Quorum Failure Group的作用是什么?
百思不得其解,11g asm中Quorum Failure Group的作用是什么?大師們看看啊

文檔中記載如下:
A quorum failure group is a special type of failure group and disks in these failure groups do not contain user data and are not considered when determining redundancy requirements.

CREATE DISKGROUP ocr_data NORMAL REDUNDANCY
   FAILGROUP fg1 DISK '/devices/diskg1'
   FAILGROUP fg2 DISK '/devices/diskg2'
   QUORUM FAILGROUP fg3 DISK '/devices/diskg3'
   ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';

也有個網友指出,如果DG其中的一個failure group中指定了Quorum關鍵字,則該DG只能用於存儲voting和ocr,不允許存放其它類型的文件,經過實驗,這個結論不成立,可以建立表空間將數據文件放置在該DG中;

那意思是不是,DG中指定了Quorum的failure group,該failure group只能用於存放voting和ocr,那該DG中的其它正常的failure group是可以用於存放其它類型文件的?
這樣就實現了voting&ocr與其它數據文件從ASMDISK/disk group層面上的隔離

由於不知道哪個視圖查看datafile與asmfile的對應關系,無法驗證,請高手們指點一下;

並非不思進取,花了一下午時間,ASM的文檔翻了幾遍,求助...

[ 本帖最后由 jdw618 于 2011-6-2 17:29 编辑 ]
作者: nokilled    时间: 2011-6-2 21:12
意味着这块盘仅仅存放vote disk 的信息,不存放任何的用户数据。
该磁盘组存放数据没问题,但数据不会存放在quorum (/dev/diskg3)所在的磁盘上。

[root@tt01 dev]# su - grid
->sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 09:07:31 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
->sqlplus / as sysasm
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 09:07:37 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> CREATE DISKGROUP QUO_GRP NORMAL REDUNDANCY
  2     FAILGROUP fg1 DISK '/dev/sdb11'
  3     FAILGROUP fg2 DISK '/dev/sdb12'
  4     QUORUM FAILGROUP fg3 DISK '/dev/sdb13'
  5     ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';
   
Diskgroup created.
SQL> COLUMN NAME FOR A20
SQL> COLUMN PATH FOR A30
SQL> COLUMN TOTAL_MB FOR 9999
SQL> COLUMN FREE_MB  FOR 9999
SQL> COLUMN USABLE_FILE_MB  FOR 9999
SQL> select TOTAL_MB,FREE_MB,USABLE_FILE_MB,name from v$asm_diskgroup ;
TOTAL_MB FREE_MB USABLE_FILE_MB NAME
-------- ------- -------------- --------------------
     964      99             99 ACFS
    4777    2082           2082 DATA
     580     390            195 NG
    3820    3227           3227 FLASH
     196     103            103 DGA
     588     480            116 QUO_GRP
6 rows selected.
SQL> COLUMN NAME FOR A20
SQL> COLUMN PATH FOR A30
SQL> COLUMN TOTAL_MB FOR 9999
SQL> COLUMN FREE_MB  FOR 9999
SQL> SELECT NAME,PATH, TOTAL_MB, FREE_MB FROM V$ASM_DISK WHERE GROUP_NUMBER=6;
NAME                 PATH                           TOTAL_MB FREE_MB
-------------------- ------------------------------ -------- -------
QUO_GRP_0000         /dev/sdb11                          196     143
QUO_GRP_0001         /dev/sdb12                          196     143
QUO_GRP_0002         /dev/sdb13                          196     194
->su - oracle
Password:
->sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 09:09:50 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> create tablespace quo_tbs datafile '+quo_grp' size 10M;
Tablespace created.
->su - grid
Password:
->sqlplus / as sysasm
SQL*Plus: Release 11.2.0.2.0 Production on Fri Jun 3 09:11:41 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> COLUMN NAME FOR A20
SQL> COLUMN PATH FOR A30
SQL> COLUMN TOTAL_MB FOR 9999
SQL> COLUMN FREE_MB  FOR 9999
SQL> SELECT NAME,PATH, TOTAL_MB, FREE_MB FROM V$ASM_DISK WHERE GROUP_NUMBER=6;
NAME                 PATH                           TOTAL_MB FREE_MB
-------------------- ------------------------------ -------- -------
QUO_GRP_0000         /dev/sdb11                          196      83
QUO_GRP_0001         /dev/sdb12                          196      83
QUO_GRP_0002         /dev/sdb13                          196     194

[ 本帖最后由 nokilled 于 2011-6-3 09:30 编辑 ]
作者: jdw618    时间: 2011-6-3 09:56
等我先看完上完貼的補充

[ 本帖最后由 jdw618 于 2011-6-3 09:58 编辑 ]
作者: jdw618    时间: 2011-6-3 12:13
小弟理解這些還真有些難度,經過nokilled提點繼續實驗,得出個小小結論,還請大家指教;

在normal redundancy情況下:

含用Quorum Failure Group的DG,將votedisk存儲在這個DG中時,將自動在Quorum Failure Group和常規Failure Group各存一份,
OCR及用戶數據僅存放在常規Failure Group;這些文件的存放位置由DB自動完成

很多地方說OCR和votedisk都會存儲在Quorum,經過下面的實驗說明是錯誤的,只有votedisk存儲在Quorum。

所以,我感覺單獨搞個Quorum Failure Group是件多余事情,它僅保證將votedisk存放一份在獨立的asmdisk中
(OCR有自動備份的機制,10G中votedisk可以通過dd等命令備份,而11G ASM裡面還沒有針對votedisk單獨的備份機制,可能這是個原因)

我可以把votedisk多放在幾個DG中也可以保障它的安全

另外,OCR是以asmfile的形式存儲在DG中的,votedisk在DG中找不到實質的文件,由此也可以猜想一下acfs,asm的啟動機制 啦啦......

[root@rac1 bin]# ./crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
1. ONLINE   64a6332cd1ad4fd3bfce95ca38bf18f8 (ORCL:ASMDISK1) [DATA]


實驗過程:

SQL> CREATE DISKGROUP QUO_GRP NORMAL REDUNDANCY
  2     FAILGROUP fg1 DISK 'ORCL:ASMDISK3'
  3     FAILGROUP fg2 DISK 'ORCL:ASMDISK4'
  4     QUORUM FAILGROUP fg3 DISK 'ORCL:ASMDISK5'
  5     ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';

--我是通過圖形介面創建的,這裡把命令還原出來。

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1952 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1952 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2045 QUORUM


[root@rac1 bin]# ./crsctl replace votedisk +DATA2
Successful addition of voting disk 64a6332cd1ad4fd3bfce95ca38bf18f8.
Successful addition of voting disk 3d3a807e0fa14ff2bf6b6609788e1d1a.
Successful addition of voting disk b030035ea4894fc0bfba8f6b76ae5513.
Successful deletion of voting disk 1e137cab54294f6bbfe173e129f744b2.
Successfully replaced voting disk group with +DATA2.
CRS-4266: Voting file(s) successfully replaced

[root@rac1 bin]# ./crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
1. ONLINE   64a6332cd1ad4fd3bfce95ca38bf18f8 (ORCL:ASMDISK5) [DATA2]
2. ONLINE   3d3a807e0fa14ff2bf6b6609788e1d1a (ORCL:ASMDISK3) [DATA2]
3. ONLINE   b030035ea4894fc0bfba8f6b76ae5513 (ORCL:ASMDISK4) [DATA2]
Located 3 voting disk(s).

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1920 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1920 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2013 QUORUM

可見DATA2中的三塊磁盤容量都減少了;

[root@rac1 bin]# ./ocrconfig -add +DATA2

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1652 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1652 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2013 QUORUM

可見DATA2中只有failure group中有兩塊磁盤容量減少了,QUORUM並沒有減速少,說明OCR只會存在常規failure group中;

[ 本帖最后由 jdw618 于 2011-6-3 13:28 编辑 ]
作者: jdw618    时间: 2011-6-3 13:30
在external redundancy情況下:

在外部冗余的情況下,Votedisk就只會存放在QUORUM failure group,用戶數據及OCR就只會存放在常規failure group了;
其它特性和normal redundancy一樣了。

SQL> CREATE DISKGROUP QUO_GRP external REDUNDANCY
......

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1999 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1998 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2045 QUORUM

[root@rac1 bin]# ./crsctl replace votedisk +DATA2
Successful addition of voting disk 9cbf6388cf984fa1bf2a2d4c470d8aad.
Successful deletion of voting disk 3abe394c1e8d4ff2bf08d39f75f832ce.
Successfully replaced voting disk group with +DATA2.
CRS-4266: Voting file(s) successfully replaced

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1999 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1998 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2013 QUORUM

[root@rac1 bin]# ./ocrconfig -add +DATA2

SQL> select a.GROUP_NUMBER,b.name group_name,a.DISK_NUMBER,a.PATH,a.TOTAL_MB, a.FREE_MB,a.failgroup_type
  2  from v$asm_disk a,v$asm_diskgroup b where a.group_number=b.group_number and a.group_number=1;

GROUP_NUMBER GROUP_NAME      DISK_NUMBER PATH                   TOTAL_MB    FREE_MB FAILGROUP_TYPE
------------ --------------- ----------- -------------------- ---------- ---------- --------------
           1 DATA2                     0 ORCL:ASMDISK3              2047       1865 REGULAR
           1 DATA2                     1 ORCL:ASMDISK4              2047       1864 REGULAR
           1 DATA2                     2 ORCL:ASMDISK5              2047       2013 QUORUM
作者: nokilled    时间: 2011-6-3 13:49
真不知道 quorum disk存在的意义有多大?我能想到的一种情况就是extend distance cluster的时候引入第三站点的votedisk时或许有点意义。
作者: jdw618    时间: 2011-6-3 16:09
RAC環境中,直接用/dev/sd*設備創建的DG,該DG總是另一個節點不能mount;

在inst_id 1創建DG

CREATE DISKGROUP DATA4 NORMAL REDUNDANCY
FAILGROUP fg1 DISK '/dev/sdg1'
FAILGROUP fg2 DISK '/dev/sdg2'
ATTRIBUTE 'compatible.asm' = '11.2.0.0.0';

該DG在inst_id 2 mount失敗

SQL> select * from gv$asm_diskgroup;

   INST_ID GROUP_NUMBER NAME     SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE           TYPE        TOTAL_MB       FREE_MB HOT_USED_MB
---------- ------------ -------- ----------- ---------- -------------------- --------------- ------------ ---------- ---------- -----------
         2            1 DATA2            512       4096              1048576 MOUNTED         EXTERN         2047           1952           0
         2            2 DATA             512       4096              1048576 MOUNTED         EXTERN            10236       1986           0
         2            0 DATA4            512       4096                    0 DISMOUNTED                        0              0           0
         1            1 DATA2            512       4096              1048576 MOUNTED         EXTERN         2047           1952           0
         1            2 DATA             512       4096              1048576 MOUNTED         EXTERN            10236       1986           0
         1            3 DATA4            512       4096              1048576 MOUNTED         NORMAL         2046           1940           0

6 rows selected.


mount時提示
SQL>  alter diskgroup DATA4 mount;
alter diskgroup DATA4 mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15036: disk '/dev/sdg1' is truncated

是不是這樣的操作不支持RAC環境下...

[ 本帖最后由 jdw618 于 2011-6-3 16:10 编辑 ]
作者: nokilled    时间: 2011-6-3 16:11
在节点1上创建,会自动mount.
然后再节点2上手工mount。
作者: jdw618    时间: 2011-6-3 16:34
Fri Jun 03 04:25:41 2011
SQL> alter diskgroup DATA4 mount
NOTE: cache registered group DATA4 number=3 incarn=0x8911e1a7
NOTE: cache began mount (not first) of group DATA4 number=3 incarn=0x8911e1a7
NOTE: cache dismounting (clean) group 3/0x8911E1A7 (DATA4)
NOTE: dbwr not being msg'd to dismount
NOTE: lgwr not being msg'd to dismount
NOTE: cache dismounted group 3/0x8911E1A7 (DATA4)
NOTE: cache ending mount (fail) of group DATA4 number=3 incarn=0x8911e1a7
kfdp_dismount(): 42
Fri Jun 03 04:25:41 2011
kfdp_dismountBg(): 42
ERROR: diskgroup DATA4 was not mounted
NOTE: cache deleting context for group DATA4 3/-1995316825
ORA-15032: not all alterations performed
ORA-15036: disk '/dev/sdg1' is truncated
ERROR: alter diskgroup DATA4 mount
作者: nokilled    时间: 2011-6-3 16:38
show parameters asm_string
作者: 听海★蓝心梦    时间: 2011-6-3 16:42
学习
作者: nokilled    时间: 2011-6-3 16:45
ORA-15036: disk "string" is truncated
Cause: The size of the disk, as reported by the operating system, was smaller than  
the size of the disk as recorded in the disk header block on the disk.  
Action: Check if the system configuration has changed.

是不是磁盘发生了改变了呢
作者: jdw618    时间: 2011-6-3 16:55
這些參數都沒有問題
SQL> show parameter asm_diskstring

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring                       string      /dev/sdg*, ORCL:ASMDISK*

[root@rac1 bin]# ll /dev/sdg*
brwxrwxrwx 1 oracle dba 8, 96 Jun  3 03:55 /dev/sdg
brwxrwxrwx 1 oracle dba 8, 97 Jun  3 04:51 /dev/sdg1
brwxrwxrwx 1 oracle dba 8, 98 Jun  3 04:51 /dev/sdg2

在10g中,可以通過raw和asmlib掛載分區,讓asm識別到
在11g中看到,可以直接有這樣的語法:
CREATE DISKGROUP DATA4 NORMAL REDUNDANCY
FAILGROUP fg1 DISK '/dev/sdg1'

我就將/dev/sdg分成兩個區,修改權限屬主,分區就沒再改變過了,信息如上,
然後指定asm_diskstring參數創建DG,就出現這樣的mount問題

網上查到類似的錯誤,原因是lun resize了,DG沒有resize,造成大小不一致,與我這裡的情況不一致;
作者: jdw618    时间: 2011-6-3 18:33
神奇了,在我心恢意冷,准備否定這個結論的時候,突然間的可以了,感謝nokilled .

期間經歷如下過程:
1、重啟所有nodes(吃飯去了)
2、(吃飯回來)重啟完後,該DG兩個nodes都無法mount,提示:
SQL> alter diskgroup DATA4 mount;
alter diskgroup DATA4 mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15036: disk '/dev/sdg1' is truncated

SQL> drop diskgroup DATA4;
drop diskgroup DATA4
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "DATA4" does not exist or is not mounted

此時是無法再重新創建DG的,因為這些磁盤還是一個DG的成員,當然可以force創建

SQL> drop diskgroup DATA4 force including contents;

Diskgroup dropped.

3、然後再重新create diskgroup
     過程和nokilled說的一樣,在inst_id 1 create diskgroup,完成後該DG此時inst_id 1 狀態是mounted,node2狀態是dismount
     在inst_id 2手動mount該DG,OK

  SQL> alter diskgroup DATA4 mount;
  Diskgroup altered.

   INST_ID GROUP_NUMBER NAME    SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE      TYPE         TOTAL_MB    FREE_MB
---------- ------------ ------- ----------- ---------- -------------------- ---------- ---------- ---------- ----------
         1            1 DATA2           512       4096              1048576 MOUNTED    EXTERN           2047       1952
         1            2 DATA            512       4096              1048576 MOUNTED    EXTERN          10236       1981
         1            3 DATA4           512       4096              1048576 MOUNTED    NORMAL           1568       1378
         2            1 DATA2           512       4096              1048576 MOUNTED    EXTERN           2047       1952
         2            2 DATA            512       4096              1048576 MOUNTED    EXTERN          10236       1981
         2            3 DATA4           512       4096              1048576 MOUNTED    NORMAL           1568       1378

結論:懷疑是磁盤與nodes沒有完全同步造成的,通過重啟OS,同步了,所以也就OK了。
   有問題,最笨的方法,先重啟OS試試...

[ 本帖最后由 jdw618 于 2011-6-3 18:34 编辑 ]
作者: scau_2005    时间: 2012-2-24 10:12
用来做仲裁的,在远距离RAC环境中。参考如下:

A special type of failure group has been introduced in ASM 11.2, and it’s called a quorum failure
      group. This type of failure group is used in the context of extended distance clusters, when the voting
      files are deployed in ASM. A quorum failure group does not contain user data, and it does not count for
      disk group redundancy requirements.
          With stretched clusters, we need at least three voting files, one on each site plus a third that is
      normally deployed via NFS. Unfortunately, the OUI doesn’t allow such a complex setup, so when
      configuring the extended distance cluster, you should start with a normal configuration—two voting
      disks on site A and one for site B—and add the third voting disk after the installation finishes.
           Begin by exporting a file system on the NFS appliance, containing a zero-padded file to serve as the
      voting disk later. The file should be the same size as the ASM disks already used to store the voting files.
      This NFS export should then be concurrently mounted by the two sites. Continue by adding the new
      zero-padded file as an ASM disk, marked as a quorum failure group—for this you have to change the disk
discovery string. Once the new disk is added to the disk group, ASM will automatically readjust the
voting files and include the NFS !°disk.!




欢迎光临 ITPUB论坛-专业的IT技术社区 (http://www.itpub.net/) Powered by Discuz! X3.2