Redhat6.8 使用udev配置裸設備
客戶需求:給的不明確,就說裝數據庫,要做裸設備。沒給數據庫版本,也沒說要udev還是asmlib。。。
以下使用Vmware workstation 試驗通過。
4塊盤
/dev/sda 裝系統用。
/dev/sdb
/dev/sdc
/dev/sdd
以下是走過的坑。
1) asm
一直以為裝asm就是裝如下這3個包。
1 2 3 |
kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm
oracleasm-support-2.1.8-1.el6.x86_64.rpm
oracleasmlib-2.0.4-1.el6.x86_64.rpm
|
其實不是的,ASM(Automatic Storage Management)是Oracle官方推薦的軟件存儲解決方案。自10g版本正式推出以來,軟件架構層面上ASM的地位是在不斷的提升。首先是11g將ASM從數據庫層面剝離出來,並歸入Grid Infrastructure進行管理。其次就是ASM Disk成為ACFS(Automatic Cluster File System)的基礎組件
而ASMLIB是一種基於Linux module,專門為Oracle Automatic Storage Management特性設計的內核支持庫(kernel support library)。
udev 是 Linux2.6 內核裏的一個功能,它替代了原來的 devfs,成為當前 Linux 默認的設備管理工具。udev 以守護進程的形式運行,通過偵聽內核發出來的 uevent 來管理 /dev目錄下的設備文件。不像之前的設備管理工具,udev 在用戶空間 (user space) 運行,而不在內核空間 (kernel space) 運行。
而裸設備是裸設備是未mkfs -text3這樣操作的設備,比如lvm裏邏輯卷建好未格式化直接分配給表空間,這采取的是裸設備。
他們之間的關系就是:
ASM 是oracle 數據庫的東西。要去讀取裸設備
asmlib 和 udev 都是拿來設置裸設備的。
)2: scsi_id
要配置裸設備,都要獲取scsi_id
試過 scsi –g –u –d /dev/sda 獲取不到
試過/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/sdb
查看其他人的教程,發現別人獲取出來的教程都是 vbox-xxxx 的
原來人家用的都是 virtualbox 啊,那我也下一個。
又得去查 virtualbox 安裝redhat 的資料,裝到一半去百度 vmware scsi_id獲取不到。
*.vmx配置文件缺少disk.EnableUUID="TRUE",添加後即正常。
解決問題。浪費了好多時間啊。。。
以下為試驗通過的教程。
1.獲取需要綁定為ASMDisk的磁盤uuid。
2.編寫udevrules文件,PROGRAM中寫scsi_id命令,RESULT中寫上面命令中返回的uuid
寫文件這裏,網上給出了兩種文件,60-raw.rules和99-oracle-asmdevices.rules,如何選擇如下:
目前RAC采用裸設備有這樣兩種方式
/etc/udev/rules.d/60-raw.rules和/etc/udev/rules.d/99-oracle-asmdevices.rules
前者創建的是C字符設備,後者創建的是B塊設備,ASMLIB創建出來的也是B塊設備
1 2 3 4 |
cat /etc/udev/rules .d /99-oracle-asmdevices .rules
KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" ,RESULT== "36000c293458d6febb77699276c16f32b" ,NAME= "asm-diskb" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660"
KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" ,RESULT== "36000c29d064da93ee51b765dd4eaa0e1" ,NAME= "asm-diskc" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660"
KERNEL== "sd*" ,BUS== "scsi" , PROGRAM== "/sbin/scsi_id --whitelisted--replace-whitespace --device=/dev/$name" , RESULT== "36000c2998d17bb1db6b72ba1ce2baa3b" ,NAME= "asm-diskd" , OWNER= "grid" , GROUP= "asmadmin" ,MODE= "0660"
|
3.啟動,並查看
Redhat6.8 使用udev配置裸設備