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

corosync+pacemaker配置mysql服务+nfs高可用 立即下载

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服务器:共享目录作为mysql的datadir

该步骤中:主要通过创建逻辑卷并设置开机自动挂载到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  -->说明:用作物理卷的分区id为8e

已将分区“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

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

[root@cen7 mysql]# chown -R mysql:mysql .

[root@cen7 mysql]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data/ -DSYSCONFDIR=/etc  -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATIO

(2024,DDPM,DDIM,流匹配,SDE,ODE)扩散:基础教程 本文的目标是尽可能简单地教授扩散。第一节介绍扩散的基本原理。第二节和第三节展示如何构建随机和确定性扩散采样器。第四部分介绍了密切相关的流匹配,可看作是扩散的推广。​第五节,强调实践中最重要的一些设计选择,包括采样器、噪声时间表和参数化方法。 阅读详情

相关推荐

Claude Code 完整学习笔记

Claude Code 学习笔记摘要 Claude Code是Anthropic推出的智能编码工具,基于Claude Opus 4.5模型构建,提供跨平台支持(终端/VS Code/JetBrains/Web等)。核心功能包括: 代码库理解与多文件编辑 命令执行与开发工具集成 智能体协作开发流程 安装要求Node.js≥18,提供原生/Homebrew/npm等多种安装方式,支持环境变量配置API访问。基础交互模式包括会话管理、文件操作和代码审查等功能,可自动读写文件并执行精确修改。 (149字)

虚心若愚 812

泛微E9表单建模查询列表勾选后带入流程明细表中

注意:参照下图各项配置,否则会有问题。

泛微二次开发后端知识总结 5311

PLC框架-1.3- 汇川PN伺服(3号报文)

本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。

qq_34047402的博客 757

【图像超分】论文复现:新手入门必备!Pytorch实现SRGAN!手把手详细教程!代码注释详尽!可用于训练自己的数据集!实时验证模型性能!绘制PSNR曲线图!附训练好的各放大倍数的模型权重文件!

【图像超分】论文精读:SRResNet/SRGAN【图像超分】论文复现:万字长文!Pytorch实现SRResNet代码修改无报错!踩坑全记录!适合各种深度学习新手!帮助你少走弯路!附修改后的代码和PSNR最优的模型权重文件!请配合上述论文精读文章使用,效果更佳!与原论文描述不一样的实现部分,也即可以修改的部分数据集使用:论文中是ImageNet随机选35000张图像,本文是VOC2012数据集16700张图像。数据集预处理:裁剪大小不同,论文是96×96,本文是88×88。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 6854

树莓派 5 AI 套件(Hailo)示例

该用户自定义类作为输入传递给回调函数,该函数在管道输出上运行。它用于主程序与回调函数之间的通信。它对 hailo_rpi_common::app_callback_class 进行了扩展,并可根据应用程序的具体情况定制附加变量和方法。

机器人控制与仿真应用 4115

传感器校准与标定:传感器的灵敏度校准_(11).常见传感器的灵敏度校准方法

线性校准:适用于传感器输出与输入之间存在线性关系的情况。通过收集数据并使用最小二乘法拟合线性方程,可以确定斜率和截距,从而实现校准。非线性校准:适用于传感器输出与输入之间存在非线性关系的情况。通过收集数据并使用非线性拟合方法(如最小二乘法),可以确定多项式或其他非线性方程的参数,从而实现校准。温度补偿校准:适用于传感器在不同温度下输出特性变化的情况。通过收集不同温度下的数据并使用温度补偿方程,可以提高传感器在不同温度下的测量精度。其他校准方法。

2401_87715305的博客 918

RK3588开发笔记-PCIE接口2.5G网卡RTL8125调试记录

在RK3588平台上调试2.5G网卡(Realtek RTL8125)时,我们会用到PCIE接口,这篇文章记录了从硬件连接、内核驱动到最终实现网络通信的整个调试过程,包括可能遇到的问题和解决方案。Realtek RTL8125是为高带宽需求设计的一款高性价比2.5G以太网控制器。它不仅提供了高达2.5Gbps的网络传输速率,还具备良好的节能特性、硬件卸载引擎和广泛的操作系统支持。无论是在家庭网络、企业NAS,还是游戏和云计算等场景中,RTL8125都能为用户提供更快速、更稳定的网络连接。

flypig has a dream! 3681

Linux内核驱动模型--PCIe(PCI Express)驱动​​

本文系统介绍了Linux内核中PCIe驱动的设计与实现。首先从架构定位入手,指出PCIe驱动基于PCI子系统扩展支持高速、低功耗特性。核心数据结构struct pci_driver包含设备匹配表id_table、生命周期函数probe/remove等关键组件。文章详细解析了驱动与设备的绑定流程、资源管理机制,并重点阐述了MSI-X中断、电源管理、热插拔和多队列等高级特性实现方案。最后提供了lspci、dmesg等调试工具的使用方法,总结了PCIe驱动在支持高性能设备中的关键作用。全文通过架构设计、核心结构、

amy_mhd的博客 428

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: rootkit后门检测工具rkhunter
下一篇: Centos6、Centos7更新内核并安装Docker容器
Field_Yang
博客等级 码龄11年 85粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值