>백엔드 개발 >PHP 튜토리얼 >lvs-dr 실험 설정

lvs-dr 실험 설정

WBOY
WBOY원래의
2016-07-28 08:28:13957검색

lvs-dr 실험 설정 2012-04-19 18:00:59

카테고리: LINUX

환경:
lvs 디렉터: 10.57.220.198:80 Ubuntu 10.04 LTS vmware virtual 머신
실제 서버1 10.57.220.195:80 Ubuntu 11.10 nginx 서버
실제 서버2 10.57.220.20:80 Ubuntu 11.10 nginx 서버
가상 IP(vip):10.57.220.144
1.ipvsadm 다운로드
3개의 머신에 각각 다운로드
apt-get install ipvsadm
2, ipvsadm 설정
dpkg-reconfigure ipvsadm
첫 번째 옵션은 no입니다(부팅 시 자동으로 ipvs 규칙을 로드하시겠습니까?)
두 번째 옵션은 없음




#!

/bin

/

    bash
  1. echo "1"
    >
  2. /
    proc
  3. /
  4. sys /net/ipv4/ip_forwardIPVSADM=
    '/sbin/ipvsadm'

  5. VIP=10
    .
  6. 57
  7. .
    220
  8. .
  9. 144RS1=10
    .
  10. 57
  11. .
    220
  12. .
  13. 20RS2=10
    .
  14. 57
  15. .
    220
  16. .
  17. 195

  18. ifconfig eth0
  19. :
  20. 1 $VIP 브로드캐스트 $VIP 넷마스크 255
    .
  21. 255
  22. .
    255
  23. .
  24. 255 up경로 추가 -host $VIP dev eth0
    :
  25. 1



  26. $IPVSADM
  27. -
  28. C /*가상 서버 정보 지우기*/

  29. $IPVSADM -
    A
  30. -
    t $VIP
  31. :
  32. 81 -srr /*가상 서버 레코드를 생성합니다. 예약 알고리즘은 rr입니다. http://www.it165.net/admin/html/201401/2248.html을 참조하세요. */$IPVSADM -
    a
  33. -
    t $VIP
  34. :
  35. 81 -r $RS1:81 -g -w 1 /*가상 서버에 물리적 머신 추가*/$IPVSADM -
    a
  36. -
    t $VIP
  37. :
  38. 81 -r $RS2:81 -g -w 1 /*가상 서버에 물리적 머신 추가*/chmod 777 lvs-dr.sh2) 실제 서버 스크립트모든 실제 서버에 동일 lvs-rs.sh 접거나 열려면 (
  39. 여기
)를 클릭하세요

  1. #!/bin/bash

  2. #설명 : RealServer

  3. #작성자:hugwww

  4. #마지막 모드:2009.1.24

  5. VIP=10.57.220.144

  6. /sbin/ifconfig lo:0 $VIP 방송 $VIP 넷마스크 255.255 .255.255 업

  7. /sbin/경로 추가-호스트 $VIP 개발자 lo:0

  8. 에코 "1" >/proc /sys/net/ipv4/conf/lo/arp_ignore /*대상 IP 주소가 방문 네트워크 인터페이스의 로컬 주소인 ARP 쿼리 요청에만 응답*/

  9. echo "2" >/proc/sys/net/ipv4/ conf/lo/arp_announce /*쿼리 대상에 가장 적합한 로컬 주소를 사용합니다. 이 모드에서는 이 IP 패킷의 소스 주소가 무시되고 해당 주소와 통신할 수 있는 로컬 주소를 선택하려고 시도합니다. 대상 IP 주소가 포함된 아웃바운드 액세스 서브넷의 모든 서브넷을 선택하는 것입니다. 적합한 주소를 찾을 수 없으면 현재 전송 네트워크 인터페이스 또는 ARP 응답을 수신할 가능성이 있는 다른 네트워크 인터페이스가 전송하도록 선택됨 */

  10. echo "1" >/proc/ sys/net/ipv4/conf/all/ arp_ignore

  11. echo "2" >/proc/sys/ net/ipv4/conf/all/arp_announce

  12. sysctl -p

  13. #end
chmod 777 lvs-rs.sh
4. 실행 및 테스트
해당 스크립트를 세 대의 머신에서 각각 실행
미리 시작하세요. nginx 서버
firfox access 10.57.220.144:81
ipvsadm -ln을 사용하여 상태를 확인할 수 있습니다
5. 문제에 주의하세요

Linux에서는 방화벽을 꺼야 합니다. , iptables입니다

각 서버의 포트는 일관성이 있어야 합니다. 그렇지 않으면 작동하지 않습니다. 예를 들어, 모두 포트 80이고 일부는 포트 80이 될 수 없고 일부는 포트 81이 될 수 있습니다.
이 경우 VIP와 실제 IP는 동일한 네트워크 세그먼트에 있습니다. VIP와 실제 IP는 서로 다른 네트워크 세그먼트에 있을 수 있습니다. Zhang 박사의 답변(http://zh.linuxvirtualserver.org/)을 참조하세요. 노드/155. 로드 스케줄러는 네트워크 포트만 있으면 되고 분할되지 않은 네트워크를 통해 실제 서버에 연결되어야 합니다. 실제 서버는 자체 라우터를 통해 클라이언트에게 응답 메시지를 보낼 수 있습니다.
스케줄링 알고리즘에 대한 자세한 내용은 http://zh.linuxvirtualserver.org/node/2903을 참조하세요.

아키텍처 참조 http://zh.linuxvirtualserver.org/node/28

위 내용은 다양한 측면을 포함하여 lvs-dr의 실험적인 설정을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.