Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux

Bagaimana untuk mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux

WBOY
WBOYasal
2023-07-05 11:13:36784semak imbas

Cara mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi di Linux

Pengenalan:
Dalam sistem perusahaan moden, pangkalan data ialah komponen penting. Untuk memastikan ketersediaan tinggi dan operasi stabil berterusan pangkalan data, mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux adalah langkah yang perlu. Artikel ini akan memperkenalkan cara mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi dalam persekitaran Linux dan menyediakan contoh kod yang berkaitan.

1. Pasang dan konfigurasikan kluster pangkalan data
Sebelum mengkonfigurasi pemantauan kluster pangkalan data, anda perlu membina kluster pangkalan data yang boleh dipercayai. Mengambil pangkalan data MySQL sebagai contoh, berikut ialah langkah-langkah untuk memasang dan mengkonfigurasi kluster pangkalan data MySQL:

  1. Muat turun dan pasang pangkalan data MySQL
    Laksanakan arahan berikut pada setiap nod untuk dipasang:

    $ sudo apt-get update
    $ sudo apt-get install mysql-server
  2. Konfigurasikan Nod induk pangkalan data MySQL
    Buka Fail konfigurasi MySQL nod induk (biasanya dalam /etc/mysql/my.cnf) dan lakukan konfigurasi berikut:

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
  3. Konfigurasikan nod hamba pangkalan data MySQL
    Buka fail konfigurasi MySQL bagi nod hamba dan lakukan konfigurasi berikut:

    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1
  4. Mulakan pangkalan data
    Laksanakan arahan pada setiap nod untuk memulakan pelayan pangkalan data:

    $ sudo systemctl start mysql

2. Gunakan Keepalived untuk mencapai ketersediaan tinggi
Keepalived ialah alat sumber terbuka yang boleh digunakan untuk mencapai ketersediaan perkhidmatan yang tinggi. Berikut ialah langkah-langkah untuk mengkonfigurasi kluster pangkalan data ketersediaan tinggi menggunakan Keepalived:

  1. Pasang Keepalived
    Lakukan arahan berikut pada setiap nod untuk dipasang:

    $ sudo apt-get install keepalived
  2. Konfigurasikan Keepalived
    Buka fail konfigurasi Keepalived /etc (/biasa keepalived/ keepalived.conf) dan buat konfigurasi berikut:

    vrrp_script check_mysql {
        script "/usr/bin/mysqladmin ping"
        interval 2
        weight -1
        fall 3
        rise 2
    }
    
    vrrp_instance VI_1 {
        interface eth0
        state BACKUP
        virtual_router_id 51
        priority 100
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass strongpassword
        }
        virtual_ipaddress {
            192.168.1.100
        }
        track_script {
            check_mysql
        }
    }
  3. Mulakan Keepalived
    Laksanakan arahan berikut pada setiap nod untuk memulakan perkhidmatan Keepalived:

    $ sudo systemctl start keepalived

3. Gunakan Pemantauan Perentak Jantung dan Corosync ialah alat untuk mengelompokkan Alat untuk pengurusan dan failover automatik, dan Corosync ialah perisian yang digunakan untuk melaksanakan komunikasi kelompok. Berikut ialah langkah-langkah untuk mengkonfigurasi pemantauan kluster pangkalan data menggunakan Perentak Jantung dan Corosync:

  1. Pasang Perentak Jantung dan Corosync

    Laksanakan arahan berikut pada setiap nod untuk dipasang:

    $ sudo apt-get install pacemaker corosync

  2. Konfigurasi Corosync

    Buka fail konfigurasi Corosync dll /corosync/corosync.conf) dan buat konfigurasi berikut:

    totem {
        version: 2
        secauth: on
        cluster_name: my_cluster
        transport: udpu
    }
    
    nodelist {
        node {
            ring0_addr: node1_ip
            name: node1
            nodeid: 1
        }
        node {
            ring0_addr: node2_ip
            name: node2
            nodeid: 2
        }
        /* Add more nodes as necessary */
    }
    
    quorum {
        provider: corosync_votequorum
    }

  3. Konfigurasi Perentak Rentak

    Laksanakan arahan berikut pada setiap nod untuk mengkonfigurasi Perentak Rentak:

    $ sudo crm configure
    crm(live)> property no-quorum-policy=ignore
    crm(live)> rsc_defaults resource-stickiness=100
    crm(live)> rsc_defaults migration-threshold=1
    crm(live)> configure primitive mysql lsb:mysql op monitor interval=30s
    crm(live)> configure clone mysql-clone mysql meta clone-max=2 clone-node-max=1
    crm(live)> configure group mysql-group mysql-clone
    crm(live)> verify
    crm(live)> commit

Kesimpulan:

dengan berjaya dilaksanakan di Linux Pemantauan kluster pangkalan data yang sangat tersedia. Dengan cara ini, sistem pangkalan data kami boleh terus berjalan walaupun sekiranya berlaku kegagalan nod, memastikan kestabilan dan ketersediaan sistem.

Contoh kod rujukan:

  1. Contoh fail konfigurasi nod induk MySQL (/etc/mysql/my.cnf):

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW

  2. Contoh fail konfigurasi nod hamba MySQL (/etc/mysql)
    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1

  3. Contoh fail konfigurasi Keeplived (/etc/keepalived/keepalived.conf):
  4. vrrp_script check_mysql {
    script "/usr/bin/mysqladmin ping"
    interval 2
    weight -1
    fall 3
    rise 2
    }
    
    vrrp_instance VI_1 {
    interface eth0
    state BACKUP
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass strongpassword
    }
    virtual_ipaddress {
        192.168.1.100
    }
    track_script {
        check_mysql
    }
    }

  5. Contoh arahan konfigurasi perentak jantung:
  6. rreee

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pemantauan kluster pangkalan data ketersediaan tinggi pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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