Alineando nuestras particiones

En este documento veremos ya algo viejo pero de lo que nunca hemos hablado y nos seguimos encontrando mal configurado en clientes a la hora de realizar auditorías de los sistemas; cuando se tiene un servidor virtual que requiera de un alto rendimiento a nivel de disco, deberemos comprobar que dispone alineadas correctamente las particiones!


Esto aplica únicamente a máquinas con S.O. Windows previo a Windows 2008 o linux anteriores a Red Hat Enterprise Linux 6 o tipo Fedora 14. Desde Windows 2008, se crea un desplazamiento inicial en las particiones de 1024KB (offset) para que queden correctamente alineados. Para evitar una perdida del rendimiento I/O en nuestro sistema de almacenamiento (además de reducir la latencia, aumentar el throughput…), se debe disponer de un correcto alineamiento de las particiones de las máquinas físicas, máquinas virtuales y datastores VMFS. Cuando esto es así, VMware indica que aproximadamente el throughput se puede ampliar hasta un 62% (de media 12%) con una mejora de la latencia hasta del 33% (media 10%), no está mal, no?

Tenemos aquí una vieja guía de VMware de cómo tener un sitio correctamente alineado.

 

alineacion-discos-05-bujarra

En esta imagen podremos observar cómo al leer un cluster de disco en la partición NTFS (bajo un VFMS) procesará hasta tres chunks en la LUN de nuestra SAN. Por lo tanto la partición no estaría alineada y estamos sobrecargando la SAN en cuanto a operaciones de I/O.

 

alineacion-discos-06-bujarra

Tras alinear la partición de forma correcta, comprobaremos que al leer un cluster de disco, unicamente se procesará un solo chunk de la LUN de la SAN, aumentando por tanto hasta tres veces el rendimiento!
Por defecto cuando creemos una partición VMFS con el cliente de VMware estará alineada, y ahora con vSphere 5, una partición VMFS5 alineada comienza en sector del disco 2048 o 1024KB (offset). En el caso que el datastore sea previo a vCenter 2.0 o lo hayamos creado mal con vmkfstools, para alinearlo no quedará otra más que mover las MV’s a otro datastore temporalmente y borrar la partición vieja para recrearla.

Para alinear una máquina virtual, lo primero será tener un backup y seguido lo re-alinearemos con herramientas offline tipo la que utilizaremos en este documento que es UBERAlign de Nick Weaver, una herramienta muy sencilla. Con UBERAlign desplegaremos un appliance llamado UBERAlign vAligner en formato OVA y por otro lado utilizaremos la consola de gestión. Con la utilidad podremos analizar las MV’s apagadas en nuestro sistema, las podremos alinear al offset que nos interese, particiones NTFS de Windows 2000/XP/2003/2008, distribuciones linux con EXT2/EXT3/EXT4, si nos interesa también se podría realizar reclamación de espacio a la MV thin. Si trabajamos con templates, lo ideal sería dejarlas ya alineadas. Lo recomendable suele ser también alinear el disco de datos en el caso que el disco de sistema no requiera mayor rendimiento.

 

¿Como podremos conocer si nuestro S.O. tiene alguna partición mal alineada?

alineacion-discos-04-bujarra

– En Linux podremos comprobarlo con “fdisk –lu”, nos sacará una tabla informativa y comprobaremos que los sectores donde empieza cada partición es divisible entre 8, si no es así, la partición estaría desalineada. En el ejemplo tenemos 2048 (por defecto desde fdisk 2.17.2) indicando que tenemos el disco correctamente alineado.

 

alineacion-discos-01-bujarra

– En Windows, ejecutando: wmic partition get BlockSize, StartingOffset, Name, Index

Dividiremos el valor de StartingOffset por el de BlockSize, ejemplos:
32256/512=63 (mal alineada)
1048576/512=2048 (bien alineada)

alineacion-discos-02-bujarra
De todas formas, siempre podremos crear una partición alineada (en Windows 2003) con diskpart, sea previo a la instalación del S.O. o una vez tengamos el S.O. instalado y en nuevas particiones para datos… ejecutando: Diskpart

 

alineacion-discos-03-bujarra
DISKPART> list disk

Disco ###   Estado      Tamaño   Libre    Din  Gpt
———   ———-  ——-  ——-  —  —
Disco 0     En pantall    10 GB  8033 KB
Disco 1     En pantall  1020 MB      1000 MB

DISKPART> select disk 1
DISKPART> create partition primary align=64
DISKPART> exit
Y la formateamos la partición con un tamaño de asignación de disco de 32 KB.

 

Bueno, comencemos a utilizar la herramienta UBERAlign para alinear automáticamente todas las máquinas virtuales que tengamos ya desplegadas en nuestro entorno!!!

 

alineacion-discos-01-bujarra

Lo primero será desplegar el appliance vAligner en nuestra infraestructura virtual, nos lo descargamos desde la web de Nick Weaver, y lo importamos como viene siendo habitual,

 

alineacion-discos-02-bujarra

Una vez desplegado el appliance y configurado con una dirección IP, descargaremos y abriremos también la consola de UBERAlign (necesitaremos Framework .Net 4 instalado previamente), y desde la consola conectaremos primeramente contra nuestro servidor vCenter en “Connect vCenter”,

 

alineacion-discos-03-bujarra

Introducimos los datos de acceso a nuestro vCenter y credenciales & “Connect”

 

alineacion-discos-04-bujarra

Posteriormente, añadiremos los appliances que necesitemos desde “Add vAligner”,

 

alineacion-discos-06-bujarra

Indicamos la IP del vAligner & “Connect”,

 

alineacion-discos-07-bujarra

Una vez agregado al menos un appliance virtual y el vCenter, pulsamos en “Continue”,

 

alineacion-discos-08-bujarra

Desde la consola podremos checkear las MV’s para comprobar si tienen una alineación correcta, así como corregirla posteriormente, o en caso de necesidad también podremos reclamar espacio a los discos thin; pulsamos primeramente en “Alignment Check”,

 

alineacion-discos-09-bujarra

Deberemos agregar todas las máquinas a analizar a un trabajo (job), sólo se mostrarán las MV’s apagadas, obviamente se recomienda tener un backup previo de la MV, aún que UBERAlign las sacará un snapshot que posteriormente deberemos eliminar manualmente si todo fué correcto! Listo, agregamos las MV’s interesadas y especificamos el desplazamiento interesado, por defecto será 2048 (1024 KB) y enviamos el trabajo a la cola “Submit To Job Queue”,

 

alineacion-discos-10-bujarra

Pulsamos en “Run Jobs” para arrancar el trabajo de análisis!

 

alineacion-discos-11-bujarra

Y si alguna MV, en los LOGs nos indica que su sistema de archivos no está alineado de forma correcta lo corregiremos!

 

alineacion-discos-12-bujarra

Para ello, volvemos a “Align VMs”,

 

alineacion-discos-13-bujarra

Añadimos las máquinas a corregir, modificamos el offset si interesa y finalmente volvemos a enviar el trabajo a la cola “Job Queue”,

 

alineacion-discos-14-bujarra

“Run Jobs” para comenzar el trabajo interesado y deberemos esperar este proceso a que finalice con cada MV, tardará dependiendo del volumen de la MV!

alineacion-discos-15-bujarra

Podemos comprobar cómo la misma MV que antes ya estaría corregida!

Héctor Herrero

Autor del blog Bujarra.com
Cualquier necesidad que tengas, no dudes en contactar conmigo, os intentare ayudar siempre que pueda, compartir es vivir 😉 . Disfrutar de los documentos!!!

Últimos Posts de: Héctor Herrero (ver todos)