MySQL/Class(40)
-
HA 구성 - (5) MHA : ERROR편
# 구성을 마치고 테스트를 진행 하던 중 발생된 각종 에러에 대해 정리를 해보도록 하겠습니다. $ su - mhauser $ /usr/local/bin/masterha_check_repl --conf=/etc/mha.cnf (1) Redundant argument in sprintf at NodeUtil.pm # 해결 $ vi /usr/local/share/perl5/5.32/MHA/NodeUtil.pm - 아래 빨간 글씨를 추가해 줍니다. sub parse_mysql_version($) { my $str = shift; ($str) = $str =~ m/^[^-]*/g; 추가 my $result = sprintf( '%03d%03d%03d', $str =~ m/(\d+)/g ); return $resu..
2024.01.19 -
HA 구성 - (4) MHA
1. 호스트 설정(manager-master-slave) $ cat /etc/hosts 172.16.173.138 manager 172.16.173.130 master 172.16.173.132 slave1 172.16.173.133 slave2 172.16.173.134 slave3 2. mha 다운로드 mha4mysql-node-0.57.tar.gz : manager, master, slave 설치 mha4mysql-manager-0.57.tar.gz : manager 설치 3. 패키지 설치(manager-master-slave) $ yum install -y net-tools sysstat lrzsz lsof htop iftop rsync bzip2 unzip patch syslog $ yum in..
2024.01.18 -
HA 구성 - (3) replication의 동작원리
1. replication 이란 DB를 복제하는 것을 의미합니다. MySQL의 안정성을 높이기 위해 source-replica 의 관계로 사용을 하고 장애 발생시 빠른 대처가 가능하기 때문에 서비스 운영에 있어서 꼭 필요한 기능(?)입니다. 2. replication 방식 비동기 방식(async) : source 는 replica 의 데이터 동기화 여부에 관여하지 않습니다. - 처리 속도가 빠르지만 데이터의 안정성이 동기방식에 비해 낮습니다. 동기 방식(semi-async) : source 는 replica 의 relaylog 까지 확인하여 동기화여부에 관여를 하게 됩니다. - 처리 속도는 느리지만 데이터의 안정성은 높습니다. 3. replication 동작 원리 source 에서 DML 작업이 발생, ..
2024.01.08 -
HA 구성 - (2) 운영 서버
# 운영 서버는 사용 중인 데이터가 이미 존재하기 때문에 신규 서버처럼 binlog 와 position값으로만 복제를 해서는 안됩니다. 먼저 운영서버(master)의 데이터를 가져와서 HA 구성을 해야 합니다. 1. 백업본 모든 전체 데이터가 백업되었다고 가정하였을 때 dump로 가져오던지, 파일 복사를 이용하던지 어떤 방법을 사용하던 운영서버에는 어떠한 영향을 주지 않기 때문에 가장 깔끔하게 HA를 구성할 수 있는 방법입니다. 아래 내용들을 참고하여 백업본에서 작업을 하는 것을 추천 드립니다. 2. 파일 복사 - 운영 DB가 shutdown 된 상태에서 파일 복사가 이뤄져야 해야하기 때문에, 작업을 진행하는 동안 서비스를 중지할 수밖에 없습니다. # Master (1) 운영 DB shutdown (2)..
2024.01.06 -
HA 구성 - (1) 신규 서버
# 신규 서버에 처음 HA 구성(비동기 방식)하는 과정입니다. # 서버는 총 4대이며 1 Master - 3 Slave로 구성할 것이지만, 본 글은 slave 1대만 설명 할 예정입니다. 1. HA 구성방식 동기 방식 비동기 방식 Master 는 Slave의 relay 로그까지 동기화여부를 판단한다. Slave 의 데이터 동기화까지 관여하기 때문에, 응답속도가 느리나, 데이터의 안정성은 좋다. Master 는 Slave가 데이터 동기화가 되었는지 알 필요가 없다. 응답속도가 빠른 장점을 가지고 있으나 데이터안정성이 동기방식에 비해 좋지 못하다. - 참고로 5.7 이전 버전에는 master-slave 라고 지칭 하였지만, 8.0 부터는 source-replica 로 변경되었습니다. - 5.7 버전도 사용을..
2024.01.04 -
M2(Mac)용 VMWare로 가상화 만들기 - (5) 복제
# 앞서 MySQL이 설치된 가상 서버 셋팅을 완료하였습니다. # 이 서버를 일괄 복제하여 변경해야할 부분들을 확인해 보겠습니다. # 작업전 가상서버를 shutdown 후에 진행하겠습니다. 1. 파일 복사 - 설치한 가상 서버 파일 복사 2. 패키지 내용 보기 & 수정 - 파일/폴더명 : test02 -> test03 수정 - test03 실행 후 I Copied it 선택 - 화면 상단바를 보면 test02이라는 이름으로 실행되어, OS 종료후 VMWare 실행창 화면에서 Rename 후 재실행 - 상단바가 test02에서 test03으로 바뀌었는지 확인 3. OS 수정 - HostName 수정 $ hostnamectl set-hostname test03 $ hostname 4. MySQL 수정 - m..
2023.12.29