Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So stellen Sie eine Hochverfügbarkeitsarchitektur unter Linux bereit

So stellen Sie eine Hochverfügbarkeitsarchitektur unter Linux bereit

Jun 18, 2023 pm 12:21 PM
linux 架构 高可用

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
Nach dem Login kopieren
  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
}
Nach dem Login kopieren

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
Nach dem Login kopieren
  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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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

sudo systemctl enable pcsd
sudo systemctl start pcsd
Nach dem Login kopieren

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
Nach dem Login kopieren
  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
Nach dem Login kopieren

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
Nach dem Login kopieren
  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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

So sehen Sie den Docker -Prozess So sehen Sie den Docker -Prozess Apr 15, 2025 am 11:48 AM

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

Was tun, wenn das Docker -Bild fehlschlägt? Was tun, wenn das Docker -Bild fehlschlägt? Apr 15, 2025 am 11:21 AM

Fehlerbehebung Schritte für fehlgeschlagene Docker -Bild Build: Überprüfen Sie die Dockerfile -Syntax und die Abhängigkeitsversion. Überprüfen Sie, ob der Build -Kontext den erforderlichen Quellcode und die erforderlichen Abhängigkeiten enthält. Sehen Sie sich das Build -Protokoll für Fehlerdetails an. Verwenden Sie die Option -Target -Option, um eine hierarchische Phase zu erstellen, um Fehlerpunkte zu identifizieren. Verwenden Sie die neueste Version von Docker Engine. Erstellen Sie das Bild mit--t [Bildname]: Debugg-Modus, um das Problem zu debuggen. Überprüfen Sie den Speicherplatz und stellen Sie sicher, dass dies ausreicht. Deaktivieren Sie Selinux, um eine Störung des Build -Prozesses zu verhindern. Fragen Sie Community -Plattformen um Hilfe, stellen Sie Dockerfiles an und erstellen Sie Protokollbeschreibungen für genauere Vorschläge.

Welche Computerkonfiguration ist für VSCODE erforderlich? Welche Computerkonfiguration ist für VSCODE erforderlich? Apr 15, 2025 pm 09:48 PM

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

VSCODE kann die Erweiterung nicht installieren VSCODE kann die Erweiterung nicht installieren Apr 15, 2025 pm 07:18 PM

Die Gründe für die Installation von VS -Code -Erweiterungen können sein: Netzwerkinstabilität, unzureichende Berechtigungen, Systemkompatibilitätsprobleme, VS -Code -Version ist zu alt, Antiviren -Software oder Firewall -Interferenz. Durch Überprüfen von Netzwerkverbindungen, Berechtigungen, Protokolldateien, Aktualisierungen von VS -Code, Deaktivieren von Sicherheitssoftware und Neustart von Code oder Computern können Sie Probleme schrittweise beheben und beheben.

Kann VSCODE für MAC verwendet werden Kann VSCODE für MAC verwendet werden Apr 15, 2025 pm 07:36 PM

VS -Code ist auf Mac verfügbar. Es verfügt über leistungsstarke Erweiterungen, GIT -Integration, Terminal und Debugger und bietet auch eine Fülle von Setup -Optionen. Für besonders große Projekte oder hoch berufliche Entwicklung kann VS -Code jedoch Leistung oder funktionale Einschränkungen aufweisen.

Wofür ist VSCODE Wofür ist VSCODE? Wofür ist VSCODE Wofür ist VSCODE? Apr 15, 2025 pm 06:45 PM

VS Code ist der vollständige Name Visual Studio Code, der eine kostenlose und open-Source-plattformübergreifende Code-Editor und Entwicklungsumgebung von Microsoft ist. Es unterstützt eine breite Palette von Programmiersprachen und bietet Syntax -Hervorhebung, automatische Codebettel, Code -Snippets und intelligente Eingabeaufforderungen zur Verbesserung der Entwicklungseffizienz. Durch ein reiches Erweiterungs -Ökosystem können Benutzer bestimmte Bedürfnisse und Sprachen wie Debugger, Code -Formatierungs -Tools und Git -Integrationen erweitern. VS -Code enthält auch einen intuitiven Debugger, mit dem Fehler in Ihrem Code schnell gefunden und behoben werden können.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

See all articles