用UDEV服务解决RAC ASM存储设备名

来源:互联网 发布:利艾r18漫画艾伦性淘宝 编辑:程序博客网 时间:2024/05/17 09:21
  1. 用UDEV服务解决RAC ASM存储设备名  
  2.   
  3. 最近看了下maclean的一片文章不错,于是转载过来  
  4. 文章转载自:  Maclean Liu的个人技术博客 [http://www.oracledatabase12g.com/]  
  5.   
  6. 本文标题: 利用UDEV服务解决RAC ASM存储设备名   
  7.   
  8.   
  9.   
  10. 在<Why ASMLIB and why not?>我们介绍了使用ASMLIB作为一种专门为Oracle Automatic Storage Management特性设计的  
  11. 内核支持库(kernel support library)的优缺点,同时建议使用成熟的UDEV方案来替代ASMLIB。  
  12.   
  13. 这里我们就给出配置UDEV的具体步骤,还是比较简单的:  
  14.   
  15. 1.确认在所有RAC节点上已经安装了必要的UDEV包  
  16.   
  17. [root@rh2 ~]# rpm -qa|grep udev  
  18. udev-095-14.21.el5  
  19.   
  20. 2.通过scsi_id获取设备的块设备的唯一标识名,假设系统上已有LUN sdc-sdp  
  21.   
  22. for i in c d e f g h i j k l m n o p ;  
  23. do  
  24. echo "sd$i" "`scsi_id -g -u -s /block/sd$i` ";  
  25. done  
  26.   
  27. sdc 1IET_00010001  
  28. sdd 1IET_00010002  
  29. sde 1IET_00010003  
  30. sdf 1IET_00010004  
  31. sdg 1IET_00010005  
  32. sdh 1IET_00010006  
  33. sdi 1IET_00010007  
  34. sdj 1IET_00010008  
  35. sdk 1IET_00010009  
  36. sdl 1IET_0001000a  
  37. sdm 1IET_0001000b  
  38. sdn 1IET_0001000c  
  39. sdo 1IET_0001000d  
  40. sdp 1IET_0001000e   
  41.   
  42. 以上列出于块设备名对应的唯一标识名  
  43.   
  44. 3.创建必要的UDEV配置文件,  
  45.   
  46. 首先切换到配置文件目录  
  47.   
  48. [root@rh2 ~]# cd /etc/udev/rules.d  
  49.   
  50. 定义必要的规则配置文件  
  51.   
  52. [root@rh2 rules.d]# touch 99-oracle-asmdevices.rules   
  53.   
  54. [root@rh2 rules.d]# cat 99-oracle-asmdevices.rules  
  55. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010001", NAME="ocr1", OWNER="grid", GROUP="asmadmin", MODE="0660"  
  56. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010002", NAME="ocr2", OWNER="grid", GROUP="asmadmin", MODE="0660"  
  57. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010003", NAME="asm-disk1",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  58. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010004", NAME="asm-disk2",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  59. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010005", NAME="asm-disk3",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  60. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010006", NAME="asm-disk4",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  61. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010007", NAME="asm-disk5",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  62. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010008", NAME="asm-disk6",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  63. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_00010009", NAME="asm-disk7",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  64. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000a", NAME="asm-disk8",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  65. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000b", NAME="asm-disk9",  OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  66. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000c", NAME="asm-disk10", OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  67. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000d", NAME="asm-disk11", OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  68. KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="1IET_0001000e", NAME="asm-disk12", OWNER="grid",  GROUP="asmadmin", MODE="0660"  
  69.   
  70. Result 为/sbin/scsi_id -g -u -s %p的输出--Match the returned string of the last PROGRAM call. This key may be  
  71. used in any following rule after a PROGRAM call.  
  72. 按顺序填入刚才获取的唯一标识名即可  
  73.   
  74. OWNER为安装Grid Infrastructure的用户,在11gr2中一般为grid,GROUP为asmadmin  
  75. MODE采用0660即可  
  76.   
  77. NAME为UDEV映射后的设备名,  
  78. 建议为OCR和VOTE DISK创建独立的DISKGROUP,为了容易区分将该DISKGROUP专用的设备命名为ocr1..ocrn的形式  
  79. 其余磁盘可以根据其实际用途或磁盘组名来命名  
  80.   
  81. 4.将该规则文件拷贝到其他节点上  
  82. [root@rh2 rules.d]# scp 99-oracle-asmdevices.rules Other_node:/etc/udev/rules.d  
  83.   
  84. 5.在所有节点上启动udev服务,或者重启服务器即可  
  85.   
  86. [root@rh2 rules.d]# /sbin/udevcontrol reload_rules  
  87. [root@rh2 rules.d]# /sbin/start_udev  
  88. Starting udev:                                            [  OK  ]  
  89.   
  90. 6.检查设备是否到位  
  91.   
  92. [root@rh2 rules.d]# cd /dev  
  93. [root@rh2 dev]# ls -l ocr*  
  94. brw-rw---- 1 grid asmadmin 8, 32 Jul 10 17:31 ocr1  
  95. brw-rw---- 1 grid asmadmin 8, 48 Jul 10 17:31 ocr2  
  96.   
  97. [root@rh2 dev]# ls -l asm-disk*  
  98. brw-rw---- 1 grid asmadmin 8,  64 Jul 10 17:31 asm-disk1  
  99. brw-rw---- 1 grid asmadmin 8, 208 Jul 10 17:31 asm-disk10  
  100. brw-rw---- 1 grid asmadmin 8, 224 Jul 10 17:31 asm-disk11  
  101. brw-rw---- 1 grid asmadmin 8, 240 Jul 10 17:31 asm-disk12  
  102. brw-rw---- 1 grid asmadmin 8,  80 Jul 10 17:31 asm-disk2  
  103. brw-rw---- 1 grid asmadmin 8,  96 Jul 10 17:31 asm-disk3  
  104. brw-rw---- 1 grid asmadmin 8, 112 Jul 10 17:31 asm-disk4  
  105. brw-rw---- 1 grid asmadmin 8, 128 Jul 10 17:31 asm-disk5  
  106. brw-rw---- 1 grid asmadmin 8, 144 Jul 10 17:31 asm-disk6  
  107. brw-rw---- 1 grid asmadmin 8, 160 Jul 10 17:31 asm-disk7  
  108. brw-rw---- 1 grid asmadmin 8, 176 Jul 10 17:31 asm-disk8  
  109. brw-rw---- 1 grid asmadmin 8, 192 Jul 10 17:31 asm-disk9