I'm setting up a RHEL5U3 host to support Oracle RAC.  The customer
still uses raw devices. In one case there are 9 raw devices, in
another 17.

Here's a sample of the rules place in /etc/udev/rules.d/60-raw.rules -
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ec9649cf24cf", RUN+="/bin/raw
/dev/raw/raw1 %N" SYMLINK+="asm1"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56149cf24c4", RUN+="/bin/raw
/dev/raw/raw2 %N" SYMLINK+="asm2"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ec9849cf2545", RUN+="/bin/raw
/dev/raw/raw3 %N" SYMLINK+="asm3"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56249cf251c", RUN+="/bin/raw
/dev/raw/raw4 %N" SYMLINK+="asm4"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ec9a49cf263f", RUN+="/bin/raw
/dev/raw/raw5 %N" SYMLINK+="fra1"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56349cf2618", RUN+="/bin/raw
/dev/raw/raw6 %N" SYMLINK+="fra2"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ec9c49cf2691", RUN+="/bin/raw
/dev/raw/raw7 %N" SYMLINK+="fra3"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56449cf266a", RUN+="/bin/raw
/dev/raw/raw8 %N" SYMLINK+="fra4"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ec9e49cf26e7", RUN+="/bin/raw
/dev/raw/raw9 %N" SYMLINK+="fra5"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56549cf26dc", RUN+="/bin/raw
/dev/raw/raw10 %N" SYMLINK+="fra6"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000eca049cf27d7", RUN+="/bin/raw
/dev/raw/raw11 %N" SYMLINK+="fra7"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a56649cf27f2", RUN+="/bin/raw
/dev/raw/raw12 %N" SYMLINK+="fra8"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ecd149ddc60d", RUN+="/bin/raw
/dev/raw/raw13 %N" SYMLINK+="ocr1"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ecd249ddc633", RUN+="/bin/raw
/dev/raw/raw14 %N" SYMLINK+="ocr2"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ecd349ddc667", RUN+="/bin/raw
/dev/raw/raw15 %N" SYMLINK+="vot1"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114e480000ecd449ddc685", RUN+="/bin/raw
/dev/raw/raw16 %N" SYMLINK+="vot2"
ACTION=="add", KERNEL=="sd*[!0-9]", PROGRAM=="/sbin/scsi_id -g -u -s
%p", RESULT=="3600a0b8000114bc20000a57b49ddc688", RUN+="/bin/raw
/dev/raw/raw17 %N" SYMLINK+="vot3"

I create a rules file for permissions -
/etc/udev/rules.d/99-raw-permissions.rules

On the host with only 9 raw devices, a "wildcarded" ruleS work just fine - e.g.:

KERNEL=="raw[0-2]", OWNER="oracle", GROUP="oinstall", MODE="640"
KERNEL=="raw[5-7]", OWNER="oracle", GROUP="dba", MODE="660"
KERNEL=="raw[8-9]", OWNER="root", GROUP="oinstall", MODE="640"

However - on the hosts with > 9 raw devices, the permissions fail to
get applied, e.g.:
KERNEL=="raw[10-17]", OWNER="root", GROUP="oinstall", MODE="640"


And I have to resort to individual rules for each raw device - e.g.:
# ASM and Redo Devices
KERNEL=="raw1", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw2", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw3", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw4", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw5", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw6", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw7", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw8", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw9", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw10", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw11", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
KERNEL=="raw12", OWNER="oraslpyp", GROUP="dbaslpyp", MODE="660"
# Oracle Configuration Registry and Voting devices
KERNEL=="raw13", OWNER="root", GROUP="dbaslpyp", MODE="640"
KERNEL=="raw14", OWNER="root", GROUP="dbaslpyp", MODE="640"
KERNEL=="raw15", OWNER="root", GROUP="dbaslpyp", MODE="640"
KERNEL=="raw16", OWNER="root", GROUP="dbaslpyp", MODE="640"
KERNEL=="raw17", OWNER="root", GROUP="dbaslpyp", MODE="640"

Is this expected behavior?

Also - in order for Oracle to be "happy" with the device aliases I've
created - do I need to apply the permissions rules to the sym links
too?  Or does it suffice to place them on the raw devices alone?

Thanks
Don

_______________________________________________
rhelv5-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/rhelv5-list

Reply via email to