Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
무정지 웹서비스 구성

https://blog.zeroidle.com
무정지 웹서비스 구성
1

서비스 개요 및 하드웨어 선정
1.1

4

1.2
2

서비스 개요
하드웨어 선정

6

네트워크 인터페이스 이중화
2.1

3

CARP설정

8

웹서비스 설치 및 테스트
3.1

Ngi...
서비스 개요 및 하드웨어 선정

무정지 웹서비스 구성 - 3
서비스 개요
서비스 구성
두 대의 서버를 이용하여 Active/Standby 무정지 웹서비스를 구성하도록 합니다.

구성

L2스위치 하단에 두 대의 서버가 물리적으로 연결되어 있으며 각각 IP가 할당되어 있습니다.
또...
LB-1, LB-2의 장애와 상관없이
두 서버중 한대만 살아있더라도 VIP로 접속이 가능하므로
이러한 구성을 HA(High Availability)라 부릅니다.

무정지 웹서비스 구성 - 5
하드웨어 선정
(주)윈퍼스트(http://winfirst.co.kr/)에서 판매하는 Intel WR1302 서버 2대로 구성하였으며
상세 스펙은 아래와 같습니다.
Intel Server Board S1200BTL
Int...
네트워크 인터페이스 이중화

무정지 웹서비스 구성 - 7
CARP설정
서비스구성에서 보았던 VIP를 셋팅해보도록 하겠습니다.

CARP 설정

LB-1에 접속하여 /etc/rc.conf 파일을 에디터로 열어서 아래 내용을 추가해 줍니다.
cloned_interfaces="ca...
웹서비스 설치 및 테스트

무정지 웹서비스 구성 - 9
NginX 설치
portsnap fetch extract
portsnap fetch update
위 명령을 통해 FreeBSD의 ports를 최신으로 업그레이드 합니다.

NginX 설치

cd /usr/ports/ww...
NginX 시작

/usr/local/etc/rc.d/nginx start 명령으로 NginX를 시작합니다.
이런... 시작할 수 없다고 나오네요
/etc/rc.conf에 nginx_enable="YES" 행을 추가한 ...
웹페이지 접속확인

LB-2가 MASTER가 되었으므로 페이지 또한 LB-2로 바뀌었네요
어렵지 않죠?
저렴한 비용으로 웹서버를 이중화해보았습니다.
감사합니다.

무정지 웹서비스 구성 - 12
Upcoming SlideShare
Loading in …5
×

무정지 웹서비스

728 views

Published on

FreeBSD HA Configuration

Published in: Self Improvement

무정지 웹서비스

  1. 1. 무정지 웹서비스 구성 https://blog.zeroidle.com
  2. 2. 무정지 웹서비스 구성 1 서비스 개요 및 하드웨어 선정 1.1 4 1.2 2 서비스 개요 하드웨어 선정 6 네트워크 인터페이스 이중화 2.1 3 CARP설정 8 웹서비스 설치 및 테스트 3.1 NginX 설치 10
  3. 3. 서비스 개요 및 하드웨어 선정 무정지 웹서비스 구성 - 3
  4. 4. 서비스 개요 서비스 구성 두 대의 서버를 이용하여 Active/Standby 무정지 웹서비스를 구성하도록 합니다. 구성 L2스위치 하단에 두 대의 서버가 물리적으로 연결되어 있으며 각각 IP가 할당되어 있습니다. 또한 각 서버에는 125.141.148.230(이하 VIP)가 공통적으로 셋팅되어 있는데, 평소에는 Oper-KR-LB-1(이하 LB-1)이 VIP를 가지고 있다가 장애가 나게되면 Oper-KR-LB-2(이하 LB-2)가 VIP를 가져오게 됩니다. 즉, 두 서버 모두 살아 있을 경우 LB-1이 Active상태이며 LB-2는 Standby상태라 지칭합니다. 만약 LB-1이 장애가 나게되면 LB-2가 VIP를 가지게 되며 이러한 전환과정을 Fail-over라 합니다. 이후 LB-1이 정상화되면 VIP를 다시 가져오는데 이 과정을 Fail-back이라 합니다. 무정지 웹서비스 구성 - 4
  5. 5. LB-1, LB-2의 장애와 상관없이 두 서버중 한대만 살아있더라도 VIP로 접속이 가능하므로 이러한 구성을 HA(High Availability)라 부릅니다. 무정지 웹서비스 구성 - 5
  6. 6. 하드웨어 선정 (주)윈퍼스트(http://winfirst.co.kr/)에서 판매하는 Intel WR1302 서버 2대로 구성하였으며 상세 스펙은 아래와 같습니다. Intel Server Board S1200BTL Intel Processor E3-1230v2 (8M Cache, 3.3Ghz, Max Turbo Freq. 3.6Ghz) DDR 3 Unbuffered ECC 4GB * 2EA SSD 120GB * 1EA SATA 2TB * 2EA 350W Single PSU 하드웨어 스펙 * 구매비용을 줄이기 위해 고가의 레이드컨트롤러를 구매하지 않고 Software RAID기능을 사용하도록 합니다. 무정지 웹서비스 구성 - 6
  7. 7. 네트워크 인터페이스 이중화 무정지 웹서비스 구성 - 7
  8. 8. CARP설정 서비스구성에서 보았던 VIP를 셋팅해보도록 하겠습니다. CARP 설정 LB-1에 접속하여 /etc/rc.conf 파일을 에디터로 열어서 아래 내용을 추가해 줍니다. cloned_interfaces="carp0" ifconfig_carp0="vhid 230 advskew 50 pass P@ssw0rd 125.141.148.230/27" LB-2에도 동일하게 셋팅해줍니다. cloned_interfaces="carp0" ifconfig_carp0="vhid 230 advskew 100 pass P@ssw0rd 125.141.148.230/27" 설정내용중 vhid(Virtual Host IDentification) 값과 P@ssw0rd로 셋팅된 pass값은 두 서버가 동일해야 하며, 이렇게 이중화된 여러개의 Pool이 있을 경우 vhid는 충돌나지 않게 정해아합니다. 저는 임의로 VIP 끝자리인 230으로 정했습니다. 그리고 advskew가 의미하는 것은 해당 서버들이 살아있을 때 작은 값으로 셋팅된 서버가 MASTER상태에 대한 우선순위를 갖는다는 뜻입니다. 즉, 두 서버 모두 정상상태 일경우 50으로 셋팅된 LB-1이 MASTER역할을 하게됩니다. 셋팅이 완료됐으면 저장후 리부팅을 하거나 네트웍인터페이스를 재시작해주세요 CARP 동작확인 CARP가 잘 동작중인지 ifconfig carp0 명령으로 확인해봅시다. LB-2의 advskew값이 100으로, LB-1의 50보다 숫자가 크므로 우선순위가 낮겠죠? 그러므로 carp상태가 BACKUP으로 나오는게 정상입니다. 만약 LB-1이 죽어있다면 LB-2의 carp상태가 자동으로 MASTER로 바뀌고 125.141.148.230 VIP또한 LB-2가 사용하게 됩니다. 무정지 웹서비스 구성 - 8
  9. 9. 웹서비스 설치 및 테스트 무정지 웹서비스 구성 - 9
  10. 10. NginX 설치 portsnap fetch extract portsnap fetch update 위 명령을 통해 FreeBSD의 ports를 최신으로 업그레이드 합니다. NginX 설치 cd /usr/ports/www/nginx 로 디렉토리를 옮겨, make config install clean 으로 설치합니다. 무정지 웹서비스 구성 - 10
  11. 11. NginX 시작 /usr/local/etc/rc.d/nginx start 명령으로 NginX를 시작합니다. 이런... 시작할 수 없다고 나오네요 /etc/rc.conf에 nginx_enable="YES" 행을 추가한 후 시작합니다. Index 페이지 만들기 LB-1에서 mkdir -p /usr/local/www/nginx echo "LB-1" > /usr/local/www/nginx/index.html 위 명령으로 인덱스 페이지를 만듭니다. LB-2 서버에서는 echo "LB-2" > /usr/local/www/nginx/index.html 위 명령처럼 인덱스 페이지를 다르게 만들어준다면 Fail-over가 잘 되는지 쉽게 확인할 수 있겠죠? 웹페이지 접속확인 LB-1이라고 적혀나오는걸보니 LB-1이 MASTER상태이군요 그럼 Fail-over가 잘 되는지 확인해봅시다. LB-1을 리부팅합니다. Fail-over 확인 LB-1이 리부팅되었으므로 LB-2가 MASTER상태가 되었음을 확인할 수 있습니다. ifconfig carp0 명령으로 확인 할 수 있습니다. 무정지 웹서비스 구성 - 11
  12. 12. 웹페이지 접속확인 LB-2가 MASTER가 되었으므로 페이지 또한 LB-2로 바뀌었네요 어렵지 않죠? 저렴한 비용으로 웹서버를 이중화해보았습니다. 감사합니다. 무정지 웹서비스 구성 - 12

×