UDEV绑定

安装RAC需要绑定磁盘映射,需要获取磁盘WWID来使用UDEV绑定。

scsi_id命令发出一个SCSI INQUIRY指令给设备,访问vital product data (VPD)页0x83的数据,那里包含设备的WWID和其他的信息,或者页0x80的数据,那里包含单元序列号(unit serial number)。   scsi_id命令的执行结果(一长串字符)是设备的WWID,当前映射到/dev/sdc(/sys/block/sdc)。每一条到设备的路径和设备上的每一个分区的WWID都是相同的。设备的WWID不会改变,即使将其他的设备添加到系统或者从系统中删除。但是,映射到/dev/sdc的设备可能会改变。这就是为什么需要创建一个静态的设备名。可以根据WWID创建设备名。


一、 如何获取设备WWID

(1) Redhat 5 Enterprise Linux 如下:
#/sbin/scsi_id -g -u -s /dev/sdb
   Or
#/sbin/scsi_id -g -u -s /block/sdb
Shell脚本
# for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `scsi_id -g -u -s /block/$i`"; done

(2) Redhat 6 Enterprise Linux 如下:
#/sbin/scsi_id -g -u /dev/sdb
   Or
#/sbin/scsi_id -g -u /block/sdb
   Or
#/sbin/scsi_id --whitelist [--replace-whitespace] [ --device=] /dev/sdb
Shell脚本
# for i in `cat /proc/partitions | awk {'print $4'} |grep sd`; do echo "### $i: `scsi_id --whitelist  --replace-whitespace /dev/$i`"; done 

二、 写入udev .rules

(1) 对于整个盘的绑定写入 99-oracle-asmdevices.rules (文件名,测试可以随便命令)

RHEL5
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u -s /dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done



RHEL6
for i in b c d e f ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id  --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >>  /etc/udev/rules.d/99-oracle-asmdevices.rules
done

Kernel [2.6.32] and later
KERNEL=="sdc", BUS=="scsi", PROGRAM=="/sbin/scsi_id -gud /dev/$name" RESULT=="1ATA_VBOX_HARDDISK_VB93327385-145dda10", SYMLINK+="asmdisk/asm-crs1",  OWNER="grid", GROUP="asmadmin", MODE="0660"
OR
KERNEL=="sdc", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name" RESULT=="1ATA_VBOX_HARDDISK_VB93327385-145dda10", SYMLINK+="asmdisk/asm-crs1",  OWNER="grid", GROUP="asmadmin", MODE="0660"

(2) 对于磁盘子分区的绑定


 Redhat Enterprise Linux 5 用如下参数           
KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id  -g  -u  -s %p", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"

 Redhat Enterprise Linux 6 用如下参数
KERNEL=="sd?[1-2]", BUS=="scsi", PROGRAM=="/sbin/scsi_id  -g  -u /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBaef9fa71-c32978c8", NAME="asm-ocr%n", OWNER="grid", GROUP="asmdba", MODE="0660"
Or
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent" RESULT=="1ATA_VBOX_HARDDISK_VB8383313d-441fd502", NAME="asm-crs1",  OWNER="grid", GROUP="asmadmin", MODE="0660"





(3) 只改权限
[root@rac01 oracle]# cat /etc/udev/rules.d/99-asm-multipath.rules
PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath1p1"
PROGRAM="/bin/chown oracle:oinstall /dev/mapper/back_mpath2p1"
PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath1p1"
PROGRAM="/bin/chown oracle:oinstall /dev/mapper/data_mpath2p1"

三、 udev管理


udevadm -h
[root@gitwo sdb1]# udevadm -h
Usage: udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]
   info             query sysfs or the udev database
   trigger         request events from the kernel
   settle          wait for the event queue to finish
   control         control the udev daemon
   monitor         listen to kernel and udev events
   test             simulation run
udevadm control -h
[root@gitwo sdb1]# udevadm control -h
Usage: udevadm control COMMAND
   --log-priority=    set the udev log level for the daemon
   --stop-exec-queue            keep udevd from executing events, queue only
   --start-exec-queue          execute events, flush queue
   --reload-rules                reloads the rules files
   --property== set a global property for all events
   --max-childs=             maximum number of childs
   --help                            print this help text
udevadm control --reload-rules
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu上的摄像头ID,需要执行以下步骤: 1. 首先,插入摄像头并确保它被识别。可以通过打开终端并运行命令`lsusb`来查看已连接的USB设备,确认摄像头是否被正确识别。 2. 在终端中运行`ls -ltrh /dev/video*`命令来列出计算机上可用的视频设备。摄像头通常被认为是`/dev/video0`,但如果有多个摄像头连接,那么每个摄像头都会有相应的编号。 3. 打开一个文本编辑器(例如Gedit)并创建一个新的udev规则文件,命名为`/etc/udev/rules.d/99-webcam.rules`(可以选择其他名称,只要确保在`/etc/udev/rules.d/`目录下)。 4. 在该文件中输入以下内容: ``` SUBSYSTEM=="video4linux", ATTRS{idVendor}=="your_vendor_id", ATTRS{idProduct}=="your_product_id", SYMLINK+="webcam", MODE="0666" ``` 在此处,`your_vendor_id`和`your_product_id`应替换为摄像头的实际厂商ID和产品ID。可以使用`lsusb`命令中提取的信息来获取这些ID。同时,可以选择其他符号链接名称。 5. 保存并关闭文件。 6. 运行命令`sudo udevadm trigger`以让udev重新加载规则。 7. 重新启动计算机或者重新连接摄像头。 现在,重新启动计算机或重新连接摄像头后,Ubuntu会自动为摄像头创建一个符号链接`/dev/webcam`(根据之前的配置)。 通过以上步骤,你可以成功地将Ubuntu上的摄像头到相应的ID,并且可以通过`/dev/webcam`来访问它。请记住,这些步骤可能因不同的摄像头设备或Ubuntu版本而有所不同,所以确保根据自己的需求和系统进行相应的修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值