How to use udev for Oracle ASM in Oracle Linux 6 怎样使用udev在linux 6系统上使用asm
大部分在网上可以找到的文档都是在RHEL5或者OEL5中设置udev,udev对于Linux而言最大的作用是防止操作系统重新启动以后,作为ASM磁盘使用的盘符发生变化。
比如说Tim Hall的文章:UDEV SCSI Rules Configuration for ASM in Oracle Linux 5。
比如说Maclean的文章:利用UDEV服务解决RAC ASM存储设备名。
但是在OEL6或者RHEL6中,这一切都有所变化。
主要的变化是:
1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。
2. udevtest命令已经没有了,整合到了udevadm中。
可以参考Redhat的官方文档(这个文档中本身有一些错误,在udev rules中漏了–device=,正确的方法参看下面的第3步):
Configuring persistent storage in Red Hat Enterprise Linux 6。
步骤如下:
1. 编辑/etc/scsi_id.config文件,如果该文件不存在,则创建该文件,添加如下行:
备注:在我的测试中,此步骤可以省略。
2. 获取需要绑定为ASM Disk的磁盘uuid,比如我们要使用/dev/sdc和/dev/sdd作为ASM磁盘,那么:
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc 1ATA_VBOX_HARDDISK_VB36a9e548-1838194a # scsi_id --whitelisted --replace-whitespace --device=/dev/sdd 1ATA_VBOX_HARDDISK_VB9808fc7f-cdf35030
3. 编写udev rules文件,PROGRAM中写scsi_id命令,RESULT中写上面命令中返回的uuid,这跟OEL5中没什么区别,只是scsi_id命令的语法发生变化了。
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB36a9e548-1838194a", NAME="asm-disk1", OWNER="grid", GROUP="dba", MODE="0660" KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB9808fc7f-cdf35030", NAME="asm-disk2", OWNER="grid", GROUP="dba", MODE="0660"
4. 用udevadm进行测试,注意udevadm命令不接受/dev/sdc这样的挂载设备名,必须是使用/sys/block/sdc这样的原始设备名。
udevadm info --query=all --path=/sys/block/sdc udevadm info --query=all --name=asm-disk1
在显示中,有类似如下输出,表示测试正确,/dev/sdc设备在udev启动以后将会绑定为/dev/asm-disk1:
udevadm_test: UDEV_LOG=6 udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:0d.0/host4/target4:0:0/4:0:0:0/block/sdc udevadm_test: MAJOR=8 udevadm_test: MINOR=32 udevadm_test: DEVNAME=/dev/asm-disk1 udevadm_test: DEVTYPE=disk udevadm_test: ACTION=add udevadm_test: SUBSYSTEM=block
brw-rw---- 1 grid dba 8, 32 Oct 26 21:24 /dev/asm-disk1 brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-disk2
相关文章
- 【Linux驱动】linux内核模块简介
- 网查Linux与Mac上的自动化测试工具C/S
- 【Oracle】oracle的LAG和LEAD分析函数
- [linux]Linux下的log
- Oracle Linux Server release 6.3 下安装JDK
- Linux Oracle to Exadata configuration
- 基于Linux下 Oracle 备份策略(RMAN)
- Cobbler批量部署linux系统
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之RAC 工作原理和相关组件(三)
- Linux基础之linux常用命令之文本替换
- Linux基础之linux服务器服务器间拷贝文件
- Linux启动/停止/重启Mysql数据库的方法
- Linux开机自动启动ORACLE设置
- Linux系统进程查看命令
- linux的umask权限掩码为022 和027释义
- linux驱动开发重点关注内容--摘自《嵌入式Linux驱动模板精讲与项目实践》
- linux下用OCI库访问oracle数据库返回错误Cannot create OCI environment!;
- 007-Linux 查看端口
- L85.linux命令每日一练 -- 第12章 Linux系统常用内置命令(一)
- L71.linux命令每日一练 -- 第十章 Linux网络管理命令 -- wget和mailq
- Linux之读开文件函数read
- 嵌入式Linux开发,Ubuntu22下交叉编译报错:make[1]: aarch64-linux-gnu-gcc: No such file or directory
- 嵌入式linux开发,/lib/libc.so.6: version `GLIBC_2.17‘ not found (required by /.../lib/libpaho-mqtt3a.so.1)
- conda安装r Linux系统中 linux中安装r
- Linux下安装Oracle的过程和涉及的知识点-系列6
- Linux【基础篇】—— linux操作系统目录结构、运行级别介绍
- Linux下彻底卸载Oracle数据库
- Linux下的Oracle的数据库备份与恢复(emp和imp命令)
- Linux下安装Python3 和 pip3 |搭建Python环境并Python实现HTML文档转Word(docx)
- 【oracle java 12 尝鲜】linux 下安装java 12