使用udev方式绑定RAC共享存储脚本

本文介绍了一款用于CentOS 6.4系统的脚本,该脚本能够自动化配置Oracle ASM磁盘,并生成udev规则文件,确保磁盘的正确识别与绑定。通过此脚本,用户可以轻松设置磁盘用途及权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:CentOS 6.4

磁盘:/dev/sd* device files are for SCSI, SATA disks

生成文件:/etc/udev/rules.d/99-oracle-asmdevices.rules     文件名称为自定义

============================================================================================

脚本内容:

#!/bin/bash
line=4                        ---该参数定义使用udev绑定的第一块盘位于提取的disks列表的第几行
disks=(`fdisk -l | grep "Disk /dev/sd*"| awk -F: {'print $1'}|awk -F' ' {'print $2'}|sed -n ''$line',$p'`)     ---获取的系统中的磁盘列表
#echo  ${disks[*]}
#echo  ${#disks[*]}
#echo  ${disks[0]}
i=1                             ---生成的文件中的盘文件后缀,标示同一功能磁盘数量
disku=(ocr data)        ---标示磁盘用途,用作ocr还是data.
k=0                            ---ocr盘数量标示
for device in ${disks[*]}
do
  if [ $i -gt 3 ]; then
  k=1
  i=`expr $i - 3`
  fi
  room=`fdisk -l | grep $device|awk {'print $3$4'}|awk -F, {'print $1'}`
  echo \#$i $device=$room>>/etc/udev/rules.d/99-oracle-asmdevices.rules      ---将每块盘的路径名称以及磁盘容量加入到udev配置文件
  scid=`/sbin/scsi_id --whitelisted --replace-whitespace --device=$device`         ---获取指定磁盘的uuid
  echo KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/\$name\",     RESULT==\"$scid\", NAME=\"asm-${disku[$k]}$i\",  OWNER=\"grid\",  GROUP=\"asmadmin\", MODE=\"0660\">>/etc/udev/rules.d/99-oracle-asmdevices.rules
  i=` expr $i + 1 `
done

------------------------------------------------------------------------------------------------------------------------------------------------------

注意:使用该脚本,首先要确认出已经使用的盘是在$line行之前,这是关键。

生成的99-oracle-asmdevices.rules

#1 /dev/sdd=2147MB
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBc73c21d8-a786643d", NAME="asm-ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"
#2 /dev/sde=2147MB
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB3fcb60bf-40afb527", NAME="asm-ocr2", OWNER="grid", GROUP="asmadmin", MODE="0660"
#3 /dev/sdf=2147MB
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB20195d97-6d2ad51a", NAME="asm-ocr3", OWNER="grid", GROUP="asmadmin", MODE="0660"
#1 /dev/sdg=10.7GB
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB24c920ba-9eb72480", NAME="asm-data1", OWNER="grid", GROUP="asmadmin", MODE="0660"
#2 /dev/sdh=10.7GB
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id i --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB66f47205-cf20c312", NAME="asm-data2", OWNER="grid", GROUP="asmadmin", MODE="0660"




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值