虚拟机磁盘没有Oracle数据库,Oracle_rac在vmware上面安装时,udev磁盘没有scsi_id返回值...

这段时间在客户vmware上面安装了一套oracle11g_rac,是基于redhat6.4系统的,之前做redhat5版本的时候,都是有现成的asmlib工具可用,但红帽6起初是没有对应版本asmlib,到后来虽然oracle和redhat合作,推出了RHEL6版本的asmlib,但是这货竟然要注册RHN下载,简直不能忍,再加上我本人也是属于UDEV派系,于是就决定使用udev来绑定磁盘给asm使用,起初,我写的UDEV规则文件是采用取每个磁盘的scsi_id,然后绑定成指定的盘符名字,但是后来由于客户使用的是vmware虚拟机,默认磁盘是没有scsi_id返回值的,那不得不考虑使用别的方法

第一种是从VMWARE层面去解决,用文本编辑器修改vmx文件,在vmx文件中任意位置(通常在最后)添加如下行:

disk.EnableUUID = "TRUE"

这种方法有坏处,就是每次修改完磁盘或者网卡信息以后,参数又会变成默认的false,每次都得重新修改,这不符合实际的生产环境要求。

另外一种方法就是,我们的udev采用别的取值方法来绑定磁盘,比如

root@udev ~]#  udevinfo -a -p /sys/block/sdc/sdc1

Udevinfo starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

looking at device '/block/sdc/sdc1':

KERNEL=="sdc1"

SUBSYSTEM=="block"

SYSFS{dev}=="8:33"

SYSFS{partition}=="1"

SYSFS{start}=="63"

SYSFS{size}=="16771797"

我们用上面标红的三个值来取代scsi_id,所以我的规则文件可以写成下面这样

more 99-oracle-asmdevices.rules

KERNEL=="sdc1", SUBSYSTEM=="block", SYSFS{size}=="16771797", SYSFS{start}=="63", NAME="asmdisk1-crs", OWNER="grid", GROUP="asmadmin", MODE="0660"

主题思路就是通过udevinfo这个命令去找其他唯一的值来代替

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值