马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
利用场景
在RAC多路径配置完成后,必要更改ASM磁盘装备的权限。这个步骤紧张分为获取ASM逻辑装备的dm_uuid、配置/etc/udev/rules.d/99-oracle-asmdevices.rules文件、重新加载udev策略并激活策略。这个过程手动去做耗时耗力易出错,所以针对这个情况专门写了个脚本。
Linux版本
脚本代码
- #!/bin/bash
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- NOCOLOR='\033[0m'
- #配置前的asm设备权限
- echo "配置前的asm设备权限"
- printf "$RED%s %s\n" "`ls -lsa /dev/dm*`"
- echo " "
- #组的创建
- echo -e "\e[32m************************ \e[0m"
- echo -e "\e[32m组信息\e[0m"
- echo -e "\e[32m************************ \e[0m"
- group=(oinstall dba oper asmadmin asmdba asmoper)
- for i in "${group[@]}"
- do
- grep "^$i" /etc/group >& /dev/null
- if [ $? != 0 ];
- then
- if [ $i = "oinstall" ];
- then groupadd -g 5001 oinstall; echo "oinstal组已添加"
- elif [ $i = "dba" ];
- then groupadd -g 5002 dba; echo "dba组已添加"
- elif [ $i = "oper" ];
- then groupadd -g 5003 oper; echo "oper组已添加"
- elif [ $i = "asmadmin" ];
- then groupadd -g 5004 asmadmin; echo "asmadmin组已添加"
- elif [ $i = "asmoper" ];
- then groupadd -g 5005 asmoper; echo "asmoper组已添加"
- elif [ $i = "asmdba" ];
- then groupadd -g 5006 asmdba; echo "asmdba组已添加"
- fi
- else
- echo "$i组已存在"
- fi
- done
- #用户的创建
- echo -e "\e[32m************************ \e[0m"
- echo -e "\e[32m用户信息\e[0m"
- echo -e "\e[32m************************ \e[0m"
- user=(grid oracle)
- for i in "${user[@]}"
- do
- grep "^$i" /etc/passwd >& /dev/null
- if [ $? != 0 ];
- then
- if [ $i = grid ]
- then useradd -u 6002 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid ; echo grid | passwd --stdin grid ; echo "grid用户已添加"
- elif [ $i = oracle ]
- then useradd -u 6001 -g oinstall -G dba,asmdba,oper oracle; echo oracle | passwd --stdin oracle; echo "oracle用户已添加"
- fi
- else
- echo "$i用户已存在"
- fi
- done
- #提前清空规则配置文件
- echo '' > /etc/udev/rules.d/99-oracle-asmdevices.rules
- #配置asm设备规则文件
- for i in `dmsetup ls |grep asm |awk '{print $1}'`
- do
- for v in `udevadm info --query=all --name=/dev/mapper/$i |grep -i dm_uuid |awk -F"=" '{print $2}'`
- do
- echo KERNEL=="dm-*",ENV{DM_UUID}=="$v",OWNER="grid",GROUP="asmadmin",MODE="0060" >> /etc/udev/rules.d/temp.rules
- done
- done
- #清除文件中的空白行
- awk NF /etc/udev/rules.d/temp.rules > /etc/udev/rules.d/99-oracle-asmdevices.rules
- #删除临时文件
- rm -rf /etc/udev/rules.d/temp.rules
- #重载激活规则文件
- echo " "
- echo -e "\e[32m重载配置文件\e[0m"
- /sbin/udevadm control --reload-rules
- echo " "
- echo -e "\e[32m激活配置文件\e[0m"
- /sbin/udevadm trigger --type=devices --action=change
- echo " "
- sleep 5
- #配置后的设备权限
- echo "配置后的设备权限"
- printf "$GREEN%s %s\n" "`ls -lsa /dev/dm*`"
- printf "$NOCOLOR%s %s\n" "*************任务完成**************"
复制代码 实验效果
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |