EN ESTA PÁGINA
Configuración de parámetros de QoS de red
Visión general
Puede usar la interfaz de línea de comandos (CLI) de OpenStack Nova para especificar una configuración de calidad de servicio (QoS) para la interfaz de red de una máquina virtual, estableciendo la quota
de una versión Nova. Cualquier máquina virtual creada con esa versión de Nova heredará toda la configuración de QoS especificada. Además, si la máquina virtual que se creó con la configuración de QoS tiene varias interfaces en diferentes redes virtuales, se aplicará la misma configuración de QoS a todas las interfaces de red asociadas con la máquina virtual. La configuración de QoS se puede especificar en modo unidireccional o bidireccional.
El quota
controlador de Neutron convierte los parámetros de QoS en libvirt
la configuración de red de la máquina virtual.
Los parámetros de QoS disponibles en el controlador de cuota solo cubren la velocidad que limita la interfaz de red. No hay especificaciones disponibles para QoS basada en políticas en este momento.
Ejemplos de configuración de QoS
Aunque la configuración de QoS se puede especificar en la cuota mediante Horizon o CLI, la creación de cuotas mediante CLI es más sólida y estable; por lo tanto, la creación por CLI es el método recomendado.
Ejemplo
La versión CLI para Nova tiene el siguiente formato:
nova flavor-key <flavor_name> set quota:vif_<direction> _<param_name> = value
Dónde:
<flavor_name>
es el nombre de un sabor de Nova existente.
vif_<direction>_<param_name>
es el nombre de los datos QoS entrantes o salientes.
Entre los tipos de QoS vif
se incluyen los siguientes:
vif_inbound_average
Permite especificar la tasa media de tráfico entrante (de recepción) en kilobytes/seg.vif_outbound_average
Permite especificar la velocidad media del tráfico saliente (de transmisión) en kilobytes/seg.Opcional:
vif_inbound_peak
y especifique la velocidad máxima de tráfico entrante yvif_outbound_peak
saliente, respectivamente, en kilobytes/seg.Opcional:
vif_inbound_burst
yvif_outbound_peak
especificar la cantidad de kilobytes que se pueden recibir o transmitir, respectivamente, en una sola ráfaga a la velocidad máxima.
Los detalles de varios parámetros de QoS para libvirt
se pueden encontrar en http://libvirt.org/formatnetwork.html.
En el ejemplo siguiente se muestra un promedio de entrada de 800 kilobytes/seg, un pico de 1000 kilobytes/s y una cantidad de ráfaga de 30 kilobytes.
nova flavor-key m1.small set quota:vif_inbound_average=800 nova flavor-key m1.small set quota:vif_inbound_peak=1000 nova flavor-key m1.small set quota:vif_inbound_burst=30
A continuación se muestra un ejemplo de parámetros de salida especificados:
nova flavor-key m1.small set quota:vif_outbound_average=800 nova flavor-key m1.small set quota:vif_outbound_peak=1000 nova flavor-key m1.small set quota:vif_outbound_burst=30
Después de configurar la versión Nova para QoS, se puede crear una instancia de máquina virtual mediante Horizon o CLI. La instancia tendrá la configuración de red correspondiente a la clave de sabor nova, como se muestra a continuación:
<interface type="ethernet"> <mac address="02:a3:a0:87:7f:61"/> <model type="virtio"/> <script path=""/> <target dev="tapa3a0877f-61"/> <bandwidth> <inbound average="800" peak="1000" burst="30"/> <outbound average="800" peak="1000" burst="30"/> </bandwidth> </interface>
Limitaciones
El stock
libvirt
no admite la limitación de velocidad de los tipos deethernet
interfaz. En consecuencia, las configuraciones como las del ejemplo para la interfaz de invitado no darán como resultado ningunatc qdisc
configuración para el dispositivo de toque correspondiente en el host.El
nova flavor-key rxtx_factor
toma un flotador como entrada y actúa como un factor de escala para los rendimientos de recepción (entrante) y transmisión (saliente). Esta clave solo está disponible para las extensiones de Neutron (extensiones privadas). El complemento Contrail Neutron no implementa esta extensión privada. Por consiguiente, establecer elnova flavor-key rxtx_factor
no tendrá ningún efecto en la configuración de QoS de las interfaces de red de ninguna máquina virtual creada con esa versión de nova.Los límites de velocidad de salida de una interfaz de máquina virtual no se alcanzan estrictamente. El rendimiento de salida de una interfaz de red de máquina virtual siempre es inferior al límite promedio de salida especificado en el archivo de configuración libvirt de la máquina virtual. El mismo comportamiento también se ve cuando se utiliza un puente de Linux.