Corosync 实现 MariaDB 数据库服务的高可用
Corosync 实现 MariaDB 数据库服务的高可用,corosync + pacemaker 提供HA的解决方案。使用NFS共享服务器导出的共享文件系统做为
方案:
corosync + pacemaker 提供HA的解决方案。
使用NFS共享服务器导出的共享文件系统做为数据目录;
拓扑图如下:
在 CentOS/RHEL/Scientific Linux 6 下安装 LAMP (Apache with MariaDB and PHP)
MariaDB Proxy读写分离的实现
MySQL+Corosync+Pacemaker+DRBD构建高可用MySQL
搭建基于Corosync+DRBD的高可用MySQL集群
分别基于NFS服务和DRBD服务利用Corosync配置高可用集群
Linux 高可用(HA)集群之Corosync详解
pacemaker + Corosync 搭建高可用集群
Corosync+pacemaker+RA实现MySQL高可用
一、配置HA高可用集群的各节点间能够基于主机名通讯。
1、设置主机名
(1)、在 192.168.60.128 主机设置
编辑/etc/sysconfig/network文件,使得主机名永久有效
[root@www ~]# vim /etc/sysconfig/network HOSTNAME=node2.linuxidc.com使用hostname命令设置主机名,,让它即时生效
[root@www ~]# hostname node2.linuxidc.com(2)、在 192.168.60.22 主机设置
编辑/etc/sysconfig/network文件,使得主机名永久有效
[root@stu13 ~]# vim /etc/sysconfig/network HOSTNAME=node1.linuxidc.com使用hostname命令设置主机名,让它即时生成
[root@stu13 ~]# hostname node1.linuxidc.com2、为了,操作方便设置节点之间能够基于密钥通讯。也就是所谓的建立信任主机。
[root@node1 ~]# ssh-keygen -t rsa [root@node1 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.60.128 [root@node2 ~]# ssh-keygen -t rsa [root@node2 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.60.223、节点之间基于主机名通讯,要能够解析主机名才可以。解析主机名有两种方式:
(1)、使用DNS地址解析服务器;
(2)、使用本地hosts文件解析
基于效率和安全方面考虑,这里使用hosts文件解析主机名。
[root@node1 ~]# vim /etc/hosts 192.168.60.22 node1.linuxidc.com node1 192.168.60.128 node2.linuxidc.com node2把/etc/hosts文件复制到node2节点
[root@node1 ~]# scp /etc/hosts node2:/etc/ hosts 100% 78 0.1KB/s 00:004、测试两个节点能够实现基于密钥的方式进行通讯和能否基于主机名进行通讯
root@node2 ~]# ssh node1 'hostname' node1.linuxidc.com [root@node1 ~]# ssh node2 'hostname' node2.linuxidc.com [root@node1 ~]# ssh node2 'ping -c 1 node2.linuxidc.com' PING node2.linuxidc.com (192.168.60.128) 56(84) bytes of data. 64 bytes from node2.linuxidc.com (192.168.60.128): icmp_seq=1 ttl=64 time=0.061 ms --- node2.linuxidc.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.061/0.061/0.061/0.000 ms [root@node1 ~]# ping -c 1 node1.linuxidc.com PING node1.linuxidc.com (192.168.60.22) 56(84) bytes of data. 64 bytes from node1.linuxidc.com (192.168.60.22): icmp_seq=1 ttl=64 time=0.069 ms --- node1.linuxidc.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms
说明:
从上述可以看出,两个节点已经能够实现基于主机名的方式进行通讯。
二、配置NFS服务器
Ubuntu下搭建NFS网络文件系统服务器
Heartbeat_ldirector+LB+NFS实现HA及LB、文件共享
CentOS 5.5配置NFS服务器教程
Ubuntu 12.10下NFS的安装使用
1、提供NFS服务器共享的文件系统
使用LVM逻辑卷做为数据库的数据目录,为了使用逻辑卷的快照功能备份数据。
(1)、创建分区
[root@nsf ~]# fdisk -l /dev/sda | grep "/dev/sda3" /dev/sda3 7859 9164 10489446 8e Linux LVM(2)、把该分区做成pv
[root@nsf ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created(3)、创建逻辑卷组myvg,PE大小为8E.
[root@nsf ~]# vgcreate -s 8M myvg /dev/sda3 Volume group "myvg" successfully created(4)、创建lvm,大小为:2G
[root@nsf ~]# lvcreate -L 2G -n sharedir myvg Logical volume "sharedir" created [root@nsf ~]# mke2fs -t ext4 /dev/myvg/sharedir [root@nsf ~]# echo $? 0(5)、创建挂载点
[root@nsf ~]# mkdir /mydata(6)、编辑/etc/fstab文件,实现开机可以自动挂载“/dev/myvg/sharedir”
[root@nsf ~]# vim /etc/fstab /dev/mapper/myvg-sharedir /mydata ext4 defaults,acl 0 0(7)、挂载
[root@nsf ~]# mount -a查看是否挂载
[root@nsf ~]# mount | grep "mydata" /dev/mapper/myvg-sharedir on /mydata type ext4 (rw,acl)
2、配置挂载NFS服务器共享的文件系统的客户端中的数据库服务进程(mysql)具有共享文件系统(目录)的读写权限。
把NFS服务器导出的文件系统中,作为数据库的数据目录,根据NFS服务器的工作原理,NFS的客户端可以往NFS服务器导出的文件系统(目录)写数据要满足两个条件:
(A)、在NFS服务器级别,做访问控制时候是否授写NFS客户端写(w)的权限;
(B)、在NFS客户端发起写(W)操作的进程的属主对应的UID,在NFS服务器端所在的主机是否该UID
对应的用户。
1)、如果有的话,那么就检查该用户是否有NFS服务器导出的文件系统(目录)的写权限。如果有
写权限的话,那么NFS客户端的进程就可以往NFS服务器导出的文件系统发起写操作了。否则
的话NFS客户端是无权限往NFS服务器导出的文件系统写数据的。
2)、如果没有的话,那就就检查nobody用户是否有NFS服务器导出的文件系统(目录)的写权限。
不过在Linux系统上,nobody用户的权限是最小。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MariaDB是一種開源的關聯式資料庫管理系統,它是MySQL的一個分支。 PHP作為一種開源的伺服器端腳本語言,被廣泛應用於Web開發。在許多Web開發專案中,需要使用PHP連接到MariaDB資料庫,以便在Web應用程式中儲存和檢索資料。這篇文章將介紹如何使用PHP編寫程式碼來連接MariaDB資料庫。一、安裝MariaDB伺服器在使用PHP連接Maria

如何使用PDO連接到MariaDB資料庫一、簡介PDO(PHPDataObjects)是PHP中用來存取資料庫的一個輕量級的抽象層。它為開發者提供了一組統一的介面來連接和操作不同類型的資料庫,包括MariaDB、MySQL、SQLite等。本文將介紹如何使用PDO來連接到MariaDB資料庫,並給出範例程式碼。二、安裝和設定在使用PDO連接到MariaDB

這篇文章為大家帶來了關於MariaDB和MySQL的相關知識,其中主要跟大家聊一聊MariaDB與MySQL的差別都有哪些,有興趣的朋友下面一起來看一下吧,希望對大家有幫助。

DockerCompose、Nginx和MariaDB的最佳實踐:部署PHP應用程式的監控與最佳化引言:在現代應用程式開發中,容器化已經成為一種流行的方式,能夠幫助我們更好地管理和部署應用程式。而DockerCompose則是用來定義和運行多個容器的工具,它能夠簡化應用程式的部署和管理流程。本文將介紹如何使用DockerCompose結合Nginx和

MariaDB是一個開源多執行緒的關聯式資料庫管理系統,是MySQL的替代品。 MariaDB是Debian中MySQL的預設替換方案。本教學介紹如何在Debian12上安裝MariaDB。準備條件1、一台安裝了Debian12的VPS虛擬機(推薦您購買一台阿里雲VPS或騰訊雲VPS虛擬主機,如果你更喜歡國外伺服器,推薦你嘗試Vultr上的VPS,註冊即送$50美元體驗,性價比非常高),當然你自己電腦或虛擬機器中也可以。 2.如果使用VPS,基於安全考慮,建議使用非root帳號,可以在Debian12

使用DockerCompose、Nginx和MariaDB優化PHP應用程式的網路效能簡介:在當今網路時代,網路效能對於Web應用程式的穩定性和回應速度至關重要。為了提高PHP應用程式的網路效能,我們可以使用容器化技術DockerCompose、高效率的Web伺服器Nginx和穩定的資料庫MariaDB。本文將詳細介紹如何使用這些工具來最佳化PHP應用的網

DockerCompose、Nginx和MariaDB的完美組合:部署PHP應用程式的最佳實踐引言:在現代Web應用程式開發中,使用容器化技術已經成為了一種趨勢。容器化技術可以將應用程式及其相依性打包成一個單獨的容器,使得應用程式可以在任何支援容器化技術的環境中運作。而Docker是當下最受歡迎的一種容器化技術,它可以簡化應用程式的部署、管理和擴展。對於使用

使用DockerCompose、Nginx和MariaDB優化PHP應用程式的效能問題在開發和部署PHP應用程式時,經常會遇到效能問題。為了解決這些問題,我們可以利用DockerCompose、Nginx和MariaDB來優化應用程式的效能。 DockerCompose是一個用來定義和管理多個Docker容器的工具。它可以幫助我們輕鬆地創建和運行多個容器
