Linux에서 고가용성 데이터베이스 클러스터 모니터링을 구성하는 방법

WBOY
풀어 주다: 2023-07-05 11:13:36
원래의
828명이 탐색했습니다.

Linux에서 고가용성 데이터베이스 클러스터 모니터링을 구성하는 방법

소개:
현대 엔터프라이즈 시스템에서 데이터베이스는 중요한 구성 요소입니다. 데이터베이스의 고가용성과 지속적이고 안정적인 운영을 보장하기 위해서는 Linux에서 고가용성 데이터베이스 클러스터 모니터링을 구성하는 것이 필수 단계입니다. 이 기사에서는 Linux 환경에서 고가용성 데이터베이스 클러스터 모니터링을 구성하는 방법을 소개하고 관련 코드 예제를 제공합니다.

1. 데이터베이스 클러스터 설치 및 구성
데이터베이스 클러스터 모니터링을 구성하기 전에 먼저 안정적인 데이터베이스 클러스터를 구축해야 합니다. MySQL 데이터베이스를 예로 들면 다음은 MySQL 데이터베이스 클러스터를 설치하고 구성하는 단계입니다.

  1. MySQL 데이터베이스를 다운로드하고 설치합니다.
    설치할 각 노드에서 다음 명령을 실행합니다.

    $ sudo apt-get update
    $ sudo apt-get install mysql-server
    로그인 후 복사
  2. 구성 MySQL 데이터베이스 마스터 노드
    마스터 노드의 MySQL 구성 파일(일반적으로 /etc/mysql/my.cnf)을 열고 다음 구성을 수행합니다.

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
    로그인 후 복사
    로그인 후 복사
  3. MySQL 데이터베이스 슬레이브 노드 구성
    MySQL 구성 파일 열기

    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1
    로그인 후 복사
    로그인 후 복사
  4. 데이터베이스 시작
    각 노드에서 명령을 실행하여 데이터베이스 서버를 시작하세요.

    $ sudo systemctl start mysql
    로그인 후 복사

2 Keepalived를 사용하여 고가용성을 달성하세요
Keepalived는 오픈 소스 도구입니다. 서비스의 고가용성을 달성하는 데 사용할 수 있습니다. 다음은 Keepalived를 사용하여 데이터베이스 클러스터 고가용성을 구성하는 단계입니다.

  1. Keepalived 설치
    설치할 각 노드에서 다음 명령을 실행하세요.

    $ sudo apt-get install keepalived
    로그인 후 복사
  2. Keepalived 구성
    Keepalived 구성 파일 열기(보통 /etc/에 있음) keepalived/keepalived.conf) 다음 구성을 수행합니다.

    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. Keepalived 시작
    Keepalived 서비스를 시작하려면 각 노드에서 다음 명령을 실행합니다.

    $ sudo systemctl start keepalived
    로그인 후 복사

3 Pacemaker 및 Corosync를 사용하여 클러스터 모니터링
Pacemaker를 구현합니다. 클러스터링을 위한 도구이며 관리 및 자동 장애 조치를 위한 도구이고 Corosync는 클러스터 통신을 구현하는 데 사용되는 소프트웨어입니다. 다음은 Pacemaker 및 Corosync를 사용하여 데이터베이스 클러스터 모니터링을 구성하는 단계입니다.

  1. Pacemaker 및 Corosync 설치
    설치할 각 노드에서 다음 명령을 실행합니다.

    $ sudo apt-get install pacemaker corosync
    로그인 후 복사
  2. Corosync 구성
    Corosync 구성 파일(일반적으로 / etc /corosync/corosync.conf)를 작성하고 다음 구성을 수행합니다.

    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. Pacemaker 구성
    각 노드에서 다음 명령을 실행하여 Pacemaker를 구성합니다.

    $ 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
    로그인 후 복사
    로그인 후 복사

결론:
위 구성으로 성공적으로 구현했습니다. Linux 고가용성 데이터베이스 클러스터 모니터링. 이러한 방식으로 우리 데이터베이스 시스템은 노드 장애가 발생하더라도 계속 실행될 수 있어 시스템 안정성과 가용성이 보장됩니다.

참조 코드 예:

  1. MySQL 마스터 노드 구성 파일 예(/etc/mysql/my.cnf):

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=ROW
    로그인 후 복사
    로그인 후 복사
  2. MySQL 슬레이브 노드 구성 파일 예(/etc/mysql/my.cnf):

    [mysqld]
    server-id=2
    relay-log=mysql-relay-bin
    log-bin=mysql-bin
    binlog-format=ROW
    read-only=1
    로그인 후 복사
    로그인 후 복사
  3. Keepalived 구성 파일 예(/etc/keepalived/keepalived.conf):

    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
    }
    }
    로그인 후 복사
  4. Pacemaker 구성 명령 예:

    $ 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
    로그인 후 복사
    로그인 후 복사

위 내용은 Linux에서 고가용성 데이터베이스 클러스터 모니터링을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿