之前搭建过RAC的环境。对于裸设备和ocfs2的理解一直模模糊糊的。后来又去做了个实验,基本上搞清楚了脉络。
1.ORACLE10g的RAC是可以使用ASM,但是为何还需要配置裸设备?
原来是RAC的clusterware和数据库不一致,虽然database已经可以用asm了,但clusterware还需要裸设备的支持。
2.ASMlib为何物?
在linux下,默认是不支持裸设备的,只支持块设备,如果需要裸设备的支持,需要单独配置。在UNIX下是不需要ASMlib。默认支持裸设备。配置方法本文最后贴出。
3.ocfs2是什么东西?
ocfs2是ocfs的第二版。是oracle开发的集群文件系统。主要是用来弥补裸设备的不足。在10gRAC你可以使用ocfs2也可以用裸设备。
在linux 配置裸设备步骤如下。
1.添加一块磁盘/dev/sdb
fdisk /dev/sdb
2.分区为100M sdb1,100M sdb2
3.在/etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
4.重启裸设备服务,生成裸设备
[root@node1 ~]# service rawdevices restart
Assigning devices:
/dev/raw/raw1 --> /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2 --> /dev/sdb2
/dev/raw/raw2: bound to major 8, minor 18
5.更改裸设备属主。
chown oracle:dba /dev/raw/*
chmod 0660 /dev/raw
vi /etc/udev/permissions.d/50-udev.permissions
# raw devices
ram*:root:disk:0660
raw/*:oracle:dba:0660
linux 4版本是这样,linux5+版本有一点变化。
也可以直接写命令到/etc/rc.local。来避免开机裸设备属主自动更改。