Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So stellen Sie eine Hochverfügbarkeitsarchitektur unter Linux bereit

So stellen Sie eine Hochverfügbarkeitsarchitektur unter Linux bereit

WBOY
WBOYOriginal
2023-06-18 12:21:261816Durchsuche

Mit dem Aufkommen des Big-Data-Zeitalters beginnen immer mehr Unternehmen und Organisationen, Linux-Betriebssysteme als Serverplattformen zu verwenden. Um die Verfügbarkeit und Stabilität von Anwendungen sicherzustellen, ist die Hochverfügbarkeitsarchitektur zu einem unverzichtbaren Bestandteil von Linux-Servern geworden. In diesem Artikel wird erläutert, wie Sie eine Hochverfügbarkeitsarchitektur unter Linux bereitstellen.

Was ist Hochverfügbarkeitsarchitektur?

Hochverfügbarkeit (HA) bezieht sich auf eine Systemarchitektur, die weiterhin Dienste bereitstellen kann, wenn das System ausfällt. HA kann durch eine Vielzahl von Technologien implementiert werden, wie z. B. Lastausgleich, redundantes Backup, Failover usw. Für Anwendungen auf Unternehmensebene ist die Aufrechterhaltung einer hohen Verfügbarkeit von entscheidender Bedeutung, da sie sicherstellt, dass die Anwendung auch im Falle unerwarteter Umstände weiterhin normal funktionieren kann.

Schritte zur Bereitstellung einer Hochverfügbarkeitsarchitektur unter Linux

  1. Netzwerkplanung

Zuerst müssen Sie das Netzwerk planen. Um eine hohe Verfügbarkeit sicherzustellen, sollte jedem Knoten im Cluster eine unabhängige IP-Adresse zugewiesen und zu einer virtuellen IP-Adresse zusammengefasst werden. Darüber hinaus muss der Netzwerkspeicher so konfiguriert werden, dass der Cluster Daten zwischen Knoten teilen kann.

  1. Software installieren

Bevor Sie die Software installieren, installieren Sie die erforderlichen Softwarepakete auf jedem Knoten, z. B. Heartbeat-, Corosync- und PC-Pakete. Es kann mit dem folgenden Befehl auf CentOS installiert werden:

sudo yum install corosync pcs pacemaker resource-agents
  1. Corosync und Heartbeat konfigurieren

Als nächstes müssen Corosync und Heartbeat konfiguriert werden, um die Kommunikation zwischen den beiden Knoten zu ermöglichen. Dies ist einer der wichtigsten Schritte zur Gewährleistung einer hohen Verfügbarkeit. Legen Sie die IP-Adresse, den Kanalnamen und den Kanalport des Knotens in der Konfigurationsdatei fest. Bitte stellen Sie während dieses Konfigurationsprozesses sicher, dass die folgenden Informationen konfiguriert sind:

  • bindnetaddr: Wird zur Angabe der Netzwerkschnittstellenadresse für die Kommunikation zwischen Knoten verwendet.
  • mcastaddr: wird zur Angabe der Multicast-Adresse verwendet.
  • mcastport: wird verwendet, um die Portnummer des Multicast-Kanals anzugeben.
totem {
        version: 2
        secauth: off
        interface {
                ringnumber: 0
                bindnetaddr: 192.168.50.0
                mcastaddr: 226.94.1.1
                mcastport: 5405
        }
        transport: udpu
}

logging {
        to_logfile: yes
        logfile: /var/log/corosync/corosync.log
        to_syslog: yes
}

In der Heartbeat-Konfigurationsdatei müssen Sie die IP-Adresse und die virtuelle IP-Adresse des Knotens festlegen. Stellen Sie sicher, dass die Anwendung, die die virtuelle IP-Adresse bereitstellt, installiert ist.

#设定hacluster集群名称
cluster hacluster
#设定故障探测时间间隔 必须<ping的-send值
keepalive 2
#每次探测(waitting)会加入2秒
deadtime 10
#装备ping用的参数,每次等待10秒
warntime 10
initdead 20
udpport 694
#主服务节点IP,可多行填写
node node1.example.com
node node2.example.com
#关联的主节点为node1,次节点为node2
crm respawn
#virtual_ip是虚拟IP
#Ethernet Bridge 和IP假设设为192.168.0.1/24
primitive virtual_ip ocf:heartbeat:IPaddr2 
        params ip="192.168.0.5" cidr_netmask="24" 
        op monitor interval="10s"
#IP暂停服务后强制迁移
location virtual_ip-primary virtual_ip 
        rule $id="virtual_ip-rule" inf: virtual_ip
  1. Cluster-Management-Tools konfigurieren

Installieren Sie das PC-Tool, ein Befehlszeilentool zum Konfigurieren der Pacemaker-Cluster-Management-Software. Es kann mit dem folgenden Befehl installiert werden:

sudo yum install pcs
sudo systemctl enable pcsd.service && sudo systemctl start pcsd.service

Konfigurieren Sie die Firewall und stellen Sie sicher, dass die Firewall auf jedem Knoten die Kommunikation zulässt. Unter CentOS7 können Sie den folgenden Befehl verwenden:

sudo firewall-cmd --add-service=high-availability --permanent
sudo firewall-cmd --reload

Erstellen Sie auf jedem Knoten den hacluster-Benutzer und fügen Sie ihn der Gruppe pcsd für die zukünftige Verwaltung des Pacemaker-Clusters hinzu:

sudo useradd hacluster
sudo passwd hacluster
sudo usermod -aG pcsd hacluster

Um den pcsd-Dienst zu aktivieren, verwenden Sie den folgenden Befehl:

sudo systemctl enable pcsd
sudo systemctl start pcsd

Konfigurieren Sie den Authentifizierungsschlüssel auf Pacemaker mit dem folgenden Befehl, kopieren Sie den Authentifizierungsschlüssel mit den gleichen Optionen auf alle anderen Knoten:

sudo pcs cluster auth <node1.example.com> <node2.example.com> -u hacluster -p <password> --force
  1. Konfigurieren Sie den Lastausgleich

Installieren und konfigurieren Sie HAproxy, einen Hochgeschwindigkeitsserver für die Verfügbarkeit von TCP- und HTTP-Anwendungen Lastausgleichstools. Sie können den folgenden Befehl verwenden, um es unter CentOS zu installieren:

sudo yum -y install haproxy
sudo systemctl enable haproxy

In der Konfigurationsdatei von haproxy müssen Sie den Lastausgleichsalgorithmus, die IP-Adresse und die Portnummer des Backend-Servers festlegen.

global
    log         127.0.0.1 local2
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon      # Enables HAProxy in daemon mode

defaults
    log         global
    mode        http
    option      httplog
    option      dontlognull
    retries     3
    option      redispatch
    maxconn     2000
    contimeout  5000
    clitimeout  50000
    srvtimeout  50000

frontend web
    bind *:80
    mode http
    default_backend web-backend

backend web-backend
    mode http
    balance roundrobin
    option httpchk HEAD / HTTP/1.1
Host:localhost
    server node1 10.0.0.2:80 check
    server node2 10.0.0.3:80 check
  1. Testen Sie die Hochverfügbarkeitsarchitektur

Testen Sie abschließend die Hochverfügbarkeit. Trennen Sie einen der Knoten und stellen Sie sicher, dass die virtuelle IP automatisch auf den anderen Knoten übertragen wird. Stellen Sie sicher, dass Anwendungen auf anderen Knoten normal unter der virtuellen IP ausgeführt werden, um eine hohe Verfügbarkeit sicherzustellen.

Fazit

Der Einsatz einer Hochverfügbarkeitsarchitektur unter Linux kann die Stabilität und Verfügbarkeit von Unternehmensanwendungen auch bei unerwarteten Ausfällen gewährleisten. Mithilfe der auf Corosync und Heartbeat basierenden HA-Architektur können Anwendungen über virtuelle IP-Adressen und Lastausgleichsalgorithmen auf verschiedene Serverknoten verteilt werden, um deren hohe Verfügbarkeit und Leistung sicherzustellen.

Das obige ist der detaillierte Inhalt vonSo stellen Sie eine Hochverfügbarkeitsarchitektur unter Linux bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn