LVS 로드 밸런싱 클러스터 ---NAT 모드

6058 단어

군집하다


클러스터링은 단일 서버와 구분하기 위해 대량의 서버 집합체를 나타냅니다.일반적으로 하나의 액세스 포털(도메인 이름 또는 IP 주소)만 제공하며 대외적으로는 하나의 전체로 나타난다.

클러스터의 세 가지 유형:

  • 로드 밸런싱 클러스터링: 애플리케이션 시스템의 응답 능력을 향상시키고 가능한 한 많은 액세스 요청을 처리하며 지연 시간을 줄이는 것을 목표로 하고 병렬적이고 높은 로드 정리 성능을 제공합니다.예를 들어, DNS 폴링, 레이어 스왑 적용, 프록시 대칭 이동..
  • 고가용성 클러스터링: 애플리케이션 시스템의 신뢰성을 높이고 가동 중단 시간을 최소화하는 것을 목표로 하여 서비스의 연속성을 확보하고 고가용성 오류를 방지합니다.예를 들어, 페일오버, 이중 핫 스페어, 다중 핫 스페어..
  • 고성능 연산 군집: 응용 시스템의 CPU 연산 속도를 높이고 하드웨어 자원과 분석 능력을 확장하는 것을 목표로 대형, 슈퍼컴퓨터에 해당하는 고성능 연산 능력을 얻는다.예를 들어 클라우드 컴퓨팅, 격자 컴퓨팅.고성능 컴퓨팅 클러스터링의 고성능은 분산 컴퓨팅과 병렬 컴퓨팅에 의존하며, 전용 하드웨어와 소프트웨어를 통해 여러 서버의 CPU, 메모리 등 자원을 통합하여 대형, 슈퍼컴퓨터에서만 사용할 수 있는 컴퓨팅 능력을 실현합니다

  • 로드 밸런싱 계층 구조:


    전형적인 부하 균형군 집중은 세 가지 차원의 구성 요소를 포함한다.프런트엔드에는 최소한 하나의 부하 스케줄러가 클라이언트의 접근 요청에 응답하고 나누어 준다. 백엔드에는 대량의 실제 서버로 구성된 서버 탱크가 있어 실제 응용 서비스를 제공한다. 전체 군집의 신축성은 서버 노드를 증가하고 삭제함으로써 이루어진다. 이러한 과정은 클라이언트에게 투명하고 서비스의 일치성을 유지하기 위해 모든 노드는 공유 저장 장치를 사용한다.
  • 1층, 부하 스케줄러: 이것은 전체 군집의 유일한 입구이고 모든 서버에 공유된 VIP(가상 IP) 주소를 대외적으로 사용하며 군집 IP 주소라고도 부른다
  • 2층, 서버 풀: 클러스터가 제공하는 응용 서비스는 서버 풀에서 책임지고 그 중의 각 노드는 독립된 RIP(실제 IP) 주소를 가지고 스케줄러가 나누어 주는 클라이언트 요청만 처리한다..
  • Tier 3, 공유 스토리지: 서버 풀의 모든 노드에 안정적이고 일관된 파일 액세스 서비스를 제공하여 전체 클러스터의 통일성을 보장합니다

  • 로드 밸런싱 작업 모드


    클러스터링된 로드 스케줄링 기술은 IP, 포트, 컨텐츠 등을 기반으로 배포할 수 있으며 IP 기반의 효율성이 가장 높습니다.IP 기반의 부하 균형 모델에서 흔히 볼 수 있는 것은 주소 변환, IP 터널과 직접 루트 세 가지 작업 모델이다.
  • 주소 전환: NAT 모드라고 약칭하는데 방화벽의 개인 네트워크 구조와 유사하다. 부하 스케줄러는 모든 서버 노드의 스위치, 즉 클라이언트의 방문 입구이자 각 노드가 클라이언트의 방문 출구에 응답한다.서버 노드는 개인 IP 주소와 부하 스케줄러를 사용하여 같은 물리적 네트워크에 위치하고 안전성은 다른 방식보다 우수하다
  • IP 터널: TUN 모드라고 약칭한다. 개방적인 네트워크 구조를 사용하고 부하 스케줄러는 클라이언트의 접근 입구로서만 사용되며 각 노드는 각자의 인터넷 연결을 통해 클라이언트에게 직접 응답하고 부하 스케줄러를 거치지 않는다.서버 노드는 인터넷의 서로 다른 위치에 분산되어 독립된 공망 IP 주소를 가지고 전용 IP 터널을 통해 부하 스케줄러와 서로 통신한다
  • 직접 경로: 약칭 DR 모드라고 하는데 반개방적인 네트워크 구조를 사용하고 TUN 모드와 구조가 유사하지만 각 노드는 각지에 분산되어 있지 않고 스케줄러와 같은 물리적 네트워크에 위치한다.로드 스케줄러와 각 노드 서버가 로컬 네트워크를 통해 연결되므로 전용 IP 터널을 구축할 필요가 없습니다

  • 상기 세 가지 모델 중에서 NAT 방식은 공망 IP 주소 하나만 있으면 가장 사용하기 쉬운 부하 균형 모델이 되고 안전성도 비교적 좋다. 많은 하드웨어 부하 균형 설비가 이런 방식을 사용한다.비교해 보면 DR 모드와 TUN 모드는 부하 능력이 더욱 강하고 적용 범위가 넓지만 노드의 안전성은 약간 떨어진다.

    LVS 가상 서버


    LVS 가상 서버는 Linux 커널을 대상으로 개발된 부하 균형 프로젝트로 실제 IP 주소를 바탕으로 하는 가상화 응용에 해당하며 IP 주소와 내용을 바탕으로 배포를 요청하는 부하 균형에 효율적인 해결 방법을 제시했다.LVS는 이제 Linux 커널의 일부로 기본 ip_로 컴파일되었습니다.vs 모듈, 필요할 때 자동으로 호출할 수 있습니다.

    시스템 환경

  • 부하 스케줄러(게이트웨이): 내망: 192.168.100.1 외망: 12.0.0.1
  • 웹 서버 1:192.168.100.26 웹:apache
  • 웹 서버 2:192.168.100.27 웹:apache
  • NFS 서버(스토리지): 192.168.100.29
  • win7 클라이언트: 12.0.0.10

  • NFS 서버: 192.1688.100.29


    1. 설치(기본값은 이미 설치됨)

    # 
    rpm -q nfs-utils rpcbind

    2. 설치되지 않으면 다음 명령을 사용하여 설치

    yum install -y nfs-utils rpcbind

    3. 서비스 시작

    systemctl start rpcbind.service
    systemctl restart nfs.service

    4. 공유 디렉터리를 만들고 사용자 권한 수정

    mkdir -p /data/web1 /data/web2
    chmod 777 /data/web1 /data/web2

    5. 프로필 편집

    vi /etc/exports

    /data/web1 192.168.100.0/24 (rw,sync) #192.168.100.0/24 네트워크 읽기, 쓰기, 동기화/data/web1 디렉터리/data/web2 192.168.100.0/24 (rw,sync) #192.168.100.0/24 네트워크 읽기, 쓰기, 동기화/data/web2 디렉터리

    6. 게시 공유

    exportfs -rv

    7. 방화벽 및 selinux 닫기

    setenforce 0
    systemctl stop firewalld.service

    웹 서버 1:192.168.100.26


    1. 아파치 설치

    yum install -y httpd

    2. 클라이언트 보기, 마운트

    showmount -e 192.168.100.29
    mount.nfs 192.168.100.29:/data/web1 /var/www/html

    3. 기본 첫 페이지 파일 만들기

    echo "

    this is web1 site.

    " > /var/www/html/index.html

    4. 서비스 시작

    systemctl enable httpd.service
    systemctl start httpd.service

    5. 방화벽 및 selinux 닫기

    setenforce 0
    systemctl stop firewalld.service

    테스트


    웹 서버 2:192.168.100.27 웹:apache


    1. 아파치 설치

    yum install -y httpd

    2. 클라이언트 보기, 마운트

    showmount -e 192.168.100.29
    mount.nfs 192.168.100.29:/data/web2 /var/www/html

    3. 기본 첫 페이지 파일 만들기

    echo "

    this is web2 site.

    " > /var/www/html/index.html

    4. 서비스 시작

    systemctl enable httpd.service
    systemctl start httpd.service

    5. 방화벽 및 selinux 닫기

    setenforce 0
    systemctl stop firewalld.service

    테스트


    부하 스케줄러(게이트웨이): 외부 네트워크: 12.0.0.1 내부 네트워크: 192.168.100.1


    1. 라우팅 전달 기능 활성화

    vim /etc/sysctl.conf
    net.ipv4.ip_forward=1

    2. 구성 적용

    sysctl -p

    3. 방화벽 비우기 및 snat 주소 변환 설정


    iptables -t nat -Fiptable -Fiptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-sourcec 12.0.0.1

    4. LVS 커널 모듈 로드

    modprobe ip_vs

    5. ip_ 보기vs 모듈 버전

    cat /proc/net/ip_vs

    6. 관리 소프트웨어 설치

    rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm

    7.centos7 이후에는 반드시 저장한 후에 서비스를 시작해야 합니다. 그렇지 않으면 오류가 발생할 수 있습니다

    ipvsadm-save  > /etc/sysconfig/ipvsadm
    systemctl start ipvsadm

    8. 가상 서버 만들기


    #ipvsadm-C#가상 서버 추가 rr(윤문)의 부하 균형 알고리즘 ipvsadm-A-t 12.0.0.1:80-sr#실제 서버 노드 추가, 각각 웹1, 웹2 서버 ipvsadm-a-t 12.0.0.1:80-r192.168.100.26:80-mipvsadm-a-t 12.0.1:80-r192.168.100.27:80-m

    9. 클러스터 노드 상태 보기(Masq: 클러스터 모드가 NAT이고 Router인 경우 DR 모드)

    ipvsadm -ln

    10. selinux 닫기

    setenforce 0

    테스트


    win7 테스트 클라이언트: 클라이언트는 ping 스케줄링 서버 클라이언트가 스케줄링 서버에 접근할 수 있으며, 이미 윤문 접근을 실현했다

    좋은 웹페이지 즐겨찾기