数据库
首页 > 数据库> > 【DB笔试面试706】在Oracle中,udev是什么?如何配置udev?

【DB笔试面试706】在Oracle中,udev是什么?如何配置udev?

作者:互联网

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

题目部分

在Oracle中,udev是什么?如何配置udev?

     

答案部分

udev是Linux 2.6内核里的一个功能,它替代了原来的devfs,成为当前Linux默认的设备管理工具。udev以守护进程的形式运行,通过侦听内核发出来的uevent来管理/dev目录下的设备文件。

在Linux中,所有的设备都是以设备文件的形式存在的。在早期的Linux版本中,“/dev”目录包含了所有可能出现的设备的设备文件,所以,Linux用户很难在这些大量的设备文件中找到匹配条件的设备文件。现在,udev只为那些连接到Linux操作系统的设备产生设备文件,并且udev能通过定义一个udev规则(rule)来产生匹配设备属性的设备文件,这些设备属性可以是内核设备名称、总线路径、厂商名称、型号、序列号或者磁盘大小等等。当设备添加/删除时,udev的守护进程侦听来自内核的uevent,以此添加或者删除/dev下的设备文件,所以udev只为已经连接的设备产生设备文件,而不会在/dev下产生大量虚无的设备文件。

配置udev有如下几个步骤:

1.确认在所有RAC节点上已经安装了必要的udev包

1[root@rh2 ~]# rpm -qa|grep udev
2udev-095-14.21.el5

2.通过scsi_id获取设备的块设备的唯一标识名,假设系统上已有LUN sdc-sde

1for i in c d e ;
2do
3echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted  --device=/dev/\$name\",RESULT==\"`scsi_id --whitelisted  --device=/dev/sd$i`\",NAME=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""
4done

3.创建必要的udev配置文件

首先切换到配置文件目录:

1[root@rh2 ~]# cd /etc/udev/rules.d

定义必要的规则配置文件:

1[root@rh2 rules.d]# cat 99-oracle-asmdevices.rules
2KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted  --device=/dev/$name",RESULT=="14f504e46494c455232326c6c76442d4361634f2d4d4f4d41",NAME="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
3KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted  --device=/dev/$name",RESULT=="14f504e46494c455232326c6c76442d4361634f2d4d4f4d41",NAME="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
4KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted  --device=/dev/$name",RESULT=="14f504e46494c455242674c7079392d753750482d63734443",NAME="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"

需要注意的是,一个KERNEL就是一行,不能换行。

4.将该规则文件拷贝到其它节点上

1[root@rh2 rules.d]# scp 99-oracle-asmdevices.rules Other_node:/etc/udev/rules.d

5.在所有节点上启动udev服务,或者重启服务器即可

1[root@rh2 rules.d]# /sbin/udevcontrol reload_rules
2[root@rh2 rules.d]# /sbin/start_udev
3Starting udev:                                            [  OK  ]

6.检查设备是否到位

1[root@rh2 rules.d]# cd /dev
2[root@rh2 dev]# ls -l asm-disk*
3brw-rw---- 1 grid asmadmin 8,  64 Jul 10 17:31 asm-diskc
4brw-rw---- 1 grid asmadmin 8, 208 Jul 10 17:31 asm-diskd
5brw-rw---- 1 grid asmadmin 8, 224 Jul 10 17:31 asm-diske

配置完成后也可以使用udevadm进行测试,这里不再详述。

标签:rules,706,DB,dev,--,udev,scsi,设备
来源: https://blog.51cto.com/lhrbest/2707539