mysql+san双机部署
mysql 加磁阵,数据目录指向磁阵,两台mysql该如何安装? 安装过一次,没有成功。例如A执行了install_db ,那么B 是否需要执行,尝试了一下,好像都不行。求指导。 能否把具体的操作步骤和试验结果发出来看看 重新编译了下,基本可行了。
但是有个新问题,就是挂载磁阵后,磁阵上的数据库文件属性一直变,经常需要挂载完成后重新chown修改。是否有遇见过?
回复 2# Shell_HAT
回复 3# x95527
如何变化的?文件owner从mysql变成root了吗?
两台机器上的数据库进程的owner是mysql吗? 挂载的时候有时 属组是几个数字,有时又是root。
我在脚本中添加了修 改属性命令,现在好用了 。
mount /dev/mapper/mpathbp1 /data/mysqldata
chown -R mysql:mysql /data/mysqldata
service mysqld start
查了下mount,没有找到指定挂载盘上文件属性的功能。不知道您这边是否有好的建议?
回复 4# Shell_HAT
贴一下相关脚本,交流交流:
keepalived.conf配置文件修改:
! Configuration File for keepalived
#此部分为邮件通知功能,当keepalived发生切换时,会发通知邮件到制定邮箱。
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interfacebond2
virtual_router_id 248
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass xxxx
}
virtual_ipaddress {
10.0.240.248
}
}
virtual_server 10.0.240.248 3306 {
delay_loop 2
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 10.0.240.247 3306{
weight 3
#当业务监测失败,则会执行notifydown指定的脚本。
notify_down /data/scripts/keepalived_checkmysql.sh
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}
#keepalived_checkmysql.sh脚本。
cat /data/scripts/keepalived_checkmysql.sh
#!/bin/bash
ip a|grep 10.0.240.248
if [ $? -eq 0 ];then
service mysqldstop
/etc/init.d/keepalived stop
umount /data/mysqldata
fi
###双机自定义监控脚本
cat mysqldaemon.sh
#!/bin/bash
#如果vip在,判断mysql状态,如果无法使用,则挂载磁阵,启动mysql。
ip a|grep 10.0.240.248 && mysql -uroot -p123456 -e "show status"
if [ $? -eq 0 ];then
exit ;
else
mysql -uroot -p123456 -e "show status"
if [ $? -ne 0 ];then
ip a|grep 10.0.240.248
if [ $? -eq 0 ];then
mount /dev/mapper/mpathbp1 /data/mysqldata
chown -R mysql:mysql /data/mysqldata
service mysqld start
fi
fi
fi
#如果不是vip,那么检查mysql和磁阵状态,如果mysql和磁阵都在用,那么就stopmysql,umount 磁阵
ip a|grep 10.0.240.248
if [ $? -ne 0 ] ;then
mysql -uroot -p123456 -e "show status"
if [ $? -eq 0 ];then
service mysqld stop
umount /dev/mapper/mpathbp1
fi
fi
crontab每分钟执行一次 mysqldaemon.sh ,保障ip切换时,服务启动下线。
#############################################################################################################
回复 4# Shell_HAT
回复 6# x95527
可以给master1的keepalived.conf里面加个参数:
nopreempt
如果数据库支持的话,可以考虑用mysql_config_editor设置加密登陆文件,不要把用户名密码明文写在脚本里面。
页:
[1]