목록2022/07/25 (17)
전산쟁이의 기억노트
개 요 기존 Mysql + myql-mmm 구조기반에서의 DB이중화 구조에서의 문제점 비동기식 replication 구조에서 read / write가 많은 경우 replication이 깨지거나 지연되는 현상이 빈번함 mmm의 버전 업데이트가 없음 ( latest버전인 2.2.1은 2012년 12월이 마지막) mmm 버그로 인한 failover / failback 이슈가 발생이 있음 Maxscale 소개 Mariadb에서 제공하는 DB클러스터 구성 glaera cluster를 이용한 데이터이중화, maxscale를 이용한 db proxy 구조로 되어 있음 기본적으로 BSD라이선스를 적용하고 있고, BSD라이선스의 경우 S/W 개발사가 적용한 날짜 이후에는 GPL 라이선스로 변경됨 BSD 라이선스를 적용받는..
문제상황 mysql_install_db 실행 후 mysql 프로세스 실행 완료. mysql_secure_install 적용하고 나서 로그인할때 패스워드 없이 로그인이 되는 경우. # mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 15 Server version: 10.4.7-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input stateme..
LDAP root dn 패스워드 변경 변경할 패스워드값 생성 $> slappasswd $> New password: $> Re-enter new password: {SSHA}qZsVpahyjXOF1fkdlXgtLsfAr11JGMfj.h LDIF파일을 아래내용으로 파일 작성 $> cat password.ldif dn: OlcDatabase={2}bdb,cn=config replace: olcRootPW olcRootPW: {SSHA}qZsVpahyjXOF1fkdlXgtLsfAr11JGMfj.h 생성한 파일을 가지고 ldap에 적용 $> ldapmodify -Y EXTERNAL -H ldapi:/// -f password.ldif SASL/EXTERNAL authentication started SASL u..
DBMS교체(Mysql → Mariadb)를 추진하면서 이중화 구성을 replication 에서 galera_cluster로 전환하기 위해 구축하기 위한 문서 시스템 소개 Replication 기반의 데이터 동기화 방식 WEB/WAS → DB#1 DDL 유입 (insert / modify / delete / ...) DB#1서버는 binlog에 저장. DB#2 서버는 IO Thread가 master서버로 접속해서 변경내용 확인 후 변경사항이 있으면 replication 로그에 저장 1*.DB#2 서버는 SQL Thread가 replication 로그를 읽어서 변경사항 저장 Galera Cluster기반의 데이터 동기화 wsrep api를 통해 DB#1, DB#2 접속 및 데이터 복제하기 위한 인터페이스 ..
DB이중화 구성 DB 모니터링을 위한 스크립트 설치 $> vi /etc/init.d/db_check #!/bin/bash case "$1" in "start") echo "start" ;; "stop") echo "stop" ;; "status") mysql --connect-timeout 2 -u monitor -p'모니터 계정패스워드' -h localhost -Nse 'select now()' result_code=$? if [[ $result_code -eq 1 ]] then echo "[$(date +%Y-%m-%d-%H:%M:%S)] DB Connection Error" >> /var/log/db_check pcs resource move DB_GROUP {{ 상대방IP }} fi ;; *) e..
시스템 구성도 서버정보 로드밸런싱 종류 알고리즘 종류 알고리즘 설명 설정값 라운드 로빈 하나씩 분배 rr 가중치 라운드 로빈 가중치가 큰 서버로 분배 wrr 최소 연결 접속수가 적은 서버로 분배 lc 가중치 최소연결 (접속수+1)/가중치 로 최소값 서버로 분배 wlc 지역 최소연결 접속수가 가중치를 넘기기전까지 한서버만 분배 lblc 복제기반의 지역 최소연결 가중치를 넘고 있을때 접속수가 가장 적은 서버 선택 (기본작동은 lblc와 동일) lblcr 목적지 해시 목적지 IP로 부터 해시값 계산해서 분배 dh 소스 해시 소스 IP로 부터 해시값 계산해서 분배 sh 응답속도 응답속도(Short Expected Delay)가 가장 짧은 서버로 분배 (실제로는 접속수가 가장 적은 서버로 분배) sed 큐 없음 ..
소 개 서비스 구동중에 Mysqldump를 이용한 백업 수행시 table lock이 발생하기 때문에 서비스 장애 가능성 존재. 대용량 DB의 경우 raw단위로 backup을 수행하기 때문에 수십분 ~ 수시간 소요 설치 & 실행 1차 서버는 정상, 2차 서버는 추가로 구성한 서버라고 가정하고.. 전체서버대상 - extra backup 패키지 설치 - https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/ 1차 서버 - 백업한 데이터 저장용 디렉토리 생성 $ mkdir /tmp/db_backup 1차 서버 - Full backup으로 백업 수행시 $ innobackupex ~-~-defaults-file=/etc/my.cnf ~-~-user roo..