创建ASM磁盘有两种方式,本来很简单,但是我一直混淆了很久,所以在这里总结一下下。随便选一种都可以,使用ASMlib方式方式就需要安装对应内核版本的rpm包,而且Oracle只支持linux平台的ASMlib rpm包。而且redhat6.0开始Oracle不再免费支持linux平台的ASMlib rpm包了。很多时候就只能选择方式:使用裸设备了。使用裸设备就不需要安装ASMlib 的rpm包了。但是redhat每个版本配置裸设备的方式都有点区别,下面给出的是redhat5.4以上版本配置裸设备的方法。
一、ASMlib方式
ASM安装:
1.ASMlib下载地址:http://www.oracle.com/technetwor ... ownloads/index.html
oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm
oracleasm-2.6.18-8.el5PAE-2.0.4-1.el5.i686.rpm
oracleasm-2.6.18-8.el5xen-2.0.4-1.el5.i686.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.7-1.el5.i386.rpm
这里我根据自己的Linux版本选择下载了如上这些安装包。
2.安装下载的rpm包。
[root@oracle10g asmlib]# rpm --import /etc/pki/rpm-gpg/RPM*
[root@oracle10g asmlib]# rpm -Uvh *.rpm --force --nodeps
3.格式化磁盘此。此处我采用四块硬盘:(sda,sdb,sdd,sde):
4.创建asm磁盘
/etc/init.d/oracleasm configure (这里需要输入oracle用户和DBA组,所以需要先创建好。)
/etc/init.d/oracleasm enable
/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
/etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
/etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
/etc/init.d/oracleasm createdisk VOL4 /dev/sde1
/etc/init.d/oracleasm createdisk VOL5 /dev/sdf1
/etc/init.d/oracleasm createdisk VOL6 /dev/sdg1
获取磁盘变化:/etc/init.d/oracleasm scandisks
查看asm磁盘:/etc/init.d/oracleasm listdisks
二、使用裸设备
1.磁盘分区并添加相应的权限
# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd
分别输入n p 1 回车 回车 w ,然后以下配置就是为了让oracle用户对磁盘有读/写的权限:编辑 /etc/sysconfig/rawdevices 添加如下内容:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
修改/etc/udev/rules.d/60-raw.rules 文件添加如下内容:
[cpp] view plaincopyprint?
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="raw[1-3]", OWNER="oracle", GROUP="oinstall", MODE="660"
注意:如果这里有22个磁盘,写为 KERNEL=="raw[1-22]" 这里是有问题的额。应该写为:KERNEL=="raw*"。
重启系统和验证一下:
# raw -qa
# ll /dev/raw/raw*
# ls -l /dev/raw
|
|