So the whole rule for each disk will look something like this in Oracle Linux 5.
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="SATA_VBOX_HARDDISK_VBd306dbe0-df3367e3_", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
for i in b c d e f g
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s /block/$parent", RESULT==\\"/sbin/scsi_id /block/sd$i
\\", NAME=\\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
Or this in Oracle Linux 6.
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="SATA_VBOX_HARDDISK_VBd306dbe0-df3367e3_", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
for i in b c d e f g
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i
\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
Or this in Oracle Linux 7.
KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="SATA_VBOX_HARDDISK_VBd306dbe0-df3367e3_", SYMLINK+="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
for i in c d e f;
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i
\", SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
echo “options=–whitelisted –replace-whitespace” >> /etc/scsi_id.config
for i in b c d e f ;
do
echo “KERNEL==\”sd*\”, BUS==\”scsi\”, PROGRAM==\”/sbin/scsi_id –whitelisted –replace-whitespace –device=/dev/$name\\”, RESULT==\\”/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i\”, NAME=\”asm-disk$i\”, OWNER=\”grid\”, GROUP=\”asmadmin\”, MODE=\”0660\”” >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
生成规则
没有对sdb进行分区,执行如下shell脚本
for i in b ;
do
echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i
\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done
对sdb 进行了分区,执行如下shell脚本
for i in b1 b2
do
echo "KERNEL==\"sd$i\\", SUBSYSTEM==\\"block\\", PROGRAM==\\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\\$parent\", RESULT==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd${i:0:1}
\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done;
注意未分区用 $name
分区用 $parent
手动加载分区
获取RESULT
在 Linux 7下,可以使用如下命令:
/usr/lib/udev/scsi_id -g -u /dev/sdb
在 Linux 6下,可以使用如下命令:
/sbin/scsi_id -g -u /dev/sdb
在 Linux 5下,可以使用如下命令:
重启UDEV Service
RHEL5
/sbin/udevcontrol reload_rules
RHEL6 and RHEL7
udevadm control --reload-rules
RHEL5 and RHEL6(RHEL7不需要)
1、安装
rpm -ivh oracleasm*
rpm -ivh kmod-oracleasm-2.0.8-4.el6_6.x86_64.rpm --force --nodeps
2、检查
rpm -qa|grep oracleasm
3、查看oracleasm帮助
/etc/init.d/oracleasm help
4、配置
/etc/init.d/oracleasm configure
/etc/init.d/oracleasm enable
5、查看状态
/etc/init.d/oracleasm status
6、添加磁盘
ll /dev/sd*
7、将新添加的磁盘进行分区
fdisk /dev/sdb
ll /dev/sd*
oracleasm configure -i
oracleasm configure
8、创建
/etc/init.d/oracleasm createdisk data /dev/sdb1
9、检查
/etc/init.d/oracleasm scandisks
10、确认
/etc/init.d/oracleasm listdisks
ls -l /dev/oracleasm/disks
/etc/init.d/oracleasm querydisk -p data
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论