注意:仅仅是在主drbd中挂载,但是需要分别在进行主备切换,看能不能都成功进行挂载,只要能手工切换准备,并且能成功挂载,才算成功。才能继续下面的整合。
#修改heartbeat,也就是仅仅修改这个文件就可以了,其他不用变
cat >/etc/ha.d/haresources<<eof
#lvnian services
#10.0.0.103
MYSQL_M IPaddr::10.0.0.103/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext4
#MYSQL_M IPaddr::10.0.0.103/24/eth0 httpd
#10.0.0.104 bbs.etianetian.org
MYSQL_S IPaddr::10.0.0.104/24/eth0
#mysql MYSQL_M mysqlm.etianetian.org
#MYSQL_M IPaddr::10.0.0.103/24/eth0
#MYSQL_M IPaddr::10.0.0.103/24/eth0 mysqld
#mysql slave mysqlm.etianetian.org
#MYSQL_S IPaddr::10.0.0.104/24/eth0
eof
===================================================
##解析下面命令:
MYSQL_M IPaddr::10.0.0.103/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext4
上面命令相对于依次在主节点上执行下面命令,如果主节点宕机了,就依次在被节点上执行
/etc/ha.d/resource.d/IPaddr 10.0.0.103/24/eth0 start/stop
/etc/ha.d/resource.d/drbddisk data start/stop
/etc/ha.d/resource.d/Filesystem /dev/drbd0 /data ext4 start/stop
依次在主备上单独在命令行上面执行上面的命令。如果都能成功,那就可以用heartbeat使用了。
注意drbd需要在up状态在执行上面的命令。也就是先执行drbdadm up data 再执行上面的命令
#在重启heartbeat之前,必须把drbd的给启动起来,可以都是从
/etc/init.d/heartbeat stop
/etc/init.d/heartbeat restart
用下面命令,查看是否成功。之后左右重启服务器,切换主备。和用命令切换主备,让其能正常切换,才算成功
df
cat /proc/drbd
/usr/share/heartbeat/hb_standby
/usr/share/heartbeat/hb_takeover
##注意要drbd设置开启自启动,只有设置开启自启动,heartbeat才能管理他,不然他无法挂载/dev/drbd0/,因为开机的是否,如果drbd不启动,就不存在/dev/drbd0分区。
所以heartbeat和drbd都要设置开机自启动。
但是在生产环境中,最好还是不要设置drbd和heartbeat开启自启动,我们仅仅需要让主服务故障的时候能够切换到备用设备就好了。这时候主的修复,最好还是人工介入。
但是这个实验为了能够体现主备可以相互接管等,在服务器出现故障重启,也能正常接管,所以设置了开启自启动
对于heartbeat配合drbd联合调试小结
1、主或备节点有heartbeat控制的资源的启动顺序是相同,资源启动顺序为
a、vip的启动
b、drbd启动和设置
c、drbd分区的挂载
2、发生切换时主或备节点释放资源的顺序是相同,但是和上面启动的顺序是相反的。
a、drbd分区的卸载
b、drbd服务角色等变为slave
c、vip的停止
所以/etc/ha.d/haresources里面的资源顺序是不可以表的,必须如下:
MYSQL_M IPaddr::10.0.0.103/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext4
故障解决思路:
出现故障,就根据分别执行下面命令,看日志,看哪里出错,之后进行处理
/etc/ha.d/resource.d/IPaddr 10.0.0.103/24/eth0 start/stop
/etc/ha.d/resource.d/drbddisk data start/stop
/etc/ha.d/resource.d/Filesystem /dev/drbd0 /data ext4 start/stop
##########安装MySQL
下面是一键安装mysql脚本,要一键安装成功的前提是,必须把
在/home/lvnian/tools/目录下存在mysql-5.5.32-linux2.6-x86_64.tar.gz、data-mysql.cnf.tar.gz、这两个包。
一个是mysql的软件包,一个是mysql的配置文件包。
mysql的配置包内容如下
[root@MYSQL_M tools]# vim mysql.simple.sh
#!/bin/sh
#一键安装单实例mysql
#xiaogao 20190921
#创建相关mysql用户
groupadd mysql
useradd -s /sbin/nologin -g mysql -M mysql
tail -1 /etc/passwd
#安装mysql依赖库
yum -y install ncurses-devel
#开启安装mysql,记得先上传安装包到/home/lvnian/tools/
cd /home/lvnian/tools/
tar zxf mysql-5.1.72.tar.gz
cd mysql-5.1.72
./configure \
--prefix=/application/mysql5.1.72 \
--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \
--localstatedir=/application/mysql5.1.72/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
#--with-plugin-PLUGIN \
make && make install
echo $?
#制作软连接:
ln -s /application/mysql5.1.72 /application/mysql
#创建msyql数据库文件
cd /home/lvnian/tools/mysql-5.1.72/support-files/
ls my*.cnf -l
/bin/cp my-small.cnf /etc/my.cnf
mkdir /application/mysql/data -p
chown -R mysql.mysql /application/mysql/data/
#初始化数据库
/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
#启动mysql数据库
#/application/mysql/bin/mysqld_safe &
#启动方法2
echo "-----------启动方法mysql 2---------------"
cp /home/lvnian/tools/mysql-5.1.72/support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
/etc/init.d/mysqld restart
sleep 5
netstat -lnt|grep 3306
lsof -i :3306
#设置mysql命令全局使用路径
echo 'PATH=$PATH:/application/mysql/bin' >> /etc/profile
source /etc/profile
which mysql
mysql
[root@MYSQL_M tools]#
########################################################################