3.Heartbeat v2高可用mysql集群

在第二篇,我们通过heartbeat v2的资源管理器(crm)构建了一个web service,在此篇,我们仍然通过heartbeat v2 版本来高可用一个mysql服务。

实验架构

我们准备两台mysql服务器,并且将他们的数据放在一个共享设备上,此处我们使用

  • ip:192.168.99.14
  • mariadb:
  • NFS:

1.我们首先准备一个共享存储NFS

此处我们仍然使用192.168.99.241的机器充当NFS,并且我们创建一个lvm逻辑卷将他挂载至一个目录通过NFS来导出。

[root@nfs ~]# fdisk /dev/sda

Command (m for help): n
All primary partitions are in use
Adding logical partition 7
First sector (131033088-251658239, default 131033088): 
Using default value 131033088
Last sector, +sectors or +size{K,M,G} (131033088-251658239, default 251658239): +30G
Partition 7 of type Linux and of size 30 GiB is set
Command (m for help): t
Partition number (1-7, default 7): 7
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w
The partition table has been altered!

[root@nfs ~]# partx -a /dev/sda
partx: /dev/sda: error adding partitions 1-7

[root@nfs ~]# pvcreate /dev/sda7
  Physical volume "/dev/sda7" successfully created
[root@nfs ~]# vgcreate  myvg /dev/sda7
  Volume group "myvg" successfully created
[root@nfs ~]# lvcreate  -L 10G -n mydata myvg
  Logical volume "mydata" created.
[root@nfs ~]# mke2fs  -t ext4 /dev/myvg/mydata 

[root@nfs ~]# mkdir /mydata
[root@nfs ~]# vim /etc/fstab 
/dev/myvg/mydata                          /mydata                 ext4    defaults        0 0
[root@nfs ~]# mount -a #自动挂载
# 导出/mydata目录
[root@nfs ~]# vim /etc/exports
/mydata         192.168.99.0/24(rw,async,no_root_squash)
#创建mysql用户和mysql组,并将此目录的属组属主改为mysql.mysql
[root@nfs ~]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@nfs ~]# mkdir /mydata/data/
[root@nfs ~]# chown -R mysql.mysql /mydata/data/
#重新导出
[root@nfs ~]# exportfs  -arv
exporting 192.168.99.0/24:/mydata
exporting 192.168.99.0/24:/web/htdocs

2.在集群节点上创建目录用于挂载共享存储

[root@node3 ~]# mkdir /mydata ;ssh node4.magedu.com 'mkdir /mydata'
#创建mysql系统用户和系统组
[root@node3 ~]# groupadd  -r -g 27 mysql
[root@node3 ~]# useradd  -r -g 27 -u 27 mysql
[root@node4 ~]# groupadd  -r -g 27 mysql
[root@node4 ~]# useradd  -r -g 27 -u 27 mysql
# 分别挂载nfs文件看看是否能进行读写
[root@node3 ~]# mount -t nfs 192.168.99.241:/mydata/  /mydata/
[root@node3 ~]# cd /mydata/data/
[root@node3 data]# touch a.txt
[root@node3 ~]# su - mysql
-bash-4.1$ touch /mydata/data/c.txt
[root@node4 ~]# mount -t nfs 192.168.99.241:/mydata/ /mydata/
[root@node4 ~]# touch /mydata/data/b.txt
[root@node4 ~]# su - mysql
-bash-4.1$ touch /mydata/data/d.txt

3.在集群节点上安装mysql服务

#节点3安装配置
[root@node3 ~]# lftp 192.168.99.254
lftp 192.168.99.254:~> cd pub/Sources/6.x86_64/mariadb/
lftp 192.168.99.254:/pub/Sources/6.x86_64/mariadb> mget mariadb-5.5.43-linux-x86_64.tar.gz 
222275456 bytes transferred in 25 seconds (8.51M/s)                                       
lftp 192.168.99.254:/pub/Sources/6.x86_64/mariadb> exit
[root@node3 ~]# tar xf mariadb-5.5.43-linux-x86_64.tar.gz  -C /usr/local/
[root@node3 ~]# cd /usr/local/
[root@node3 local]# ln -sv mariadb-5.5.43-linux-x86_64/ mysql
`mysql' -> `mariadb-5.5.43-linux-x86_64/'
[root@node3 local]# cd mysql/
[root@node3 mysql]# chown -R root.mysql ./*
#初始化(只需要初始化一起即可)
[root@node3 mysql]# ./scripts/mysql_install_db  --datadir=/mydata/data/ --user=mysql
#提供配置文件和启动脚本
[root@node3 mysql]# mkdir /etc/mysql
[root@node3 mysql]# cp support-files/my-large.cnf  /etc/mysql/my.cnf
[root@node3 mysql]# vim /etc/mysql/my.cnf
[mysqld]
datadir =/mydata/data
innodb_file_per_table = on
skip_name_resolve = on
[root@node3 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@node3 mysql]# chkconfig --add mysqld
[root@node3 mysql]# service mysqld start
# 连上数据库,创建数据库并在共享存储上验证
[root@node3 mysql]# /usr/local/mysql/bin/mysql
MariaDB [(none)]> create database mydb;
[root@nfs ~]# ls /mydata/data/
aria_log.00000001  ibdata1      ib_logfile1  mysql             mysql-bin.index       performance_schema
aria_log_control   ib_logfile0  mydb         mysql-bin.000001  node3.magedu.com.pid  test

#验证ok后将mysql服务停掉,并且禁止期开机自启
[root@node3 mysql]# service mysqld stop
[root@node3 mysql]# chkconfig mysqld off
#节点4
[root@node4 ~]# lftp 192.168.99.254
lftp 192.168.99.254:~> cd pub/Sources/6.x86_64/mariadb/
lftp 192.168.99.254:/pub/Sources/6.x86_64/mariadb> mget mariadb-5.5.43-linux-x86_64.tar.gz 
[root@node4 ~]# tar -xf mariadb-5.5.43-linux-x86_64.tar.gz  -C /usr/local/
[root@node4 ~]# cd /usr/local/
[root@node4 local]# ln -sv mariadb-5.5.43-linux-x86_64/ mysql
`mysql' -> `mariadb-5.5.43-linux-x86_64/'
[root@node4 local]# cd mysql/
[root@node4 mysql]# chown -R root.mysql ./*
[root@node4 mysql]# mkdir /etc/mysql
[root@node4 mysql]# cp support-files/my-large.cnf /etc/mysql/my.cnf
[root@node4 mysql]# vim /etc/mysql/my.cn
datadir =/mydata/data
innodb_file_per_table = on
skip_name_resolve = on
[root@node4 mysql]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
[root@node4 mysql]# chkconfig --add mysqld
#此处不需要初始化,直接启动即可
[root@node4 mysql]# service mysqld start
[root@node4 mysql]# /usr/local/mysql/bin/mysql
[root@node4 mysql]# service mysqld stop
[root@node4 mysql]# chkconfig mysqld off

至此,我们已经准备好两台mysql节点和共享存储,接下来我们需要需要将以前挂载的nfs设备卸载,并开始通过hb_gui配置mysql高可用集群。

[root@node3 ~]# umount /mydata/
[root@node4 ~]# umount /mydata/

4.通过hb_gui定义资源

应因为mysql服务使我们后面安装上去的,故我们需要重启heartbeat服务才能有效。

[root@node3 ~]# service heartbeat stop;ssh node4.magedu.com 'service heartbeat stop'
[root@node3 ~]# service heartbeat start;ssh node4.magedu.com 'service heartbeat start'
[root@node3 ~]# hb_gui &
[1] 46648
  • 添加组资源和IP地址
  • 右击Resources->Add New Item -->[group]-->OK
Paste_Image.png

Paste_Image.png

Paste_Image.png

上面我们定义了两个资源一个组资源myservicese和myip两个基本资源

  • 在组上添加一个新的资源
    • 右击mystory-->Add New Item-- >[native]
      Paste_Image.png
  • 添加资源myserver
    Paste_Image.png

    注意这些资源应该按次序添加
  • 启动资源


    Paste_Image.png

至此,高可用mysql资源已经完成,接下我们需要做的就是测试

测试

-让node4.magedu.com进入stanby,则组资源会切换到node3.magedu.com


Paste_Image.png
[root@node3 ~]# ifconfig |grep -A 1 "eth0:0"
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:5B:F6:94  
          inet addr:192.168.99.22  Bcast:192.168.99.255  Mask:255.255.255.0
[root@node3 ~]# mount 
/dev/mapper/vg0-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/vg0-usr on /usr type ext4 (rw)
/dev/mapper/vg0-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.99.241:/mydata on /mydata type nfs (rw,vers=4,addr=192.168.99.241,clientaddr=192.168.99.41)
[root@client ~]# mysql -u root -h 192.168.99.22 -p'magedu'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容