189 8069 5689

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这个命令去找其他唯一的值来代替


文章名称:Oracle_rac在vmware上面安装时,udev磁盘没有scsi_id返回值
本文地址:http://cdxtjz.cn/article/jjsspp.html

其他资讯