Redhat6.8 使用udev配置裸设备
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redhat6.8 使用udev配置裸设备相关的知识,希望对你有一定的参考价值。
客户需求:给的不明确,就说装数据库,要做裸设备。没给数据库版本,也没说要udev还是asmlib。。。
以下使用Vmware workstation 试验通过。
4块盘
/dev/sda 装系统用。
/dev/sdb
/dev/sdc
/dev/sdd
以下是走过的坑。
1) asm
一直以为装asm就是装如下这3个包。
1
2
3
|
kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm oracleasm-support-2.1.8-1.el6.x86_64.rpm oracleasmlib-2.0.4-1.el6.x86_64.rpm |
其实不是的,ASM(Automatic Storage Management)是Oracle官方推荐的软件存储解决方案。自10g版本正式推出以来,软件架构层面上ASM的地位是在不断的提升。首先是11g将ASM从数据库层面剥离出来,并归入Grid Infrastructure进行管理。其次就是ASM Disk成为ACFS(Automatic Cluster File System)的基础组件
而ASMLIB是一种基于Linux module,专门为Oracle Automatic Storage Management特性设计的内核支持库(kernel support library)。
udev 是 Linux2.6 内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的 uevent 来管理 /dev目录下的设备文件。不像之前的设备管理工具,udev 在用户空间 (user space) 运行,而不在内核空间 (kernel space) 运行。
而裸设备是裸设备是未mkfs -text3这样操作的设备,比如lvm里逻辑卷建好未格式化直接分配给表空间,这采取的是裸设备。
他们之间的关系就是:
ASM 是oracle 数据库的东西。要去读取裸设备
asmlib 和 udev 都是拿来设置裸设备的。
)2: scsi_id
要配置裸设备,都要获取scsi_id
试过 scsi –g –u –d /dev/sda 获取不到
试过/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/sdb
查看其他人的教程,发现别人获取出来的教程都是 vbox-xxxx 的
原来人家用的都是 virtualbox 啊,那我也下一个。
又得去查 virtualbox 安装redhat 的资料,装到一半去百度 vmware scsi_id获取不到。
*.vmx配置文件缺少disk.EnableUUID="TRUE",添加后即正常。
解决问题。浪费了好多时间啊。。。
以下为试验通过的教程。
1.获取需要绑定为ASMDisk的磁盘uuid。
2.编写udevrules文件,PROGRAM中写scsi_id命令,RESULT中写上面命令中返回的uuid
写文件这里,网上给出了两种文件,60-raw.rules和99-oracle-asmdevices.rules,如何选择如下:
目前RAC采用裸设备有这样两种方式
/etc/udev/rules.d/60-raw.rules和/etc/udev/rules.d/99-oracle-asmdevices.rules
前者创建的是C字符设备,后者创建的是B块设备,ASMLIB创建出来的也是B块设备
1
2
3
4
|
cat /etc/udev/rules .d /99-oracle-asmdevices .rules KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" ,RESULT== "36000c293458d6febb77699276c16f32b" ,NAME= "asm-diskb" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660" KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" ,RESULT== "36000c29d064da93ee51b765dd4eaa0e1" ,NAME= "asm-diskc" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660" KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" , RESULT== "36000c2998d17bb1db6b72ba1ce2baa3b" ,NAME= "asm-diskd" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660" |
3.启动,并查看
以上是关于Redhat6.8 使用udev配置裸设备的主要内容,如果未能解决你的问题,请参考以下文章
ApacheTraffic Server 使用ssd 以及裸盘