[참고] LVS, piranha 세팅하기

문태준의 이미지

# 관련자료 및 사이트
http://www.linuxvirtualserver.org/ : lvs 사이트. HOWTO 문서에 상세한 설명이 나와있다.
http://tunelinux.pe.kr/virtual/ : LVS 사이트의 일부를 제가 번역한 내용. 기본 개념에 대한 이해에 도움이 될 것이다.
http://linux.clusterkorea.org/ 파일자료실에 lvs 관련 설치 문서들이 있다. ( [클러스터링자료]김영중 님의 서버 클러스터링 하우투 / [클러스터링자료]김진미님의 lvs 설치 정리 (레드햇 7.1 상에서) 등이 도움됨)
piranha : rpm에 들어있는 문서자료를 참고

# lvs
load balancer 에는 lvs 사이트에서 ipvs 커널 패치하고 ipvsadm 설치 (ipvsadm 은 srpm에서 패키징해서 사용해도됨)

로드밸런싱할 real server는 DR(Direct Routing)으로 쓸 경우에는 arp 문제로 커널에서 hidden 패치가 필요하다.
==> 그런데 커널 2.4.18, 20, 21등에서 패치를 하지 않아도 문제가 발생하지 않았다. 아니면 나중에 문제가 발생하려나?

# piranha
piranha는 레드햇에서 제공하는 LVS 세팅 프로그램으로 서버 모니터링, heartbeat 기능등이 별도의 프로그램없이 기본 제공이 된다. Redhat Advance Server 의 ftp에서 SRPM을 받아 RPM을 만들어 사용하면 된다.
사전에 apache, php가 설치되어 있어야 한다.

먼저 /usr/sbin/piranha-passwd 를 이용하여 piranha에 접속할 패스워드를 설정한다. 그리고 /etc/rc.d/init.d/piranha-gui 를 실행하여 piranha gui 에 접속한다. 처음 설치시 기본 port는 3636으로 웹으로 접속을 한다. 설정내용은 웹환경에서 쉽게 이해할 수 있다. 기본적으로는 lvs 세팅을 할 수 있으며 lvs 서버를 이중화하는 것도 가능하다. 여기서 세팅한 내용은 아래 파일에 저장이 된다.

/etc/sysconfig/ha/lvs.cf

rimary = 210.124.122.81
primary_private = 192.168.7.81
service = lvs
backup_active = 1
backup = 210.124.122.82
backup_private = 192.168.7.82
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = direct
reservation_conflict_action = preempt
debug_level = NONE
virtual www.tunelinux.pe.kr {
active = 1
address = 210.124.122.86 eth0:1
vip_nmask = 255.255.255.0
port = 80
persistent = 1800
pmask = 255.255.255.255
send = "GET / HTTP/1.0\r\n\r\n"
expEct = "HTTP"
load_monitor = none
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server www1.tunelinux.pe.kr {
address = 210.124.122.90
active = 1
weight = 100
}
server www2.tunelinux.pe.kr {
address = 210.124.122.91
active = 1
weight = 100
}
server www3.tunelinux.pe.kr {
address = 210.124.122.98
active = 1
weight = 100
}
}

이제 /etc/init.d/pulse start 하면 된다.

이중으로 구성한 경우 primary 의 네트워크 회선을 뽑으면 backup으로 넘어가고 다시 네트워크 회선을 연결하면 자동으로 primary로 넘어왔다. 그러나 pulse 를 stop 하고 다시 start 하는 경우에는 backup으로 넘어갔다가 다시 primary 로 넘어가지 않았다.

realserver 는 DR 알고리즘을 사용하는 경우 hidden 패치를 하고 loop device에 vip를 등록하여 사용하면 된다.

Forums: 
jw0717의 이미지

taejun wrote:
# 관련자료 및 사이트
이제 /etc/init.d/pulse start 하면 된다.

이중으로 구성한 경우 primary 의 네트워크 회선을 뽑으면 backup으로 넘어가고 다시 네트워크 회선을 연결하면 자동으로 primary로 넘어왔다. 그러나 pulse 를 stop 하고 다시 start 하는 경우에는 backup으로 넘어갔다가 다시 primary 로 넘어가지 않았다.

실제로 테스트를 해봤는데요.

primary 에서 pulse restart하니까 backup으로 잘넘어갔는데요.

그럼 만일 또 리얼 웹서버를 추가나 변경할일이 있어서

primary로 돌릴려면 어떻게 해야하는지요..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.