Corosync+Pacemaker+NFS+Mysql高可用集群部署

Corosync+Pacemaker+NFS+Mysql高可用集群部署(使用资源管理工具crmsh配置

框架:crmsh(Corosync+pacemaker)+nfs+mysql

集群节点1:192.168.88.132 cen7.field.com

集群节点2:192.168.88.133 node2.field.com

集群节点3:192.168.88.135 node3.field.com

vip: 192.168.88.188  资源代理:ocf:heartbeat:IPaddr

nfs服务器:node3.field.com  资源代理:ocf:heartbeat:Filesystem

mysql服务器:cen7.field.com node1.field.com  资源代理:lsb:mysqld

 

配置集群的前提

(1)、时间同步;

(2)、基于当前正在使用的主机名互相访问;

(3)、是否会用到仲裁设备;

参考 :《使用资源管理工具pcs配置Corosync+pacemaker》

 

一、配置NFS服务器:共享目录作为mysqldatadir

该步骤中:主要通过创建逻辑卷并设置开机自动挂载到nfs共享目录,用于存放mysql数据库文件,其所有者必须是mysql用户和mysql组。

1、创建逻辑卷

1)、fdisk创建物理卷分区

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

欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。

使用写入命令前请三思。

命令(输入 m 获取帮助):p

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x00057c95

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1075199      536576   83  Linux

/dev/sda2         1075200     3174399     1049600   82  Linux swap / Solaris

/dev/sda3         3174400    36728831    16777216   83  Linux

命令(输入 m 获取帮助):n

Partition type:

   p   primary (3 primary, 0 extended, 1 free)

   e   extended

Select (default e): p

已选择分区 4

起始 扇区 (36728832-62914559,默认为 36728832):

将使用默认值 36728832

Last 扇区, +扇区 or +size{K,M,G} (36728832-62914559,默认为 62914559):+2G

分区 4 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t

分区号 (1-4,默认 4):4

Hex 代码(输入 L 列出所有代码)8e  -->说明:用作物理卷的分区id8e

已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

正在同步磁盘。

2)、使用partprobe让内核识别新建的分区

[root@node3 ~]# partprobe /dev/sda

3)、查看新建立的分区

[root@node3 ~]# fdisk -l

磁盘 /dev/sda:32.2 GB, 32212254720 字节,62914560 个扇区

Units = 扇区 of 1 * 512 = 512 bytes

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0x00057c95

   设备 Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1075199      536576   83  Linux

/dev/sda2         1075200     3174399     1049600   82  Linux swap / Solaris

/dev/sda3         3174400    36728831    16777216   83  Linux

/dev/sda4        36728832    40923135     2097152   8e  Linux LVM  -->标记为LVM

4)、创建物理卷

[root@node3 ~]# pvcreate /dev/sda4

  Physical volume "/dev/sda4" successfully created.

5)、创建卷组 

[root@node3 ~]# vgcreate myvg /dev/sda4

  Volume group "myvg" successfully created

6)、创建大小为500M的逻辑卷 

[root@node3 ~]# lvcreate -L 500M -n lv_mydata myvg

  Logical volume "lv_mydata" created.

7)、格式化逻辑卷

[root@node3 ~]# mke2fs -j /dev/myvg/lv_mydata

mke2fs 1.42.9 (28-Dec-2013)

文件系统标签=

OS type: Linux

块大小=1024 (log=0)

分块大小=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

128016 inodes, 512000 blocks

25600 blocks (5.00%) reserved for the super user

第一个数据块=1

Maximum filesystem blocks=67633152

63 block groups

8192 blocks per group, 8192 fragments per group

2032 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: 完成                           

正在写入inode表: 完成                           

Creating journal (8192 blocks): 完成

Writing superblocks and filesystem accounting information: 完成

2、挂载共享存储

1)、创建挂载的目录/mydata作为nfs共享存储介质

[root@node3 ~]# mkdir /mydata

2)、设置开机自动挂载

[root@node3 ~]# vim /etc/fstab

/dev/myvg/lv_mydata     /mydata    ext3    defaults    0 0

3)、挂载测试挂载成功与否

[root@node3 ~]# mount -a

[root@node3 ~]# ls /mydata/

lost+found

3、启动nfs服务并配置共享存储

1)、启动nfs服务

[root@node3 ~]# systemctl start nfs.service

[root@node3 ~]# systemctl status nfs.service

● nfs-server.service - NFS server and services

   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)

   Active: active (exited) since 六 2018-08-04 03:43:47 CST; 6s ago

  Process: 1442 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)

  Process: 1438 ExecStartPre=/bin/sh -c /bin/kill -HUP `cat /run/gssproxy.pid` (code=exited, status=0/SUCCESS)

  Process: 1436 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)

 Main PID: 1442 (code=exited, status=0/SUCCESS)

   CGroup: /system.slice/nfs-server.service

8月 04 03:43:47 node3.field.com systemd[1]: Starting NFS server and services...

8月 04 03:43:47 node3.field.com systemd[1]: Started NFS server and services.

2)、添加共享存储文件,用于存放mysql数据的目录

[root@node3 ~]# vim /etc/exports

#/www/hadocs 192.168.88.0/24(rw)

/mydata 192.168.88.0/24(rw,no_root_squash)

#该网段的主机可读写,不需root用户

3)、编辑测试页

[root@node3 ~]#  echo "<h1>Test page on NFS Service</h1>" >/mydata/index.html

4)、重启nfs服务并修改共享目录属组属主为mysql,注意:此步骤为必须操作

[root@node3 ~]# systemctl restart nfs.service

[root@node3 ~]# chown -R mysql.mysql /mydata

chown: 无效的用户: "mysql.mysql"

[root@node3 ~]# groupadd -g 306  -r mysql

[root@node3 ~]# useradd -g mysql -u 306 -s /sbin/nologin mysql

[root@node3 ~]# id mysql

uid=306(mysql) gid=306(mysql) 组=306(mysql)

[root@node3 ~]# chown -R mysql.mysql /mydata

 

二、编译、安装、配置、测试Mariadb

该步骤主要分两大步:cen7节点安装和node2节点安

(一)、cen7节点上的编译、安装、配置、测试Mariadb

1、安装前配置

1)、创建mysql用户、组和挂载目录

[root@cen7 ~]# groupadd -g 306 -r mysql

[root@cen7 ~]# useradd -u 306 -g mysql -r mysql

[root@cen7 ~]# mkdir /mydata

2)、挂载NFS文件系统并确认

[root@cen7 ~]# mount -t nfs 192.168.88.135:/mydata /mydata

[root@cen7 ~]# mount |grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)

192.168.88.135:/mydata on /mydata type nfs4 (rw,relatime,vers=4.1,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.88.132,local_lock=none,addr=192.168.88.135)

[root@cen7 ~]# ls /mydata

index.html  lost+found

3)、以mysql用户身份创建data目录,作为初始化时的数据存放目录(datadir

注意:mysql初始化只需在集群节点中的一个进行一次,后续集群会自动挂载配置,另一台机mariadb不需初始化,所以不用以mysql用户创建data目录

[root@cen7 ~]# su - mysql

su: 警告:无法更改到 /home/mysql 目录: 没有那个文件或目录

-bash-4.2$ cd /mydata

-bash-4.2$ mkdir data

-bash-4.2$ exit

登出

2、源码编译安装Mariadb

说明:此处采用10.0以上版本可能会因为c++版本低编译无法通过,笔者采用mariadb-5.5.61.tar.gz安装包

[root@cen7 ~]# ls

anaconda-ks.cfg                     mariadb-5.5.61.tar.gz    python-parallax-1.0.0a1-7.1.noarch.rpm

crmsh-3.0.0-6.2.noarch.rpm          ~None                      python-pssh-2.3.1-7.3.noarch.rpm

crmsh-scripts-3.0.0-6.2.noarch.rpm  pssh-2.3.1-7.3.noarch.rpm

1)、编译安装mariadb

[root@cen7 ~]# tar xf mariadb-5.5.61.tar.gz -C /usr/local

[root@cen7 ~]# cd /usr/local/

[root@cen7 local]# ln -sv mariadb-5.5.61 mysql

"mysql" -> "mariadb-5.5.61"

[root@cen7 local]# cd mysql

注意:修改文件属主属组为

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值