<<Back to Exadata Main Page
What is Quorum Disk
A quorum disk is same as voting disk holds same information and used for the same cause. The only difference is in the syntax of its administration and management. You can identify the quorum disk by querying FAILGROUP_TYPE column of v$asm_disk.Login to asm instance as sysasm
SQL> select a.GROUP_NUMBER, b.name group_name, a.DISK_NUMBER, a.PATH, a.name, a.TOTAL_MB, a.FREE_MB, a.failgroup_type 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 NAME FAILGROUP_TYPE
------------ ---------- ----------- ------------------------------ ---------------------
1 DATAC3 19 QD_DATAC3_DB02 QUORUM
1 DATAC3 18 QD_DATAC3_DB01 QUORUM
Exadata- Adding Quorum Disks to Database Nodes
If you have Oracle Exadata rack which has fewer than five storage servers and you have 2 database nodes and you want to configure HIGH redundancy diskgroup for Voting disk then you can use Quorum Disk Manager utility introduced in Oracle Exadata release 12.1.2.3.0 to create and maintain additional required quorum disks
Software Requirements for Quorum Disk Manager
- Oracle Exadata software release 12.1.2.3.0 and above
- Patch 23200778 for all Database homes
- Oracle Grid Infrastructure 12.1.0.2.160119 with patches 22722476 and 22682752, or Oracle Grid Infrastructure 12.1.0.2.160419 and above
Step1> Find out the network interfaces to be used for communication with the iSCSI devices using the following command
[oracle@host]$ oifcfg getif | grep cluster_interconnect | awk '{print $1}'
ib0
ib1
Step2> Find the IP address of each interface using the following command. The IP address in my example is 192.168.10.4[5-8]ib0
ib1
ip addr show interface_name
ON DB01
[oracle@host1]$ ip addr show ib0
192.168.10.45
192.168.10.46
ON DB02
[oracle@host2]$ ip addr show ib1
192.168.10.47
192.168.10.48
On Both Nodes DB01 and DB02 as root User
Step3> Run the
Step3> Run the
quorumdiskmgr
command with the --create --config
options to create quorum disk configurations on both db01
and db02
[root@DB01]#/opt/oracle.SupportTools/quorumdiskmgr --create --config --owner=oracle --group=dba --network-iface-list="ib0, ib1"
[Info] Successfully created iface exadata_ib0 with iface.net_ifacename ib0
[Info] Successfully created iface exadata_ib1 with iface.net_ifacename ib1
[Success] Successfully created quorum disk configurations
[Info] Successfully created iface exadata_ib1 with iface.net_ifacename ib1
[Success] Successfully created quorum disk configurations
[root@DB02]#/opt/oracle.SupportTools/quorumdiskmgr --create --config --owner=oracle --group=dba --network-iface-list="ib0, ib1"
[Info] Successfully created iface exadata_ib0 with iface.net_ifacename ib0
[Info] Successfully created iface exadata_ib1 with iface.net_ifacename ib1
[Success] Successfully created quorum disk configurations
Step4>Run the [Info] Successfully created iface exadata_ib1 with iface.net_ifacename ib1
[Success] Successfully created quorum disk configurations
quorumdiskmgr
command with the --list --config
options to verify that the configurations have been successfully created on both db01
and db02
[root@DB01]#/opt/oracle.SupportTools/quorumdiskmgr --list --config
Owner: oracle
Group: dba
ifaces: exadata_ib0 exadata_ib1
Owner: oracle
Group: dba
ifaces: exadata_ib0 exadata_ib1
[root@DB02]#/opt/oracle.SupportTools/quorumdiskmgr --list --config
Owner: oracle
Group: dba
ifaces: exadata_ib0 exadata_ib1
Owner: oracle
Group: dba
ifaces: exadata_ib0 exadata_ib1
Step5>Run the
quorumdiskmgr
command with the --create --target
options to create a target on both db01
and db02
for Oracle ASM disk group DATAC1 and make the target visible to both db01
and db02
[root@DB01]# /opt/oracle.SupportTools/quorumdiskmgr --create --target --asm-disk-group=DATAC3 --visible-to="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created target iqn.2015-05.com.oracle:QD_DATAC3_DB01.
[root@DB02]#/opt/oracle.SupportTools/quorumdiskmgr --create --target --asm-disk-group=DATAC3 --visible-to="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created target iqn.2015-05.com.oracle:QD_DATAC3_DB02.
Step6> Run the
[root@DB01]# /opt/oracle.SupportTools/quorumdiskmgr --list --target
Name: iqn.2015-05.com.oracle:QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48
Discovered by:
[root@DB02]# /opt/oracle.SupportTools/quorumdiskmgr --list --target
Name: iqn.2015-05.com.oracle:QD_DATAC3_DB02
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48
Discovered by:
Step7> Run the
[root@DB01]# /opt/oracle.SupportTools/quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.45
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.46
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.47
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.48
[root@DB02]# /opt/oracle.SupportTools/quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.45
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.46
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.47
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.48
[root@DB02]#/opt/oracle.SupportTools/quorumdiskmgr --create --target --asm-disk-group=DATAC3 --visible-to="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created target iqn.2015-05.com.oracle:QD_DATAC3_DB02.
Step6> Run the
quorumdiskmgr
command with the --list --target
options to verify the target has been successfully created on both db01
and db02
[root@DB01]# /opt/oracle.SupportTools/quorumdiskmgr --list --target
Name: iqn.2015-05.com.oracle:QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48
Discovered by:
[root@DB02]# /opt/oracle.SupportTools/quorumdiskmgr --list --target
Name: iqn.2015-05.com.oracle:QD_DATAC3_DB02
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
Visible to: 192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48
Discovered by:
Step7> Run the
quorumdiskmgr
command with the --create --device
options to create devices on both db01
and db02
from targets on both db01
and db02
. [root@DB01]# /opt/oracle.SupportTools/quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.45
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.46
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.47
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.48
[root@DB02]# /opt/oracle.SupportTools/quorumdiskmgr --create --device --target-ip-list="192.168.10.45, 192.168.10.46, 192.168.10.47, 192.168.10.48"
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.45
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.46
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.47
[Success] Successfully created all device(s) from target(s) on machine with IP address 192.168.10.48
Step8> Run the
quorumdiskmgr
command with the --list --device
options to verify the devices have been successfully created on both db01
and db02
[root@DB01~]# /opt/oracle.SupportTools/quorumdiskmgr --list --device
Device path: /dev/exadata_quorum/QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Device path: /dev/exadata_quorum/QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Device path: /dev/exadata_quorum/QD_DATAC3_DB02
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
[root@DB02~]# /opt/oracle.SupportTools/quorumdiskmgr --list --device
Device path: /dev/exadata_quorum/QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Device path: /dev/exadata_quorum/QD_DATAC3_DB01
Host name: DB01
ASM disk group name: DATAC3
Size: 128 MB
Device path: /dev/exadata_quorum/QD_DATAC3_DB02
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
Host name: DB02
ASM disk group name: DATAC3
Size: 128 MB
Step9> login to asm instance and verify the disk
On DB01or DB02 as oracle user
NOTE: Adjust the asm_diskstring parameter in case it is required to discover the quorum disks /dev/exadata_quorum/*
SQL>set linesize 200
col path format a50
col path format a30
select inst_id, label, path, mode_status, header_status from gv$asm_disk where path like '/dev/exadata_quorum/%';
INST_ID LABEL PATH MODE_STATUS HEADER_STATUS
---------- ------------------------------ -------------------------------------------------- --------------------- ------------------------------------
1 QD_DATAC3_DB02 /dev/exadata_quorum/QD_DATAC3_DB02 ONLINE CANDIDATE
1 QD_DATAC3_DB01 /dev/exadata_quorum/QD_DATAC3_DB01 ONLINE CANDIDATE
2 QD_DATAC3_DB02 /dev/exadata_quorum/QD_DATAC3_DB02 ONLINE CANDIDATE
2 QD_DATAC3_DB01 /dev/exadata_quorum/QD_DATAC3_DB01 ONLINE CANDIDATE
Step10> Add the discovered candidate disks as Quorumdisk or create a new diskgroup as applicable
SQL> alter diskgroup DATAC3 add quorum failgroup "DB01" disk '/dev/exadata_quorum/QD_DATAC3_DB01' quorum failgroup "DB02" disk '/dev/exadata_quorum/QD_DATAC3_DB02';
OR
SQL> create diskgroup DATAC1 high redundancy quorum failgroup db01 disk '/dev/exadata_quorum/QD_ DATAC1_DB01' quorum failgroup db02 disk '/dev/exadata_quorum/QD_ DATAC1_DB02' ...
Step11> Wait for the rebalancing operation to complete
SQL> select * from v$asm_operation;
Step12> Check the votingdisk status
[oracle@DB01]$ crsctl query css votedisk;
## STATE File Universal Id File Name Disk group
................................................................................................................................................................
................................................................................................................................................................
4. ONLINE ff198b7b1ff74fbcbf8a7baedd669b22 (/dev/exadata_quorum/QD_DATAC3_DB02) [DATAC3]
5. ONLINE 3990c6fc37f44f2bbff3e31c23785803 (/dev/exadata_quorum/QD_DATAC3_DB01) [DATAC3]
Located 5 voting disk(s).
If Applicable
Step13>
Relocate the existing voting files from the normal redundancy disk group to the high redundancy disk group.
$Grid_home/bin/crsctl replace votedisk +DATAC1
Step14>Verify the voting disks have been successfully relocated to the high redundancy disk group and that five voting files exist
$crsctl query css votedisk
Comments
Post a Comment