Pessoal, boa tarde!

estou com uma dúvida. Preciso de algo no suse, parecido com o arquivo de 
permissões no red hat, para criar block devices ( mapeamento) e já dar as 
permissões corretas. No red hat eu faço assim:

/etc/udev/rules.d/63-oracle-block.rules
KERNEL=="sdb6", NAME="ocr1", OWNER="oracle", GROUP="oinstall", MODE="0640" 
KERNEL=="sdb8", NAME="voting1", OWNER="root", GROUP="oinstall", MODE="0640" 
KERNEL=="sdc6", NAME="ocr2", OWNER="oracle", GROUP="oinstall", MODE="0640" 
KERNEL=="sdc8", NAME="voting2", OWNER="root", GROUP="oinstall", MODE="0640" 
KERNEL=="sdd6", NAME="voting3", OWNER="oracle", GROUP="oinstall", MODE="0640"

Qual é o meu ambiente hoje.

Tenho 1 vm com openfiler ( estudo)
2 vms suse enterprise 10 ( 32-bits).

atualmente tenho instalado RAC em 10.2.0.4 em raw devices. Gostaria de migrar 
para raw devices, porém, não consegui encontrar nada no google/metalink e 
internet em geral.

As Luns do Openfiler são dispostas sempre de maneira dinâmica:

exemplo: 

rac1:/etc/init.d # (cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; 
print $9 " " $10 " " $11}')
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM1 -> ../../sdh
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM1-part1 -> 
../../sdh1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM2 -> ../../sdp
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM2-part1 -> 
../../sdp1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM3 -> ../../sdg
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM3-part1 -> 
../../sdg1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM4 -> ../../sdo
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM4-part1 -> 
../../sdo1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM5 -> ../../sdf
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.ASM5-part1 -> 
../../sdf1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKOCR1 -> ../../sdd
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKOCR1-part1 -> 
../../sdd1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKOCR2 -> ../../sdm
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKOCR2-part1 -> 
../../sdm1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD1 -> ../../sdc
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD1-part1 -> 
../../sdc1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD2 -> ../../sdl
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD2-part1 -> 
../../sdl1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD3 -> ../../sdb
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.BKVTD3-part1 -> 
../../sdb1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.FRA1 -> ../../sde
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.FRA1-part1 -> 
../../sde1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.FRA2 -> ../../sdn
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.FRA2-part1 -> 
../../sdn1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.OCR1 -> ../../sdr
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.OCR1-part1 -> 
../../sdr1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.OCR2 -> ../../sdk
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.OCR2-part1 -> 
../../sdk1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk1 -> ../../sdj
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk1-part1 -> 
../../sdj1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk2 -> ../../sdq
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk2-part1 -> 
../../sdq1
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk3 -> ../../sdi
ip-10.0.0.100:3260-iscsi-iqn.2006-01.com.openfiler:racdb.VTDisk3-part1 -> 
../../sdi1

aqui vemos que o VTDisk2 foi disponibilizado no sdi1, mas, nem sempre sobe 
assim, podendo subir como sdb1 por exemplo. Ai, encontrei um artigo do Jeffrey 
Hunter que faz o seguinte:

cria-se o arquivo:

rac1:/etc/init.d # cat /etc/udev/rules.d/51-openiscsi.rules
KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/udev/scripts/iscsidev.sh 
%b",SYMLINK+="iscsi/%c/part%n"

e também, cria-se o arquivo:

rac1:/etc/init.d # cat /etc/udev/scripts/iscsidev.sh
#!/bin/sh

# FILE: /etc/udev/scripts/iscsidev.sh

BUS=${1}
HOST=${BUS%%:*}

[ -e /sys/class/iscsi_host ] || exit 1

file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"

target_name=$(cat ${file})

# This is not an open-scsi drive
if [ -z "${target_name}" ]; then
   exit 1
fi

# Check if QNAP drive
check_qnap_target_name=${target_name%%:*}
if [ $check_qnap_target_name = "iqn.2004-04.com.qnap" ]; then
    target_name=`echo "${target_name%.*}"`
fi

echo "${target_name##*.}"

O que este script acima faz ( chamado pelo arquivo 51 do /etc/udev/rules.d) é 
mapear para um nome como:

/dev/iscsi/OCR1/part1   ( onde part1 é a partição1);
/dev/iscsi/OCR2/part2
...
/dev/iscsi/BKOCR1/part1 ( partição que quero para block device).
...

sabendo que os meus dispositivos tem esse nome fixo acima, como faço para ter 
algo semelhante ao arquivo q tenho no red hat?

Desde já, obrigado a todos.


Responder a