리눅스에 NLBC가 있나요 ? 구현은 어떻게 되나요 ?

ljh0431의 이미지

windows 2003 server에 네트워크 로드 균형 조정 클러스터(NLBC)라는 부분이 있습니다.
클러스터 공유ip를 할당해서 클러스터링을 구현하는 것 같습니다.
리눅스에도 windows 2003 server의 위 기능이 있나요 ?

그리고 추가적으로,
클러스터링의 이해를 위해서 어떻게 내부적으로 구현이 되는 건가요 ?
클러스터 공유ip 1개에 여러 대의 서버가 연결되어 있는 경우 각 서버는 모두 같은 프로그램으로 복제되 있어야 하나요 ?
마치 DNS의 라운드로빈과 같은 형태인가요 ?
외부에서 접근은 클러스터 공유ip로만 접근하고 내부적으로는 ip와 포트를 연결유지시켜주면서 각 서버에 일을 할당하는건가요 ?
일반 프로그램,제가 개발한 프로그램도 웹서버나 ftp서버처럼 NLBC가 구현이 되는 건가요 ?
질문이 많네요.
궁금하군요.

수고하세요.

preisner의 이미지

비슷한 것으로 LVS 가 있습니다.
http://www.linuxvirtualserver.org/
piranha 라고 LVS 를 기반으로 Redhat 에서 패키징한 제품도 있습니다.
http://www.redhat.com/software/rha/cluster/piranha/
UltraMonkey 도 있습니다.
http://www.ultramonkey.org/

controller 로 LVS를 사용하든, NLBC를 사용하든간에 node 단에는 차이가 없을 겁니다. NLBC를 사용해 보지 않아 확실하게 답변 드리기는 어렵겠네요.
LVS 에서는 아래과 같은 방식이 지원 됩니다.
1.NAT
2. tunneling
3. Direct routing.
일반적으로 NAT 방식을 가장 많이 사용하고 있고, 방화벽 또는 L4나 application 스위치 같은 네트워크 장비에서도 기본적인 운영 모드 입니다.
node에서 설정할 사항이 없기 때문에 설정하기가 간단하고 운영하기도 편합니다.

내부적인 구현에 대해서는 양이 꽤 되서 여기서 답변 드리기가 좀 어려울 것 같네요. 직접 자료와 그림을 보면서 이해를 하시는게 좋겠습니다.
질문하신 내용들은 위의 어떤 운영 모드로 운영되느냐 따라 답변이 달라 집니다.

"클러스터 공유ip 1개에 여러 대의 서버가 연결되어 있는 경우 각 서버는 모두 같은 프로그램으로 복제되 있어야 하나요 ?"
네, 동일한 프로그램들이 설치되어 있어야 동일하게 처리 되겠죠?

"마치 DNS의 라운드로빈과 같은 형태인가요 ?"
DNS 라운드 로빈도 네트워크 부하 분산/클러스터링 방식 중 하나 입니다. 부하를 분산 시켜주는 방식에는 여러가지가 있습니다.

"외부에서 접근은 클러스터 공유ip로만 접근하고 내부적으로는 ip와 포트를 연결유지시켜주면서 각 서버에 일을 할당하는건가요 ?"
네, 먼저 컨트롤러에 접속하고 컨트롤러는 내부 node를 선택해서 연결 해 줍니다. 하지만 연결된 이후 처리 방법은 운영 모드에 따라 달라 집니다.

"일반 프로그램,제가 개발한 프로그램도 웹서버나 ftp서버처럼 NLBC가 구현이 되는 건가요 ?"
네, 일반적인 네트워크 application 이라면 별 문제 없이 운영 될겁니다. 하지만 http 같이 세션을 별도로 처리 해야 하는 프로토콜이라면 세션 문제가 있을 수 있습니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.