곰

서버 구성에 대해서 조언을 구합니다.


현재 호스팅업체에서 단독서버 2대(A, B서버)를 사용중이며
각각 서버에서 (웹+DB) 동시에 사용하며 

한 쪽은 운영, 한쪽은 이사준비 서버로 쓰고 있습니다.
7일백업기록 및 CDP백업하고 있습니다.

 

둘다 레이드가 되어 있지 않아서...
저는 몇년 사용하면서 물리적 에러를 2번 맞은 적이 있습니다.
그래서 물리적 에러 대비 및 db 중단 최소화 서버 이전을 위해서 

레이드 서버 1대(C서버)를 추가 구매했습니다.
- raid 1(미러링) 으로 디스크 에러 대비

나머지 단독 서버 2대중에서 
A서버: maridb master 서버
C서버(레이드): 웹서버 + db slave

B서버: 웹서버 os,데몬 업데이트, db서버(os, 또는 중요 데몬 업데이트) 할때 필요할때마다 사용하는 여분서버

백업은 7일간 기록하고, CDP백업 하고 있습니다.

저의 요구사항은 
1. 웹서버 디스크에러 대비 무중단 대응
2. db서버 에러 발생시 대응
3. 웹서버 os 대대적 업데이트시 대응 -> 이거는 여분서버에 os,apache2, php새로 설치후 소스를 붙여넣기로 이사하기
4. db서버 os업데이트필요시 master <--> slave로 해결

3번 웹서버의 os업데이트이슈 발생시 무중단 이전이 가능한 또 다른 좋은 방법이 있을까요?

이런 구성은 어떨까요?
저는 초보자라서 이것도 서버 구성을 처음 생각하게 되었습니다. 
경험이 있으신 분들의 조언을 듣고 싶습니다.
(클라우드는 아직 고려하고 있지 않습니다.)

 

|

댓글 13개

이런 인프라에 관련된 부분 ai가 잘 하는 부분입니다. 사용하시는 ai 가 있을텐데 질문해 보세요. 

클라우드가 훨씬 편하고 저렴한 부분도 있는데 왜 고려하지 않으신가요? aws lightsail 은 가격도 저렴합니다. 기본 트래픽도 혜자입니다.

답변 주셔서 감사합니다.

몇 년전에 aws로 이전해보려고 시도를 해봤는데...

첫번째 설정이 어려웠고 두번째는 그때 스트리밍서비스를 하고 있었는데... 트래픽비용이 감담이 안될 것 같아서 접었습니다.

지금도 거의 비슷한 이유이기도 합니다.(백업,영상 서버를 따로 둘까도 고민이 되긴하는데... ) 

아직은 확신이 안서네요. 

인프라는 네트워크 구성부터 정하는 것이 좋아요.
3대의 서버에 Public IP가 붙을 수 있는지, Private IP로 3대를 묶을 수 있는지, 인데
어느정도 OS를 다를 수 있는 중급 사용자라면 저는 windows server 사용을 추천합니다.
 

답변 감사합니다. 

public ip, private ip를 알게 되었네요. 

우분투를 벗어날수 없네요.

님의 요구사항(1~4)은 타당하지만,
웹 계층을 '대기 서버'가 아니라 '동시에 운영되는 동일 노드'로 바꾸지 않으면
1번과 3번은 계속 불안정할 걸로 보입니다.

레이드를 하나 더 두고 장애 시 복구하는 방향보다,
레이드는 디스크 보호 용도로만 두고 서비스 구조를 바꾸는 쪽은 어쩔까 싶습니다.
웹은 동일한 상태의 서버를 2대 이상 항상 서비스 가능하게 유지하고,
디비는 마스터/스레이브로 구성한 뒤 장애나 업뎃이 발생하면
복구 대신 트래픽만 다른 노드로 전환하는 방식으로 운영하시는 게 운영 안정성/난이도에서 유리하다 봅니다.

한 마디로,
'복구'가 아니라 '전환'을 기준으로 설계하고,
이를 위해 동일 상태의 노드를 동시에 운영하여 언제든 트래픽을 넘길 수 있게 만드는 것입니다.

제가 초보라 정확히 이해한건지는 모르겠습니다.

로드밸런스를 앞단에 놓고 서버 2대를 묶어서 해보려고 시도를 했지만...

웹서버 동기화에서 그냥 포기했습니다. 

 

서버 구성을 보니 초보 수준은 아닙니다. 
####현재 구조 평가
-구성:
A 서버 → DB Master
C 서버 → RAID + Web + DB Slave
B 서버 → 여분

-이 구조의 장점:
DB 장애 대응 가능 (Master ↔ Slave)
물리 디스크 대비 OK (RAID1)
백업 OK

 -아쉬운 점:
1. Web 서버는 단일 구조 → 장애 시 영향 있음
2. 무중단 배포 구조가 없음
3. 트래픽 분산 없음
====

##추가 개선 포인트
1. 웹서버도 RAID 적용
-현재 C만 RAID → A/B도 필요
2. 백업 전략 보완
현재:
7일 백업 + CDP
추가:
외부 백업 (다른 서버)
DB Dump + Binary Log
3. 모니터링
추천:
Prometheus + Grafana
Netdata

=====

##최종 추천 아키텍처
         [사용자]
             ↓
     [Nginx Load Balancer]
        ↓           ↓
   [웹서버1]     [웹서버2]
        ↓           ↓
        [DB Slave (C)]
             ↓
        [DB Master (A)]
             ↓
        [백업 서버 (B)]

거의 저의 현실적인 고민을 알려주셨네요.
1.웹서버: 장애는 디스크장애만 고려했음(웹서버 이중화는 아직 자금 및 실력미진)
2.무중단배포는 dns cloudeflare 사용으로 수분내에 서버를 바꿀수 있다고 해서... 이걸 사용하기로...

3.트래픽분산: 아직 트래픽 걱정할 정도로 사용자가 없어서.. 이거는 패스 했습니다.

 

아직 이용자가 많지 않아서...
웹서버 운영하면서 장애를 맞은게...
- 디스크에러 2번

- php-fpm에러 3번(php-fpm. 재시작 성공), 이거는 그냥 모니터링하고 대응하기로

 

조언 감사합니다. 
 

 

저는 공유호스팅(ssh 사용불가)을 사용하다가 현재는 네이버클라우드 가상서버를 사용중입니다.
전에 aws 가입해서 뭐가 뭔지 모르는 상태에서 만져보다가 요금 폭탄을 맞은 적이 있습니다.
네이버도 사용한 만큼내는 종량제가 많지만 정액제도 있더군요.
8만대 정액제인데 부가세 합하면 9만원대입니다.
한글 설명도 잘되어있고 다소 비싸기는 하지만 예상외의 과다 요금이 나오지 않아서 안심입니다.(몰론 부가서비스는 종량제라 요금폭탄의 가능성은 있습니다)
서버설치, 이전, 보안등은 AI에 물어보면 상세히 알려줍니다.
ssh, 클로드코드를 사용하니까 편하고 좋습니다.

저랑 aws 같은 경험이네요...

뭐가 뭔지도 잘 모르겠고... 

설치하려다고 트래픽 요금을 보고 
내가 했다가는 큰일나겠다 생각이 들어서 접었습니다.

 

서버 2대를 쌍둥이 서버로 완전 동일하게 세팅
서버2대 + 아이피 한개 추가 = 총 아이피는 3개, 서버는 2대

# 서버 설정 

keepalive (아이피 맵핑용, 둘중 서버가 한대 죽어도 서비스 멈추지 않게)
haproxy ( Load Balancer )

그 아래 세팅은 웹서버 세팅 자유롭게 하시면 됩니다.


memcached -> 세션공유

rsync, lsyncd(자동공유)

 

이렇게 하시고 ai한테 물어보면 자세하게 설명해줍니다. 서버를 운영하시는분들의 최대 고민이 서버 한대가 죽어도 서비스가 되야 하는데 이렇게 하면 서버 2대가 한번에 죽지 않는 이상 서비스는 계속 유지가 됩니다.

 

그리고 서버3대를 이용할거면 한대는 idc가 틀린 다른 지역에 세팅하는것도 추천 드려요 

 

답변주신 내용에서 추가 해결책을 찾은 것 같네요...
vip를 신청후 추가작업을 진행해봐야겠습니다.
답변 감사합니다.
좀더 나은 서버구성이 될 것 같네요. 🙏

혹시나 도움이 되는 사람이 있을까 해서 저의 상황을 좀더 자세히 적어 놓겠습니다.
답글을 보고 VIP를 적용을 하려고 시도를 했다가... 저의 상황을 좀더 명확하게 인지하게 되었습니다. 

현재 로드밸런스서비스를 사용중이며
로드밸런스에 웹서버 2대가 묶여있었는데...
어제 레이드서버 1대를 추가하면서 로드밸런스에 있던 웹서버를 로드밸런스에서 제외시켰습니다.

그러다 VIP적용 관련 댓글을 받고 다시 VIP적용하려다가 저의 상황에서 이거는 안 맞다는  이유를 좀더 명확하게 찾게 되었습니다.

저는 웹서버 2대에서 1대는 운영을하고(사이트 3-4개정도)
1대는 최신 os로 개발을 하는 편인데...

로드밸런스로 무중단을 잘 사용하려면
운영서버(A) -> 대기서버(B)로 이사를 하려면...

운영중인 사이트 모두를 이사완료후에 vip 를 변경할수가 있습니다.

이러면 저에게는 작업이 넘 많아서 이사를 아예 못할 것 같더라고요..
시급한 것 부터하고 이사하고, 나머지는 그대로 두고 나중에 이사가 완료가 되면 B서버가 완전 운영되는 서버이고

A에서 운영하는 사이트가 전혀 없게 되면 A서버를 os 업데이트후 대기 및 개발서버로서 사용

이런게 저의 상황에 필요하다는 것을 오늘 깨달았네요. 
db는 독립으로 빼고 master, slave로 설정을 마쳤습니다.

 

혹시나 해서 적어놓습니다.

댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

203,284건
+
제목 글쓴이 날짜 조회
04-24 조회 499
04-24 조회 391
04-24 조회 425
04-24 조회 581
04-24 조회 406
04-24 조회 499
04-23 조회 405
04-23 조회 432
04-23 조회 552
04-23 조회 473
04-23 조회 415
04-23 조회 400
04-22 조회 549
04-22 조회 417
04-22 조회 619
04-22 조회 476
04-22 조회 366
04-22 조회 356
04-22 조회 363
04-22 조회 1,516