11.4. RX-TX 대기열 크기를 관리하여 패킷 손실 방지
다음과 같은 여러 가지 이유로 초당 3.5 만 개 이상의 패킷 손실 (mpps)에서 패킷 손실이 발생할 수 있습니다.
- 네트워크 인터럽트
- a SMI
- 가상 네트워크 기능의 패킷 처리 대기 시간
패킷 손실을 방지하려면 큐 크기를 기본값 512에서 최대 1024로 늘립니다.
사전 요구 사항
-
언더클라우드 호스트 및
stack사용자의 인증 정보에 액세스합니다.
절차
-
언더클라우드 호스트에
stack사용자로 로그인합니다. stackrc언더클라우드 인증 정보 파일을 소싱합니다.source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 지정 환경 YAML 파일을 생성하고
parameter_defaults아래에 다음 정의를 추가하여 RX 및 TX 큐 크기를 늘립니다.parameter_defaults: NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024
parameter_defaults: NovaLibvirtRxQueueSize: 1024 NovaLibvirtTxQueueSize: 1024Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배포 명령을 실행하고 코어 heat 템플릿, 기타 환경 파일, RX 및 TX 큐 크기 변경 사항이 포함된 환경 파일을 포함합니다.
예제
openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /home/stack/my_tx-rx_queue_sizes.yaml
$ openstack overcloud deploy --templates \ -e <other_environment_files> \ -e /home/stack/my_tx-rx_queue_sizes.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
nova.conf파일에서 RX 큐 크기 및 TX 대기열 크기의 값을 관찰합니다.egrep "^[rt]x_queue_size" /var/lib/config-data/puppet-generated/\ nova_libvirt/etc/nova/nova.conf
$ egrep "^[rt]x_queue_size" /var/lib/config-data/puppet-generated/\ nova_libvirt/etc/nova/nova.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음이 표시되어야 합니다.
rx_queue_size=1024 tx_queue_size=1024
rx_queue_size=1024 tx_queue_size=1024Copy to Clipboard Copied! Toggle word wrap Toggle overflow Compute 호스트의 libvirt에서 생성된 VM 인스턴스 XML 파일에서 RX 큐 크기 및 TX 큐 크기의 값을 확인합니다.
- 새 인스턴스를 만듭니다.
컴퓨팅 호스트 및 인스턴스 이름을 가져옵니다.
openstack server show testvm-queue-sizes -c OS-EXT-SRV-ATTR:\ hypervisor_hostname -c OS-EXT-SRV-ATTR:instance_name
$ openstack server show testvm-queue-sizes -c OS-EXT-SRV-ATTR:\ hypervisor_hostname -c OS-EXT-SRV-ATTR:instance_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 샘플 출력
출력은 다음과 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Compute 호스트에 로그인하고 인스턴스 정의를 덤프합니다.
예제
podman exec nova_libvirt virsh dumpxml instance-00000059
$ podman exec nova_libvirt virsh dumpxml instance-00000059Copy to Clipboard Copied! Toggle word wrap Toggle overflow 샘플 출력
출력은 다음과 유사합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow