# PanguHa **Repository Path**: sein_china/pangu-ha ## Basic Information - **Project Name**: PanguHa - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-11 - **Last Updated**: 2023-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PanguHA ### :tw-1f335: 1. 简介 PanguHA是Windows平台的双机热备集群系统,是提供系统高可用性的解决方案,一般由两个节点构成,分为活动节点及备用节点。 通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。 ### :loudspeaker: 2. 注意事项 - 环境 **.NET Framework 4.6.1** 及以上 - 点击 **HA.exe** 运行 ### :cyclone: 3. 功能概述 - Windows Keeplived - 执行管理 - 文件同步 - Mariadb/Mysql高可用 - 邮件提醒 ### :books: 4. 教程 - [Web应用IIS高可用配置教程](https://blog.csdn.net/sss899000/article/details/132921678?spm=1001.2014.3001.5502) - [Mysql双主及高可用配置教程](https://blog.csdn.net/sss899000/article/details/133818932?spm=1001.2014.3001.5502) - [Nginx高可用配置教程](https://blog.csdn.net/sss899000/article/details/133827992?spm=1001.2014.3001.5501) ### :tw-1f4fa: 5. 视频 - [Web应用IIS高可用配置视频](https://www.bilibili.com/video/BV1au4y1a7ao/?spm_id_from=333.999.0.0&vd_source=8db0f4c511ee648e595718cb636c8df7) ### :alien: 6. 功能说明 #### 6.1 Windows Keeplived - 对外提供一个集群IP(虚拟IP/VIP),并且该IP始终只会设置在活动节点上(主节点),当活动节点宕机, 该IP会自动漂移到未宕机的节点上,系统站点和数据库的IP可以设置为VIP,代码层面无需改动 用于提高系统可用性,对业务无感知。(网卡中需使用静态ip,不可设置为动态获取,VIP是同网段内无人使用的IP) ![输入图片说明](1695042278763.png) - 首次设置VIP运行时,可能会出现以下情况,耐心等待即可,也可以将心跳间隔和断连重试调小后再次点击运行 ![输入图片说明](1697788342163.png) - 此处可添加其他节点的IP,在主节点上会对这些IP进行监控,在连接异常时发出邮件提醒,如若不填写,则只会在主备切换时发出邮件提醒。【灰色:不检测】【橘红色:断联】【绿色:正常】 ![输入图片说明](1699575058212.png) #### 6.2 执行管理 可用于设置进程和windows服务组,并且保证进程和windows服务只会在VIP绑定节点上运行(主节点),备节点停止运行进程和Windwos服务 ![输入图片说明](1695042578069.png) #### 6.3 文件同步 - 不同电脑之间同步需先设置共享文件,保证IP形式的路径可访问 - 采用镜像复制,主节点向备节点推送差异文件,备节点始终和主节点保持相同,同时可以设置过滤条件忽略文件夹或者固定名称或后缀的文件 - 主节点和备节点都需要配置源路径和目标路径并启动,但只在主节点运行同步任务 ![输入图片说明](%E6%96%87%E4%BB%B6%E5%90%8C%E6%AD%A5.png) #### 6.4 Mariadb/Mysql高可用 ##### 6.4.1 功能描述 - 一键部署双主复制 - 开启健康检测后,自动检测mysql服务,如果mysql服务挂掉,会重新启动 - 同时开启IP漂移和健康检测后,VIP节点上的mysql服务如果挂掉,会先进行重启,如果重启失败,则切换VIP绑定节点 ![输入图片说明](Mysql%E5%8F%8C%E4%B8%BB.png) ##### 6.4.2 部署问题集 - 问题:The slave I/O thread stops because master and slave have equal MySQL server UUIDs - 解决:停掉从库实例,删除从库data文件夹下的的auto.cnf文件,启动从库实例,此时从库就会产生一个新的auto.cnf文件(产生新的 UUID) 。 #### 6.5 邮件提醒 - 在邮件提醒界面保存配置(可先进行测试) - 运行IP漂移的情况下,首次设置VIP或主备节点切换后(VIP漂移),会发送邮件提醒 - 在添加监测IP后,主节点会对它们进行监测,断联后会发送邮件提醒(防止主节点宕机没有备节点可以切换) - 在开启Mysql健康检测的情况下,备节点断联或同步异常,会发送邮件提醒进行人工维护(防止主节点宕机切换后数据异常) ![输入图片说明](1698226703076.png) ![输入图片说明](Email.png) - 邮箱授权码的获取,以163邮箱为例,其他邮箱类似 ![输入图片说明](1699576564091.png) ### :secret: 7. 关于开机自启动 - 在【IP漂移】点击运行成功后,会保存设置IP的相关信息,下次打开软件将自动运行 - 在【mysql主从配置】开启健康检测成功后,会保存mysql设置的相关信息,下次打开软件将自动开启健康检测 - 将软件设置为快捷方式,然后Win+R输入shell:startup,将快捷方式拖入该目录 - Win+R输入gpedit.msc打开组策略,依次展开计算机配置--->Windows设置--->安全设置--->本地策略--->安全选项--->用户账户控制:以管理员批准模式运行所有管理员,设置为已禁用 ### :telephone_receiver: 8. 联系方式 ![输入图片说明](1694855799819.png) 邮箱 435031783@qq.com