1. 程式人生 > >Redhat6.8 使用udev配置裸設備

Redhat6.8 使用udev配置裸設備

mdi asm /etc/ 進行 lvm works 2.6 教程 直接

客戶需求:給的不明確,就說裝數據庫,要做裸設備。沒給數據庫版本,也沒說要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配置裸設備