在Linux 6上使用UDEV解决RAC ASM存储设备名问题
生活随笔
收集整理的這篇文章主要介紹了
在Linux 6上使用UDEV解决RAC ASM存储设备名问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Maclean一直是使用UDEV替代ASMLIB做RAC存儲設(shè)備名綁定的擁護者,相關(guān)的專題文章可以作為讀者的預(yù)讀知識是: Why ASMLIB and why not? 利用UDEV服務(wù)解決RAC ASM存儲設(shè)備名? ? 在《利用UDEV服務(wù)解決RAC ASM存儲設(shè)備名?》一文中我推薦了自己寫的一個腳本,該腳本會自動生成udev rule規(guī)則文件: ? for i in b c d e f g h i j k ;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done ? 以上腳本在Linux 5上是通用的, 但是有同學(xué)反映在redhat/Oracle Linux 6以上版本中該腳本失效了。 這是因為:
在OEL6或者RHEL6中,這一切都有所變化。
主要的變化是: 1. scsi_id的命令語法發(fā)生了變化,scsi_id -g -u -s這樣的命令不再有效。 2. udevtest命令已經(jīng)沒有了,整合到了udevadm中。 How to use udev for Oracle ASM in Oracle Linux 6 ?
? ? 下面我提供改良后的腳本,可以在redhat/Oracle Linux 6上生成正確的udev rule 規(guī)則文件: ? ? 1.#首先確認是 Linux 6.0以上版本[root@vrh6 dev]# cat /etc/issue Oracle Linux Server release 6.2 Kernel \r on an \m2.#添加記錄到/etc/scsi_id.configecho "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config3. #確認哪些塊設(shè)備需要udev綁定[root@vrh6 dev]# ls -l sd* brw-rw----. 1 root disk 8, 0 Jun 30 09:29 sda brw-rw----. 1 root disk 8, 1 Jun 30 09:29 sda1 brw-rw----. 1 root disk 8, 2 Jun 30 09:29 sda2 brw-rw----. 1 root disk 8, 16 Jun 30 09:29 sdb brw-rw----. 1 root disk 8, 32 Jun 30 09:29 sdc brw-rw----. 1 root disk 8, 48 Jun 30 09:29 sdd brw-rw----. 1 root disk 8, 64 Jun 30 09:29 sde brw-rw----. 1 root disk 8, 80 Jun 30 09:29 sdf例如在本實例中 sdb-> sdf的塊設(shè)備需要綁定4. 將 b->f的編號放入for 循環(huán)中,例如: # AUTO UDEV RULE BY Maclean Liu 2012/06/30 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\"" done就會生成sdb->sdf 設(shè)備綁定的RULE,在將這些RULE寫入到/etc/udev/rules.d/99-oracle-asmdevices.rules中也可以直接利用以下腳本 ,寫出RULE到99-oracle-asmdevices.rules# AUTO UDEV RULE BY Maclean Liu 2012/06/30 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 done5. 之后運行用root運行/sbin/start_udev 即可 ? ? ? 實際運行示例: ? [root@vrh6 dev]# echo "options=--whitelisted --replace-whitespace" >> /etc/scsi_id.config [root@vrh6 dev]# 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 [root@vrh6 dev]# [root@vrh6 dev]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB09cadb31-cfbea255", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB5f097069-59efb82f", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB4e1a81c0-20478bc4", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBdcce9285-b13c5a27", NAME="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB82effe1a-dbca7dff", NAME="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"[root@vrh6 dev]# [root@vrh6 dev]# /sbin/start_udev Starting udev: [ OK ][root@vrh6 dev]# ls -l asm* brw-rw----. 1 grid asmadmin 8, 16 Jun 30 09:34 asm-diskb brw-rw----. 1 grid asmadmin 8, 32 Jun 30 09:34 asm-diskc brw-rw----. 1 grid asmadmin 8, 48 Jun 30 09:34 asm-diskd brw-rw----. 1 grid asmadmin 8, 64 Jun 30 09:34 asm-diske brw-rw----. 1 grid asmadmin 8, 80 Jun 30 09:34 asm-diskf轉(zhuǎn)載于:https://www.cnblogs.com/macleanoracle/archive/2013/03/19/2968310.html
總結(jié)
以上是生活随笔為你收集整理的在Linux 6上使用UDEV解决RAC ASM存储设备名问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Does GATHER_STATS_JO
- 下一篇: interceptor拦截器典型应用实例