viernes, 26 de diciembre de 2008

Tipos de discos en Hyper-V

Hola.

Después de haber tratado el tema relacionado con las diferentes controladoras que podemos tener en una máquina virtual creada con Hyper-V

Quiero seguir profundizando en el almacenamiento y trataré sobre los diferentes discos que podemos tener en una máquina virtual, diferencias y buenas prácticas.

En Hyper-v podemos elegir entre 4 tipos de discos diferentes, que son:

1. Discos con tamaño fijo.
Como su propio nombre indica, son discos que desde un principio toman el tamaño que les asignamos, esto implica un gran impacto en la cantidad de almacenamiento disponible en el host o en la unidad San una vez creamos estos discos. Con los discos de tamaño fijo conseguimos un gran rendimiento.

2. Discos con tamaño variable.
Discos que pueden llegar a alcanzar un máximo de tamaño que nosotros le indicamos al crearlos, pero que crecen varíablemente según se almacena información en ellos, en el momento de la creación, podemos asignar un máximo de tamaño del disco, nunca superior al máximo espacio libre que queda en ese momento en el almacenamiento donde resida. El rendimiento de estos discos, es significativamente menor al de los discos de tamaño fijo.

3. Passtrought o Linked Disks
Las máquinas virtuales acceden directamente al sistema de archivos propio del disco físico, este disco debe estar añadido en el almacenamiento del host, asignada una letra pero estar en modo Offline, para luego poder ser asociadores directamente a una VM, el rendimiento de los discos es alto, bueno, mas bien en este caso está directamente ligado al rendimiento propio del almacenamiento físico.

4. Discos diferenciales.
Podemos declarar disco "padre" a un disco fijo o variable y crear un disco diferencial o disco hijo, que almacenará la información diferencial al primero, este segundo disco puede estar asociado a una máquina virtual, a su vez, podemos declarar disco padre a un disco hijo y crear un disco hijo que cuelga de este segundo disco padre y así sucesívamente, creo que esto llevará un artículo como tal, porque puede ser muy interesante pero muy peligroso también. Apuntar que es muy importante tener una buena configuración NTFS, marcando los discos padres que sean necesarios como archivos de solo lectura para no romper la cadena.



Mantenimiento de discos virtuales
Compact
Podemos compactar discos fijos o variables, el campactado borrar espacios en blanco y en el caso de los discos dinámicos, reduce el tamaño a lo estríctamente necesario, en el caso de no tener NTFS como sistema de archivos dentro del .vhd, compactar llenará de ceros el espacio en blanco, para luego ser borrado. El uso intensivo de Expand y/o Compact puede crear excesiva fragmentación.
Convert
Convierte discos dinámicos en fijos o viceversa, convierte también "Linked disks" en .vhd y viceversa.
Expand
Aumenta el tamaño máximo de los discos dinámicos o fijos, pero nunca puede ser mayor del espacio disponible en el disco físico que aloja el archivos .vhd.. El uso intensivo de Expand y/o Compact puede crear excesiva fragmentación.
Merge
Unicamente vale para discos diferenciales, fusiona discos padre con discos hijos, incluso es posible, crear un tercer disco con la fusión (imprescindible en una cadena).
Reconnect
Únicamente vale apra discos diferenciales, asocia discos padre con discos hijos perdidos o bien crea una nueva asociación.
Buenas Prácticas
(algunas muy simples pero son las buenas prácticas)
  • Cuando tenemos muy poco espacio en disco, trabajar con discos dinámicos y controlar el crecimiento.
  • Controlar la fragmentación sobre todo con el uso de las opciones expand y convert
  • El rendimiento también está asociado al hardware físico, Raid, San, etc.
  • Conocer el bus de cada tecnología, por ejemplo discos lentos en una unidad san de fibra, ofrecen mejor rendimiento que discos scsi conectados por usb.
  • Almacenar cada VM en un disco, nunca almacenar un VM o un .VHD donde se encuentra el s.o. del host.
  • Utilizar Raids con altos rendimientos y/o seguridad, según el caso.
  • Mantener compactados los .VHD para mejorar el rendimiento.
  • Realizar Scandisk en el equipo físico regularmente.
  • Realizar Defrag tanto en el equipo físico como en el virtual.

Los sectores defectuosos no se suele encontrar en discos .vhd, pero si parte de un .vhd está escrito en un sector defectuoso de un disco físico, puede ser catastrófico, por tanto se aconseja la utilización regularmente de scandisk o similares en el equipo físico.

Como gran parte de este artículo parece que busca la optimización y el mejor rendimiento posible, recordar que tenemos una gran cantidad de herramientas a nuestra disposición para tener monitorizado el entorno, podemos utilizar desde el clásico monitor de rendimiento para recibir alertas y detectar cuellos de botella hasta Scom, decir támbién que aunque no está del todo ligado al almacenamiento, las Integration components ICs, llevan un servicio añadido llamado Heartbeat que le pasa a la consola de administración de Hyper-v el estado de salud de la VM.

Sé que se puede hablar largo y tendido de este tema, pero como veis no he profundizado demasiado, he querido ser muy esplícito y llegar a la gente que no ha trabajado mucho con virtualización -en la gira erais pocos los que declarabais haber hecho algo con Hyper-V-, si el tiempo y el trabajo me deja, me gustaría ir profundizando en algunas cosas como los discos diferenciales, que no van a ser demasiado utilizados pero hay que conocerlo bien, veo que es algo muy potente pero podemos montar un buen lio fácilmente.

Siento que el espaciado del artículo no sea el correcto, parece que blogger pasa bastante de mí.

Saludos.