说明
ASM Filter Driver(ASMFD)的一些基本概念可参考: http://blog.itpub.net/69992972/viewspace-2918999/
具体步骤
1. 将root用户的环境变量ORACLE_HOME设置为grid用户的GI_HOME,ORACLE_SID设为本地的ASM实例SID
export ORACLE_HOME=/u01/app/grid/product/
export ORACLE_SID=+ASM1
2. 用root检查 AFD 的状态
# $ORACLE_HOME/bin/asmcmd afd_state
ASMCMD-9530: The AFD state is 'NOT INSTALLED' ##此处显示并未安装ASMFD
3. 使用grid用户,查询所有已存在,已经被设置了标签的磁盘:
$ $ORACLE_HOME/bin/asmcmd lsdsk
Path
/dev/ASM-DATA ##这里是用udev绑定的
4.用grid用户设置ASM的Discovery String(搜索字符)来加入ASMFD
(1)首先查看当前的信息
$ $ORACLE_HOME/bin/asmcmd dsget
parameter:/dev/ASM*
profile:/dev/ASM*
(2)添加ASMFD的标记符
$ORACLE_HOME/bin/asmcmd dsset '/dev/ASM*','AFD:*'
(3)再次查看
$ORACLE_HOME/bin/asmcmd dsget
parameter:/dev/ASM*, AFD:*
profile:/dev/ASM*,AFD:*
5.在rac主节点1配置ASMFD
注:这一阶段需全程使用root用户操作!
(1) 必须先停止主节点1
# $ORACLE_HOME/bin/crsctl stop crs
(2)配置ASMFD
# $ORACLE_HOME/bin/asmcmd afd_configure
AFD-627: AFD distribution files found.
AFD-634: Removing previous AFD installation.
AFD-635: Previous AFD components successfully removed.
AFD-636: Installing requested AFD software.
AFD-637: Loading installed AFD drivers.
AFD-9321: Creating udev for AFD.
AFD-9323: Creating module dependencies - this may take some time.
AFD-9154: Loading 'oracleafd.ko' driver.
AFD-649: Verifying AFD devices.
AFD-9156: Detecting control device '/dev/oracleafd/admin'.
AFD-638: AFD installation correctness verified.
(3)检查 ASMFD的状态, 确保state是LOADED和 filtering 是ENABLED
# $ORACLE_HOME/bin/asmcmd afd_state
ASMCMD-9526: The AFD state is ' LOADED' and filtering is ' ENABLED' on host 'rac1'
(4)给所有的ASM磁盘打上ASMFD的标签(label)
# $ORACLE_HOME/bin/asmcmd afd_label 'ASM-DATA' /dev/ASM-DATA -migrate
注:
如果打标签的ASM盘已经存在于ASM group中,就需要添加"-migrate"参数 ,否则报错:
disk /dev/ASM-DATA is already provisioned for ASM
ASMCMD-9513: ASM disk label set operation failed.
(5) 检查ASMFD是否被识别
# $ORACLE_HOME/bin/asmcmd afd_lsdsk
Label Filtering Path
================================================================================
ASM-DATA ENABLED /dev/ASM-DATA
(6)启动主节点1
# $ORACLE_HOME/bin/crsctl start crs -wait
CRS-4123: Oracle High Availability Services has been started.
检查服务状态是否都启动了:
# $ORACLE_HOME/bin/crsctl stat res -t
(7)在其他rac节点进行相同操作并检查
注:唯一的不同就是,不需要再执行第(4)步打标签了,直接使用命令asmcmd afd_scan来扫盘
(8) 删除每个节点的UDEV文件(建议mv备份,ASMFD默认也会生成一个rules文件)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2919899/ ,如需转载,请注明出处,否则将追究法律责任。