Storage QoS en XenServer
HHola amigos, soy Ferran Serafini y como cada miércoles vengo hablar sobre XenServer. Hoy veremos como podemos modificar el “IO-Scheduler” para sacar el máximo probecho de nuestro storage virtual.
Por defecto cuando añadimos un SR, XenServer lo configura con un io-scheduler llamado “noop”, este planificador es generalista y da un rendimiento correcto en la mayoría de casos. Básicamente el planificador ofrece un repartimiento justo a las máquinas virtuales que compiten con el acceso a un mismo dispositivo.
Para los casos en que tengamos que sacar el máximo provecho de IOPs por ejemplo, priorizar IOPs unas sobre las otras de la manera que más nos interese, XenServer permite configurar QoS para el storage virtual de manera similar a un QoS de red.
Cada VBD (Virtual Block Device) tiene asociado un parámetro opcional llamado qos_algorithm_param, este funciona a nivel de Host, es decir si el disco es un disco compartido de un Pool, no se pasa información sobre QoS a nivel de cluster. Podemos configurar QoS en un Pool pero el QoS será solo aplicado por cada Host físico que usa una LUN de manera independiente.
El primer parámetro a configurar es el ‘qos_algorithm_type’ que solamente podemos configurar como ionice. Para los que estéis familiarizados con entornos Unix, ionice es un comando que como el comando nice establece prioridad sobre procesos, ionice lo hace sobre las IOPs de disco.
Qos_algorithm_param tiene los posibles valores:
sched=rt o sched=real-time fija el programador QoS a la prioridad de tiempo real y admás le tenemos que pasar un valor de clase (del 0 al 7, 0 mínima prioridad y 7 máxima)
sched=idle Establece la prioridad a inactivo
sched=<valor> Puede ser: highest, high, normal, low, lowest o bién del 0 al 7
Para que quede habilitado también hay que configurar el SR para que sepa que debe usar el programador CFQ y volvemos hacer plug del VDB. Un ejemplo para poner un VBD para que utilice la prioridad de tiempo real:
vbd-param-set uuid=<vbd_uuid> qos_algorithm_type=ionice
vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:sched=rt
vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:class=5
sr-param-set uuid=<sr_uuid> other-config:scheduler=cfq
xe pbd-plug uuid=<pbd_uuid>
Pues con esto me despido por hoy, espero como siempre haber podido echarte una mano en tu día a día en la virtualización con XenServer. Saludos
Si te ha gustado este articulo, por favor,compártelo en Twitter o en Facebook con los botones de abajo o deja tus comentarios. Muchas gracias por tu apoyo!