Rumah Operasi dan penyelenggaraan operasi dan penyelenggaraan linux Bagaimana untuk menggunakan seni bina ketersediaan tinggi dalam Linux

Bagaimana untuk menggunakan seni bina ketersediaan tinggi dalam Linux

Jun 18, 2023 pm 12:21 PM
linux Seni bina Ketersediaan tinggi

Dengan kemunculan era data besar, semakin banyak syarikat dan organisasi mula menggunakan sistem pengendalian Linux sebagai platform pelayan mereka. Untuk memastikan ketersediaan dan kestabilan aplikasi, seni bina ketersediaan tinggi telah menjadi bahagian yang sangat diperlukan dalam pelayan Linux. Artikel ini akan memperkenalkan cara menggunakan seni bina ketersediaan tinggi dalam Linux.

Apakah seni bina ketersediaan tinggi?

Ketersediaan Tinggi (HA) merujuk kepada seni bina sistem yang boleh terus menyediakan perkhidmatan apabila sistem gagal. HA boleh dilaksanakan melalui pelbagai teknologi, seperti pengimbangan beban, sandaran berlebihan, failover, dsb. Untuk aplikasi peringkat perusahaan, mengekalkan ketersediaan yang tinggi adalah penting kerana ia memastikan aplikasi boleh terus berfungsi seperti biasa sekiranya berlaku keadaan yang tidak dijangka.

Langkah-langkah untuk menggunakan seni bina ketersediaan tinggi dalam Linux

  1. Perancangan rangkaian

Pertama, anda perlu merancang rangkaian. Untuk memastikan ketersediaan tinggi, setiap nod dalam kelompok harus diberikan alamat IP bebas dan digabungkan menjadi alamat IP maya. Selain itu, storan rangkaian perlu dikonfigurasikan untuk kluster berkongsi data antara nod.

  1. Pasang perisian

Sebelum memasang perisian, pasang pakej perisian yang diperlukan pada setiap nod, seperti pakej degupan jantung, corosync dan pcs. Ia boleh dipasang pada CentOS menggunakan arahan berikut:

sudo yum install corosync pcs pacemaker resource-agents
Salin selepas log masuk
  1. Konfigurasikan Corosync dan Denyutan Jantung

Seterusnya, Corosync dan Denyutan Jantung perlu dikonfigurasikan untuk membolehkan komunikasi antara kedua-dua nod . Ini adalah salah satu langkah utama untuk memastikan ketersediaan yang tinggi. Tetapkan alamat IP nod, nama saluran dan port saluran dalam fail konfigurasi. Semasa proses konfigurasi ini, pastikan maklumat berikut dikonfigurasikan:

  • bindnetaddr: Digunakan untuk menentukan alamat antara muka rangkaian untuk komunikasi antara nod.
  • mcastaddr: digunakan untuk menentukan alamat multicast.
  • mcastport: digunakan untuk menentukan nombor port saluran multicast.
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
}
Salin selepas log masuk

Dalam fail konfigurasi degupan jantung, anda perlu menetapkan alamat IP dan alamat IP maya nod. Pastikan aplikasi yang menyediakan alamat IP maya dipasang.

#设定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
Salin selepas log masuk
  1. Konfigurasikan alat pengurusan kluster

Pasang alat pcs, iaitu alat baris arahan yang digunakan untuk mengkonfigurasi perisian pengurusan kluster Perentak jantung. Ia boleh dipasang menggunakan arahan berikut:

sudo yum install pcs
sudo systemctl enable pcsd.service && sudo systemctl start pcsd.service
Salin selepas log masuk

Konfigurasikan tembok api, memastikan bahawa tembok api pada mana-mana nod membenarkan komunikasi. Pada CentOS7, anda boleh menggunakan arahan berikut:

sudo firewall-cmd --add-service=high-availability --permanent
sudo firewall-cmd --reload
Salin selepas log masuk

Pada setiap nod, cipta pengguna hacluster dan tambahkannya pada kumpulan pcsd untuk pengurusan masa depan gugusan Perentak jantung:

sudo useradd hacluster
sudo passwd hacluster
sudo usermod -aG pcsd hacluster
Salin selepas log masuk

Untuk mendayakan pcsd perkhidmatan, sila gunakan arahan berikut:

sudo systemctl enable pcsd
sudo systemctl start pcsd
Salin selepas log masuk

Konfigurasikan kekunci auth pada Perentak jantung menggunakan arahan berikut, salin kekunci auth ke semua nod lain menggunakan pilihan yang sama:

sudo pcs cluster auth <node1.example.com> <node2.example.com> -u hacluster -p <password> --force
Salin selepas log masuk
  1. Konfigurasikan pengimbangan beban

Pasang dan konfigurasikan HAproxy, alat pengimbangan beban dengan ketersediaan tinggi untuk aplikasi TCP dan HTTP. Anda boleh menggunakan arahan berikut untuk memasangnya pada CentOS:

sudo yum -y install haproxy
sudo systemctl enable haproxy
Salin selepas log masuk

Dalam fail konfigurasi haproxy, anda perlu menetapkan algoritma pengimbangan beban, alamat IP dan nombor port pelayan bahagian belakang.

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
Salin selepas log masuk
  1. Uji seni bina ketersediaan tinggi

Akhir sekali, uji ketersediaan tinggi. Putuskan sambungan salah satu nod dan pastikan IP maya dipindahkan secara automatik ke nod yang lain. Sahkan bahawa aplikasi pada nod lain berjalan seperti biasa di bawah IP maya untuk memastikan ketersediaan tinggi.

Kesimpulan

Menggunakan seni bina ketersediaan tinggi dalam Linux boleh memastikan kestabilan dan ketersediaan aplikasi perusahaan dalam menghadapi kegagalan yang tidak dijangka. Menggunakan seni bina HA berdasarkan Corosync dan Heartbeat, aplikasi boleh diedarkan ke nod pelayan yang berbeza melalui alamat IP maya dan algoritma pengimbangan beban untuk memastikan ketersediaan dan prestasi tinggi mereka.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan seni bina ketersediaan tinggi dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Cara Melihat Proses Docker Cara Melihat Proses Docker Apr 15, 2025 am 11:48 AM

Kaedah Melihat Proses Docker: 1. Docker CLI Command: Docker PS; 2. Systemd CLI Command: Sistem Status SistemCTL; 3. Docker mengarang arahan CLI: Docker-Compose PS; 4 Proses Explorer (Windows); 5. /Direktori Proc (Linux).

Apa yang perlu dilakukan sekiranya imej docker gagal Apa yang perlu dilakukan sekiranya imej docker gagal Apr 15, 2025 am 11:21 AM

Langkah Penyelesaian Masalah untuk Gagal Docker Image Build: Semak Sintaks Dockerfile dan Versi Ketergantungan. Semak jika konteks binaan mengandungi kod sumber dan kebergantungan yang diperlukan. Lihat log binaan untuk butiran ralat. Gunakan pilihan sasaran untuk membina fasa hierarki untuk mengenal pasti titik kegagalan. Pastikan anda menggunakan versi terkini Enjin Docker. Bina imej dengan --t [nama imej]: mod debug untuk debug masalah. Semak ruang cakera dan pastikan ia mencukupi. Lumpuhkan Selinux untuk mengelakkan gangguan dengan proses binaan. Tanya platform komuniti untuk mendapatkan bantuan, sediakan dockerfiles dan bina deskripsi log untuk cadangan yang lebih spesifik.

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

VSCode tidak dapat memasang pelanjutan VSCode tidak dapat memasang pelanjutan Apr 15, 2025 pm 07:18 PM

Sebab -sebab pemasangan sambungan kod VS mungkin: ketidakstabilan rangkaian, kebenaran yang tidak mencukupi, isu keserasian sistem, versi kod VS terlalu lama, perisian antivirus atau gangguan firewall. Dengan menyemak sambungan rangkaian, keizinan, fail log, mengemas kini kod VS, melumpuhkan perisian keselamatan, dan memulakan semula kod VS atau komputer, anda boleh menyelesaikan masalah dan menyelesaikan masalah secara beransur -ansur.

Boleh vscode digunakan untuk mac Boleh vscode digunakan untuk mac Apr 15, 2025 pm 07:36 PM

VS Kod boleh didapati di Mac. Ia mempunyai sambungan yang kuat, integrasi git, terminal dan debugger, dan juga menawarkan banyak pilihan persediaan. Walau bagaimanapun, untuk projek yang sangat besar atau pembangunan yang sangat profesional, kod VS mungkin mempunyai prestasi atau batasan fungsi.

Apa itu vscode untuk apa vscode? Apa itu vscode untuk apa vscode? Apr 15, 2025 pm 06:45 PM

VS Kod adalah nama penuh Visual Studio Code, yang merupakan editor kod dan persekitaran pembangunan yang dibangunkan oleh Microsoft. Ia menyokong pelbagai bahasa pengaturcaraan dan menyediakan penonjolan sintaks, penyiapan automatik kod, coretan kod dan arahan pintar untuk meningkatkan kecekapan pembangunan. Melalui ekosistem lanjutan yang kaya, pengguna boleh menambah sambungan kepada keperluan dan bahasa tertentu, seperti debuggers, alat pemformatan kod, dan integrasi Git. VS Kod juga termasuk debugger intuitif yang membantu dengan cepat mencari dan menyelesaikan pepijat dalam kod anda.

Apakah tujuan utama Linux? Apakah tujuan utama Linux? Apr 16, 2025 am 12:19 AM

Penggunaan utama Linux termasuk: 1. Sistem Operasi Pelayan, 2. Sistem Terbenam, 3. Linux cemerlang dalam bidang ini, menyediakan kestabilan, keselamatan dan alat pembangunan yang cekap.

See all articles