본문 바로가기

IPVSadm 사용법: 상태 확인과 고급 옵션으로 네트워크 트래픽 최적화하기

오토씨 2024. 10. 15.

ipvsadm 명령어는 IPVS(유연한 고성능 로드 밸런싱)를 제어하고 관리하기 위한 도구로, IPVS의 설정 상태와 로드 밸런싱 정보를 확인할 수 있는 다양한 옵션을 제공합니다. 아래는 ipvsadm의 주요 명령어와 옵션을 설명하며, 이를 통해 더 상세한 상태와 통계를 확인할 수 있습니다.

 

IPVSadm 사용법: 상태 확인과 고급 옵션으로 네트워크 트래픽 최적화하기

 

1. 기본 상태 확인

-L 또는 --list

  • 명령어: sudo ipvsadm -L
  • 설명: 현재 설정된 가상 서버(Virtual Services)와 리얼 서버(Real Servers)를 나열합니다.
  • 출력 정보:
    • 프로토콜(TCP, UDP, FWM)
    • 가상 서버의 IP와 포트
    • 스케줄러(Scheduler) 방식 (예: rr, wrr)
    • 리얼 서버의 IP, 포트, 전달 방식(Forwarding), 가중치(Weight), 연결 수

 

-L -n 또는 --list -n

  • 명령어: sudo ipvsadm -L -n
  • 설명: 기본 상태 확인과 동일하지만, IP 주소와 포트를 숫자 형태로 표시합니다. DNS 조회를 피하기 때문에 조회 속도가 더 빠릅니다.



2. 확장된 통계 확인

-L --stats 또는 --list --stats

  • 명령어: sudo ipvsadm -L --stats
  • 설명: 각 가상 서버 및 리얼 서버에 대한 트래픽 통계를 표시합니다.
  • 출력 정보:
    • 패킷 수(Packets) 및 바이트 수(Bytes)
    • 연결 수
    • 클라이언트와 리얼 서버 간의 데이터 흐름량을 확인할 때 유용합니다.

 

-L --rate 또는 --list --rate

  • 명령어: sudo ipvsadm -L --rate
  • 설명: 초당 패킷 전송 및 초당 바이트 전송 속도 등을 확인할 수 있습니다.
  • 출력 정보:
    • 초당 패킷 수(pps), 초당 바이트 수(bps)
    • 실시간 네트워크 트래픽 전송량 모니터링에 유용합니다.



3. 연결 테이블 정보 확인

-L -c 또는 --list --connection

  • 명령어: sudo ipvsadm -L -c
  • 설명: IPVS가 처리하는 현재 활성화된 연결의 목록을 표시합니다.
  • 출력 정보:
    • 연결된 클라이언트의 IP와 포트
    • 연결된 리얼 서버의 IP와 포트
    • 연결 상태 (TCP 연결의 경우, ESTABLISHED, CLOSE_WAIT 등)
    • 특정 클라이언트가 어떤 리얼 서버와 연결되었는지 확인할 때 유용합니다.



4. IPVS 구성 정보 백업 및 복원

-S 또는 --save

  • 명령어: sudo ipvsadm -S
  • 설명: 현재 IPVS 설정을 텍스트 형식으로 출력하여 백업할 수 있습니다.
  • 사용 예: 설정을 파일로 저장하려면 다음과 같이 사용할 수 있습니다:
    sudo ipvsadm -S > /path/to/ipvs_backup.conf
  • 이 파일을 나중에 복원하려면 ipvsadm -R 명령을 사용합니다.

 

-R 또는 --restore

  • 명령어: sudo ipvsadm -R < /path/to/ipvs_backup.conf
  • 설명: ipvsadm -S로 저장한 설정을 파일에서 읽어와 복원합니다.
  • 사용 예: 시스템 재부팅 후 설정을 자동으로 복원할 때 유용합니다.



5. 서비스와 서버의 상세 정보

-L --persistent-conn 또는 --list --persistent-conn

  • 명령어: sudo ipvsadm -L --persistent-conn
  • 설명: Persistent Connections (지속 연결)에 대한 정보를 보여줍니다.
  • 출력 정보: 지속적인 연결의 상태와 정보, 클라이언트가 특정 리얼 서버에 유지되는 연결에 대한 정보를 확인할 수 있습니다.

 

-L --timeout 또는 --list --timeout

  • 명령어: sudo ipvsadm -L --timeout
  • 설명: TCP와 UDP의 연결 타임아웃 값을 표시합니다.
  • 출력 정보:
    • TCP의 활성(Active) 및 비활성(Inactive) 타임아웃 값
    • UDP의 타임아웃 값



6. 라우팅 방식별 세부 정보

-L --daemon

  • 명령어: sudo ipvsadm -L --daemon
  • 설명: IPVS의 데몬 관련 정보를 표시합니다. 주로 IPVS의 내부 설정에 대한 정보를 볼 때 사용됩니다.



7. 디버깅 및 문제 해결 시 유용한 옵션

-L --exact

  • 명령어: sudo ipvsadm -L --exact
  • 설명: 각 서비스 및 서버의 정확한 패킷과 바이트 수를 보여줍니다. 기본적으로는 단위별로 패킷과 바이트 수를 나눠서 보여주지만, 이 옵션은 세부적인 수치를 확인할 때 사용합니다.



정리

  • 기본 정보 확인: sudo ipvsadm -L -n — IPVS의 현재 설정 상태를 빠르게 확인.
  • 통계 및 실시간 속도: sudo ipvsadm -L --statssudo ipvsadm -L --rate — 로드 밸런싱 서비스의 트래픽과 처리 속도를 모니터링.
  • 연결 상세 정보: sudo ipvsadm -L -c — 클라이언트와 리얼 서버 간의 현재 연결 상태를 조회.
  • 설정 백업 및 복원: sudo ipvsadm -Ssudo ipvsadm -R — IPVS 설정을 백업하고 복원.
  • 지속 연결 및 타임아웃 설정 확인: --persistent-conn--timeout — 지속 연결과 타임아웃 정보를 모니터링.

이러한 옵션들을 사용하면, IPVS의 현재 상태와 동작에 대해 상세하게 파악할 수 있으며, 네트워크 트래픽의 흐름과 문제를 진단하는 데 매우 유용합니다.

참고URL: https://manpages.debian.org/unstable/ipvsadm/ipvsadm.8.en.html

댓글