2021년 1월 16일 토요일

ESXi Host to Host/VM bandwidth 측정하기

 iperf 라고 아마 대부분 잘 알고 있는 network bandwidth 측정 툴이 있다.

VMware ESXi 호스트에도 이미 이 툴이 설치되어 있는데 정확히는 iperf 가 아니라 iperf3 이다.

정확한 위치는 아래와 같다

/usr/lib/vmware/vsan/bin/iperf3
/usr/lib/vmware/vsan/bin/iperf3.copy

주의할 점은 iperf3.copy 를 실행해야 한다는 것이다.

iperf3 을 실행하면 "Operation not permitted" 같은 에러가 발생하기 때문이다.
혹시 iperf3.copy 가 없다면 아래와 같이 복사해서 사용하면 된다
# cp /usr/lib/vmware/vsan/bin/iperf3 /usr/lib/vmware/vsan/bin/iperf3.copy

그 다음 iperf3 을 서버 모드로 실행해보자
아래와 같이 -s (서버모드) -B (특정 IP 에 bind)





그런데 -B에 사용할 ip 는 아래 명령어로 vmk 에 붙은 ip 를 사용하면 된다.

# esxcli network ip interface ipv4 get


그런데 이렇게 바로 실행하면 정상 실행이 안될 것이다.

ESXi 자체 방화벽이 막고 있기 때문이다.
따라서 아래와 같이 방화벽을 해제한다.

# esxcli network firewall get
# esxcli network firewall set –enabled false
# esxcli network firewall get

그럼 다음 실행하면 아래와 같이 iperf3 가 서버 모드로 정상 동작 할 것이다.


이제 다른 ESXi host 에서 iperf3 를 클라이언트 모드로 실행해보자

마찬가지로 방화벽을 해제하고 iperf3 를 실행해야 한다.
(-c 가 클라이언트 모드를 의미하고 나머지 -t, -V 같은 다양한 옵션을 줄 수 있다)








10G 환경이라면 서버에서 아래와 같이 보일 것이다.


클라이언트에서는 아래와 같이 보일 것이다.


ESXi host <-> VM 을 테스트 해보자

우분투의 경우에는 iperf3 를 설치하면 된다.
(iperf 아님)

$ sudo apt install iperf3

기본적으로 방화벽을 다 막아놓은 환경의 VM 이 아니라면 그냥 아래와 같이 실행하면 될 것이다.

windows 및 다른 OS 에도 iperf3 가 있으므로 설치하면 된다. 

* ESXi 호스트의 경우에는 테스트 완료 후 꼭 잊지말고 방화벽을 활성화 해놓자!!!




댓글 없음:

댓글 쓰기