Es gibt leider einen nervigen Bug(?) bei der Verwendung von Oracle ASM (http://docs.oracle.com/cd/B28359_01/server.111/b31107/asmcon.htm) im Zusammenspiel mit iSCSI LUNs, der Bug äußert sich bei der Installation einer Grid Infrastructure für Oracle RAC (http://docs.oracle.com/cd/B28359_01/rac.111/b28254/admcon.htm).
Man wird nach der X-basierten Installation der Grid Infrastructure gebeten das root.sh Script auszuführen ($ORACLE_HOME/root.sh), dabei kommt es zu einem Fehler, welcher in folgendem Log gefunden werden kann: (eigentlich könnte die Variable imho auch $GRID_HOME genannt werden, aber seis drum):
$ORACLE_HOME/cfgtoollogs/crsconfig/rootcrs_oraracqs1.log
2013-10-15 15:29:12: Creating voting files
2013-10-15 15:29:12: Creating voting files in ASM diskgroup OCR_VOTING
2013-10-15 15:29:12: Executing crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:12: Executing /u01/app/11.2.0.3/grid/bin/crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:12: Executing cmd: /u01/app/11.2.0.3/grid/bin/crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:13: Command output:
> Failed to create voting files on disk group OCR_VOTING.
> Change to configuration failed, but was successfully rolled back.
> CRS-4000: Command Replace failed, or completed with errors.
>End Command output
Diese Ausgabe hilft erstmal nicht wirklich weiter, also schauen wir im ASM Log nach:
Auf dem 1. Knoten:
/u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
Dort können wir folgende Ausgabe sehen:
NOTE: Voting File refresh pending for group 1/0x4b5bc0ec (OCR_VOTING)
NOTE: Attempting voting file creation in diskgroup OCR_VOTING
ERROR: Could not create voting files. It spans across 161 AUs (max supported is 64 AUs)
ERROR: Voting file allocation failed for group OCR_VOTING
Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_1511.trc:
ORA-15303: Voting files could not be created in diskgroup OCR_VOTING due to small Allocation Unit size
NOTE: Attempting voting file refresh on diskgroup OCR_VOTING
Das hilft uns schon mal etwas weiter, also überprüfen wir die Disks auf ihre Blocksize (hier sdc)
[root@orarac1 queue]# pwd
/sys/block/sdc/queue
[root@orarac1 queue]# grep "" *block_size
logical_block_size:512
physical_block_size:4096
Was sehen wir hier? Das SAN präsentiert uns unterschiedliche Werte für die Block Size, um dieses Problem zu beheben müssen wir in der Konfiguration der ASM (/etc/sysconfig/oracleasm) den folgenden Wert von false auf true setzen
# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=true
Man wird nach der X-basierten Installation der Grid Infrastructure gebeten das root.sh Script auszuführen ($ORACLE_HOME/root.sh), dabei kommt es zu einem Fehler, welcher in folgendem Log gefunden werden kann: (eigentlich könnte die Variable imho auch $GRID_HOME genannt werden, aber seis drum):
$ORACLE_HOME/cfgtoollogs/crsconfig/rootcrs_oraracqs1.log
2013-10-15 15:29:12: Creating voting files
2013-10-15 15:29:12: Creating voting files in ASM diskgroup OCR_VOTING
2013-10-15 15:29:12: Executing crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:12: Executing /u01/app/11.2.0.3/grid/bin/crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:12: Executing cmd: /u01/app/11.2.0.3/grid/bin/crsctl replace votedisk '+OCR_VOTING'
2013-10-15 15:29:13: Command output:
> Failed to create voting files on disk group OCR_VOTING.
> Change to configuration failed, but was successfully rolled back.
> CRS-4000: Command Replace failed, or completed with errors.
>End Command output
Diese Ausgabe hilft erstmal nicht wirklich weiter, also schauen wir im ASM Log nach:
Auf dem 1. Knoten:
/u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log
Dort können wir folgende Ausgabe sehen:
NOTE: Voting File refresh pending for group 1/0x4b5bc0ec (OCR_VOTING)
NOTE: Attempting voting file creation in diskgroup OCR_VOTING
ERROR: Could not create voting files. It spans across 161 AUs (max supported is 64 AUs)
ERROR: Voting file allocation failed for group OCR_VOTING
Errors in file /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_1511.trc:
ORA-15303: Voting files could not be created in diskgroup OCR_VOTING due to small Allocation Unit size
NOTE: Attempting voting file refresh on diskgroup OCR_VOTING
Das hilft uns schon mal etwas weiter, also überprüfen wir die Disks auf ihre Blocksize (hier sdc)
[root@orarac1 queue]# pwd
/sys/block/sdc/queue
[root@orarac1 queue]# grep "" *block_size
logical_block_size:512
physical_block_size:4096
Was sehen wir hier? Das SAN präsentiert uns unterschiedliche Werte für die Block Size, um dieses Problem zu beheben müssen wir in der Konfiguration der ASM (/etc/sysconfig/oracleasm) den folgenden Wert von false auf true setzen
# ORACLEASM_USE_LOGICAL_BLOCK_SIZE: 'true' means use the logical block size
# reported by the underlying disk instead of the physical. The default
# is 'false'
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=true
Alternativ kann das auch mittels Konfigurations-Tool gesetzt werden:
/usr/sbin/oracleasm configure -b
Anschließend muss die Konfiguration aktiviert werden:
service oracleasm restart
Wenn wir nun das root.sh Skript erneut ausführen, funktioniert die Erstellung der Voting Files auf unserer ASM Diskgroup.
Für weitere Informationen empfiehlt sich das Studium des Oracle MetaLinks DOC-ID: 1526096.1
Keine Kommentare:
Kommentar veröffentlichen