首頁 資料庫 mysql教程 Corosync 实现 MariaDB 数据库服务的高可用

Corosync 实现 MariaDB 数据库服务的高可用

Jun 07, 2016 pm 04:44 PM
mariadb

Corosync 实现 MariaDB 数据库服务的高可用,corosync + pacemaker 提供HA的解决方案。使用NFS共享服务器导出的共享文件系统做为

方案:

    corosync + pacemaker  提供HA的解决方案。

    使用NFS共享服务器导出的共享文件系统做为数据目录;

拓扑图如下:

Corosync 实现 MariaDB 数据库服务的高可用

在 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.com

2、为了,操作方便设置节点之间能够基于密钥通讯。也就是所谓的建立信任主机。

[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.22

3、节点之间基于主机名通讯,要能够解析主机名才可以。解析主机名有两种方式:

(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:00

4、测试两个节点能够实现基于密钥的方式进行通讯和能否基于主机名进行通讯

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用户的权限是最小。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
使用PHP連接MariaDB資料庫 使用PHP連接MariaDB資料庫 May 17, 2023 am 08:24 AM

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

如何使用PDO連線到MariaDB資料庫 如何使用PDO連線到MariaDB資料庫 Jul 28, 2023 pm 02:49 PM

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

一文詳解MariaDB與MySQL的差別 一文詳解MariaDB與MySQL的差別 Mar 09, 2023 am 11:39 AM

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

Docker Compose、Nginx與MariaDB的最佳實務:部署PHP應用程式的監控與最佳化 Docker Compose、Nginx與MariaDB的最佳實務:部署PHP應用程式的監控與最佳化 Oct 12, 2023 pm 02:19 PM

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

如何在 Debian 12 上安裝 MariaDB資料庫 如何在 Debian 12 上安裝 MariaDB資料庫 Feb 20, 2024 pm 02:24 PM

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

使用Docker Compose、Nginx和MariaDB優化PHP應用程式的網路效能 使用Docker Compose、Nginx和MariaDB優化PHP應用程式的網路效能 Oct 12, 2023 pm 12:49 PM

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

Docker Compose、Nginx和MariaDB的完美組合:部署PHP應用程式的最佳實踐 Docker Compose、Nginx和MariaDB的完美組合:部署PHP應用程式的最佳實踐 Oct 12, 2023 am 11:24 AM

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

使用Docker Compose、Nginx和MariaDB優化PHP應用程式的效能問題 使用Docker Compose、Nginx和MariaDB優化PHP應用程式的效能問題 Oct 12, 2023 pm 12:55 PM

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

See all articles