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.