|
[필독] 처음 오시는 분을 위한 안내 (737) |
정은준1 |
2014-05 |
5260056 |
0 |
2014-05
5260056
1 정은준1
|
|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1784844 |
25 |
2015-12
1784844
1 백메가
|
111706 |
이 IC의 정체를 모르겠습니다. 아시는분... (6) |
안형곤 |
2013-10 |
7527 |
0 |
2013-10
7527
1 안형곤
|
111705 |
윈도우정품인정에 대해서 여쭤봅니다. (18) |
굴렁쇠 |
2019-08 |
5000 |
0 |
2019-08
5000
1 굴렁쇠
|
111704 |
X5650 ea2 있는데 괜찮은 cpu인가요? (6) |
Jgon |
2020-11 |
4657 |
0 |
2020-11
4657
1 Jgon
|
111703 |
win10 설치후, Z68 Extreme4 Gen3, ssd가 usb하드웨어 안전제거에 뜰때 (6) |
헌터D |
2019-08 |
3768 |
0 |
2019-08
3768
1 헌터D
|
111702 |
맥북프로.. 윈도우10 설치 (6) |
재마 |
2016-04 |
17664 |
0 |
2016-04
17664
1 재마
|
111701 |
centos6.4 에서 VM으로 WIN7_64를 설치했는데, 비디오점수가 나쁩니다. (3) |
jake |
2013-10 |
5476 |
0 |
2013-10
5476
1 jake
|
111700 |
서버 메모리 브랜드 혼용 상관 없나요? (6) |
뉴비덕후 |
2024-01 |
1843 |
0 |
2024-01
1843
1 뉴비덕후
|
111699 |
192.168.0.x 에서 마지막에 숫자중 특별히 예약된 번호가 있나요? (14) |
무아 |
2013-10 |
5980 |
0 |
2013-10
5980
1 무아
|
111698 |
프로그래밍 학습 질문드립니다 (5) |
다가도 |
2020-12 |
2377 |
0 |
2020-12
2377
1 다가도
|
111697 |
케이블 TV 신호 혼선 문제 (6) |
봉래 |
2022-06 |
2639 |
0 |
2022-06
2639
1 봉래
|
111696 |
945gm보드 + 메롬T5600 놋북의 cpu를 업글하려는데... (3) |
앵앵앵 |
2013-10 |
5813 |
0 |
2013-10
5813
1 앵앵앵
|
111695 |
e5450 호환 보드 질문드립니다. (2) |
v김호준v |
2015-03 |
4841 |
0 |
2015-03
4841
1 v김호준v
|
111694 |
BNC 케이블에서 RGB(D-Sub)로 바뀌주는 젠더를 찾고 있습니다. (5) |
김유중 |
2016-05 |
5138 |
0 |
2016-05
5138
1 김유중
|
111693 |
가상화 관련 질문입니다. (8) |
무느미 |
2011-04 |
8050 |
0 |
2011-04
8050
1 무느미
|
111692 |
vga 브라켓 구할수 있을까해서요.... (7) |
김건우 |
2016-05 |
5443 |
0 |
2016-05
5443
1 김건우
|
111691 |
편의점 택배 부피 어디까지 가능할까요? (9) |
행아범 |
2013-11 |
28998 |
0 |
2013-11
28998
1 행아범
|
111690 |
6핀 모듈러 케이블 추가 |
comduck |
2013-11 |
10781 |
0 |
2013-11
10781
1 comduck
|
111689 |
SQL 쿼리 질문입니다. (5) |
트니아빠 |
2019-09 |
3344 |
0 |
2019-09
3344
1 트니아빠
|
111688 |
마이크로닉스 TH110-HM (thin mini itx) 메인보드 7세대 인식 바이오스 구합니다. (3) |
포에버 |
2022-07 |
3431 |
0 |
2022-07
3431
1 포에버
|
111687 |
1u서버 택배가능한가요? (23) |
Lucyed |
2016-05 |
7712 |
0 |
2016-05
7712
1 Lucyed
|
윈도우 클러스터 쓰면 해결됩니다.
replication 기능이 있긴 합니다.
문제는 이게 완전동기화 방식은 아니고 한쪽에서 insert / update 가 일어나면 그것이 완료되고 나서 복제 DB에 복제를 하게 되므로
Async 방식으로 기록됩니다.
Windows / Linux / Unix OS 에 Cluster S/W 를 이용해 공유볼륨을 구성해 DB를 구성하면 Active 에서 장비가 죽을 경우, Active 장비를 Fancing 처리하고
Standby 에서 공유 볼륭을 붙이고 서비스를 계속하게 하는 방식입니다.
앞서 3노드 구성은 galera cluster 구성을 이야기 하시는 것 같습니다.
galera cluster 는 Oracle RAC 처럼 실시간 RW/RO 를 동시에 처리하게 만든 cluster 구성입니다.
그래서 Insert/update 와 search 를 분산함으로써 성능을 높이는 구조입니다.
이것은 좀 연구가 필요합니다.
엄청나게 무거운 쿼리가 아닌 이상 일반적 지연 시간 1초 미만이므로 실질적으로 동시에 처리된다고 볼 수 있는 수준이니까요
다만 동시에 너무 많은 쓰기가 발생했을때 무결성같은게 문제될꺼같네요
그리고 log를 standby로 복제해서 다시 dbspace에 기록하는데 mariadb도 replication검색하니까 나오네요.
그리고 보통 a는 읽고쓰고/s는 읽기만
--> 리눅스가 readhat 같은 상용 제품을 사용해야될거예요
스토리지 공유방식이라 스토리지가 san 이나 iscsi 같은 방식 필수
stand by 서버는 평소에는 사용할수 없죠
https://achchusnulchikam.medium.com/deploy-high-availability-cluster-on-rhel-8-using-shared-storage-b5af817784e2
방식 2 : mysql replication + 자동 fail over & proxy 방식
--> 몇가지 솔류션이 있으며, 무료/유료 각각 있지만, 이러한 방식은 손이 좀 많이 가는 방식이라, 신중히 생각하세요
stand by 서버를 평소에도 읽기 전용으로 사용 가능
공유하는게 전혀없고, 변경분을 active 서버(master)에서 stand by 서버(slave)로 전송해서, 반영하는 구조
그냥 mysql replication 만 적용해도 되긴하나, 장애시, 수동으로 전환해야되는 번거로움이 있고, ip 문제도 있어서,
보통 다운타임이 짧아야된다면, 자동 fail-over시켜주는 솔류션은 mysql 앞단에 구성하죠
https://severalnines.com/blog/how-to-automatically-manage-failover-mysql-database-moodle/
방식 3 : 클라우드로 전환
개인적으로는 이게 제일 속편한 방식이긴한데, 클라우드로 전환이라는 문제가 있긴하지만,
인프라 관리할 규모와 인력이 없고, 서비스 안정성이 중요하다면, 선택해볼만 하다고 보네요
방식 4 : 가상화 적용
유료 가상화 제품중에는 이런 장애 대응이 되는 라인업이 있을겁니다만,
이것도, 아마 비용이 들어 갈겁니다.
가상화라면 복수의 호스트에서 동일하게 VM돌려서 HA처리 되긴합니다
이미 아시다시피 Master 노드는 읽기/쓰기가 가능한 노드이고, Slave 는 읽기만 가능한 노드라서
제대로 사용해서 부하분산을 하려면 프로그램 레벨에서 읽기는 Slave 에서,
쓰기는 Master 에서 수행하도록 잘 설계해서 접속을 분산하도록 코딩해야 합니다.
그런데, 보통 프로그램에서 이런 부분을 지원하기 어렵기 때문에
대부분의 경우 Master 노드로만 연결해서 사용하고,
Slave 노드는 일종의 보험으로 데이타를 싱크하고 있다가
Master 가 죽으면 Slave 를 Master 복구용으로 사용하게 됩니다..
MSCS 처럼 쉽게 구현되고 안정성이 보장되는 솔루션이 그리 흔하지 않습니다. 리눅스 클러스터가 이론상은 전부 다된다고 말들은 많이 하지만 국내에서 그걸 지원해주고 리눅스(오픈소스라니까 다들 공짜라고 생각함) 유지관리와 장애시 지원받을수 있는 상황도 고려를 해봐야 합니다.
갤라라클러스터는 RDBMS에 사용될게 아니라 대량 접속과 시퀀스 안따지고 막 때려박는 DB일경우는 분산도 되고 아주 유용할거라고는 생각되지만 이것도 문제 발생시 지원받을수 있는 구조가 제대로 되어 있는가입니다.
리눅스로 할수있는건 많습니다. 그런데 현실은 그 비용에 누가 제대로 보장해줄것인가 이게 큰 장벽입니다.
복제방식도 제대로 고민해야 할게 이게 한번 틀어지면 저게 자동으로 맞춰주는가도 고민해봐야 되고 그걸 보장해주는 레퍼런스가 있는지가 생각해볼 문제입니다. 복제 이중화 솔루션이 제대로 보장 되는건 MSSQL AlwaysON이 현재로서는 대안이 이것뿐일겁니다.
MySQL 이나 MariaDB는 이중화 방식은 윈도우 클러스터를 선택하는것이 제일 안정적일겁니다.
> Mysql 을 A/S 구성하려면 mysql ent 로 가야하는걸로 알고있는데
엔터프라이즈 버전 아니어도 됩니다.
> 마리아 db를 알아보니 A/S 구성이 아닌 3 노드 구성으로만 인터넷에 나오는데
> 마리아 디비를 A/S 구성으로 할수 없는것인가요?
마리아DB로도 가능합니다.
오라클의 손아귀에 들어 있는 mysql을 별로 추천하고 싶지는 않지만,
고객사에서 쓰고 있다고 하니 DB 자체를 바꿀수는 없을테고..
초보자가 잘못 건드리면 DB 꼬이고 운영중인 DB를 날려먹을수도 있으니..
경험 많은 mysql dba 를 불러서 이중화 구성하면 되겠습니다.
장비 2대 세팅, master/slave 로 구성, slave 는 별도로 엑세스 하지 않음 (괜히 slave에 쿼리 날리다가 복제 깨먹는 경우가..)
대충 master 장애시
1. master 물리머신 off
2. slave 의 ip를 master ip 로 재설정 (ip관련해서는 가상ip 쓰면 편리합니다)
3. slave 의 role 을 master로 변경 (stop slave ... )
4. 서비스 재개
5. (구)master 장비 백업을 이용하여 재구성 및 slave 로 복제 시작
뭐 이런식으로 수십년전부터 하던 방식으로 하면됩니다. 그런데 dba불러서 작업하시는게 나으실 듯 합니다...