{"id":38018,"date":"2013-06-26T14:27:57","date_gmt":"2013-06-26T12:27:57","guid":{"rendered":"https:\/\/www.mugaict.com\/synetosviluppo\/kvm-on-storage-os\/"},"modified":"2013-06-26T14:27:57","modified_gmt":"2013-06-26T12:27:57","slug":"kvm-on-storage-os","status":"publish","type":"post","link":"https:\/\/syneto.eu\/es\/kvm-on-storage-os\/","title":{"rendered":"KVM en Storage OS"},"content":{"rendered":"
Supongo que ha llegado el momento de compartir con el mundo algunas de nuestras experiencias t\u00e9cnicas mientras sacamos nuevas funcionalidades en Storage OS. Me detendr\u00e9 en nuestra \u00faltima incorporaci\u00f3n a Storage OS: la virtualizaci\u00f3n local.<\/p>\n
Pues bien, ahora puede ejecutar m\u00e1quinas virtuales en el propio dispositivo de almacenamiento sin ninguna infraestructura adicional. Esta era una necesidad real que ten\u00edan la mayor\u00eda de nuestros clientes peque\u00f1os y medianos. Deshacerse de los 2-3 servidores que proporcionan compartici\u00f3n de archivos, directorio activo o algunos otros servicios y virtualizarlos. Pero, \u00bfc\u00f3mo podemos llevar esto a nuestro sistema operativo de almacenamiento?<\/p>\n
Obviamente, este concepto no es nuevo. Oracle tiene Virtual Box y es bastante bueno. Tuvimos algunos intentos con \u00e9l, pero no est\u00e1bamos realmente satisfechos con el rendimiento general y sus capacidades de gesti\u00f3n. As\u00ed que buscamos en otras direcciones. La opci\u00f3n mejor y m\u00e1s estable era KVM (kernel virtual machine). KVM es una tecnolog\u00eda que funciona en Linux desde hace mucho tiempo y es uno de los hipervisores m\u00e1s estables y eficaces que existen. Realmente tenemos que dar cr\u00e9dito a Joyent por hacer la portabilidad inicial de KVM a Illumos, hicieron un trabajo incre\u00edble, me quito el sombrero. Tambi\u00e9n lo utilizan para sus m\u00e1quinas inteligentes. Lo que realmente me sorprendi\u00f3 fue que durante la portabilidad los chicos mencionaron que no encontraron ni un solo error o problema en todo el KVM. Eso es algo, teniendo en cuenta que durante una portabilidad se toca cada l\u00ednea de c\u00f3digo.<\/p>\n
Una vez portado el n\u00facleo, tuvimos que crear la infraestructura para gestionar m\u00e1quinas virtuales en Storage OS. Nuestro primer dilema fue: \u00bfcu\u00e1l ser\u00eda el almac\u00e9n de respaldo de una m\u00e1quina virtual? Inicialmente decidimos utilizar un Vdisk (un volumen ZFS) como almac\u00e9n de respaldo. Al principio parec\u00eda una buena idea. Puedes configurarlo como thick o thin provisioning, lo que te apetezca. \u00bfQu\u00e9 pasar\u00eda si necesitas m\u00e1s tama\u00f1o? Bueno, puedes ampliar f\u00e1cilmente un Vdisk y luego asignar el nuevo espacio dentro del propio sistema operativo invitado. Usamos \/dev\/zvol\/rdsk como la ruta del dispositivo raw para la imagen de disco.<\/p>\n
Nuestra siguiente pregunta era: ahora que tenemos el almac\u00e9n de respaldo en su lugar, \u00bfc\u00f3mo podemos controlar el estado y la configuraci\u00f3n de una m\u00e1quina virtual? Trabajando con Illumos (ya que Storage OS utiliza el kernel de Illumos) desde hace unos a\u00f1os, entiendo que s\u00f3lo hay una forma real de manejar los procesos de larga ejecuci\u00f3n y que es el uso de SMF (Service Management Facility).\u00a0SMF<\/a> es una de las mejores cosas que hay en cuanto a gesti\u00f3n de servicios en distribuciones basadas en Solaris. Para cada m\u00e1quina virtual creamos un servicio SMF. Mantuvimos la configuraci\u00f3n en un grupo de propiedades config. La RAM configurada, las im\u00e1genes ISO montadas, el orden de arranque, la configuraci\u00f3n de red eran todas propiedades del servicio. El m\u00e9todo de inicio del servicio analizaba la configuraci\u00f3n y generaba el comando para iniciar qemu-kvm para esa m\u00e1quina virtual. Una cosa a notar es que ninguna de las herramientas para crear, desplegar o gestionar m\u00e1quinas virtuales, desde distribuciones Linux KVM, est\u00e1n presentes en Illumos ya que libvirt no est\u00e1 portado. Esta fue otra raz\u00f3n por la que tuvimos que construir nuestras propias herramientas.<\/p>\n
\nEl reto de la comunicaci\u00f3n<\/h3>\n