Archivos de Categoría: iscsi

Copiar un disco en vmware, lo más rápida e indoloramente posible

Cuando las cosas se van al guano, o sea, pocas veces pero más que las que uno quiere, a veces se acaba necesitando sacar máquinas virtuales de un almacenamiento, a mano, con las mayores garantías de integridad pero sobre todo tardando lo menos posible, para que los usuarios de las mismas no sufran más que lo mínimo y esa noche, a ser posible, se pueda dormir un ratito.

Hay más de una forma de pelar un gato, y cuando se trata de mover máquinas virtuales a mano en entornos vmware, hay muchas: scp, el explorador de archivos del cliente de vCenter, cp o mv sobre los directorios en que están montados los almacenamientos, rsync (que no va de serie, pero un binario estático va de maravilla) y algunas más.

Pues bien, para mover rápido y con garantías, lo más conveniente es una herramienta que:

  • Tire de la librería de discos del hipervisor
  • Conozca y respete los discos «thin provisioned»
  • A ser posible, venga ya de serie.

Esta maravilla existe: se llama vmkfstools. Así en plural.

El procedimiento no es directo pero tampoco es ciencia aeroespacial:

  1. Eliminar la máquina virtual del inventario, para evitar interferencias.
  2. Copiar el fichero de definición de la máquina virtual (.vmx y .vmxf al directorio destino) con un vulgar cp
  3. Clonar el/los disco(s) con vmkfstools -i /volumen/origen/disco.vmdk /volumen/destino/disco.vmdk -d thin.
  4. Añadir la máquina destino al inventario.
  5. Limpieza y acabado.

Et voilá. Esta estrategia es la más rápida y, al usar disklib, nos garantiza el trato más correcto al fichero del disco de la máquina virtual, así como la mayor velocidad de copia.

Usando una tarjeta Dell H310 con FreeNAS

Es vox populi que FreeNAS, o cualquier cosa que use ZFS como la versión 5 de Proxmox VE, quiere acceso directo a los discos para que el ZFS los gestione directamente. Es decir, no queremos una tarjeta RAID presentando un único volumen gordo con todos los discos que tiene detrás; solamente queremos que el sistema operativo vea todos y cada uno de los discos.

Para hacer esto, la opción más sencilla es tener una placa base con todos los conectores necesarios. Pero a veces tenemos una cierta cantidad de discos, por ejemplo 12 o 24, conectados a un backplane que, típicamente, cuenta con un par de conectores SFF a partir de los cuales conecta todos los discos.

La Dell H310 es una de bastantes versiones remarcadas de la LSI 9211-8i. Es una tarjeta RAID, pero LSI, en su infinita sabiduría, suministra un firmware que la convierte en una sencilla HBA. Es decir, una tarjeta que se limita a conectar discos y presentarlos de manera visible al sistema operativos. O sea, lo que queremos.

Otra encarnación de la LSI 9211-8i es la popular IBM M1015.

¿Por qué comprar la H310? Por lo de siempre: Por dinero. Van más baratas que las LSI. Además, no hay tantas copias chinas como de las M1015.

Dije que LSI suministra un firmware para convertirla en HBA. Ahora bien, aquí acaban las buenas noticias: El proceso que hay que seguir es algo engorroso pero sobre todo plagado de puñetitas. Así que, ya que me he puesto, he decidido documentarlo.

Hay que decir que la tarjeta tiene un firmware y una BIOS, que son dos piezas separadas. En mi caso, decidí dejarla sin BIOS. Esto no es ningún sacrilegio (la tarjeta vive perfectamente sin ella) y ahorra tiempo en el arranque porque, al no tener BIOS, ya no tiene que echar su meadita en cada arranque del sistema.

Siendo uno de natural paranoico, por otra parte, decidí que solamente iba a descargar el software necesario de sitios de los que me fiara. Tuve que hacer un pequeño salto de fe con fdos.org, más que nada porque es la manera más práctica de generar una ISO de arranque con FreeDOS.

En fin. Vamos a por los ingredientes:

  • Una Debian o cosa similar con xorriso (apt-get install xorriso, sin más)
  • FDOEMCD.builder.zip de fdos.org. Unzip eso, suelta un directorio con el DOSero nombre de FDOEMCD
  • megarec.exe. El único sitio fiable que encontré fue, de una FAQ de Supermicroel FTP de Supermicro. Unzip eso dentro de FDOEMCD/CDROOT. Ya de paso, nos suministra megacli.
  • El firmware IT para la H310. Que, por supuesto, no puede estar en una página de descargas de Dell llamada H310. No, está en la página de los R410, que son uno de los modelos que la montaban. Y ni siquiera se llama H310, sino «6Gbps SAS HBA Firmware Package». En fin, que está aquí y que espero que los de Dell tengan que encontrar su camino por Mongolia con un mapa de carreteras de Libia de 1978. Unzip (es uno de esos exe autoextraíbles que unzip también entiende) dentro de FDOEM/CDROOT también.
  • empty.bin, que es un firmware vacío. Es un fichero de 256 bytes que contiene:
    • 0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
      *
      0000090 00 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff
      00000a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
      *0000100
    • Si te encuentras especialmente paranoico, créalo con un editor hexadecimal.
    • Y si no eres muy paranoico: empty.bin
    • En cualquier caso, también a FDOEM/CDROOT

Ya tenemos todo.

Ahora cogemos y desde FDOEM, y con fe: xorrisofs -o miiso.iso -p "Yo Claudio" -publisher "blog.tecnocratica.net" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -N -J -r -c boot.catalog -hide boot.catalog -hide-joliet boot.catalog CDROOT

No todas las opciones son estrictamente necesarias, pero así queda más mono. Eso genera miiso.iso.

Bueno, pues arrancamos nuestro servidor con eso (si ese día le toca funcionar al KVM del servidor basado en una versión fosilizada de Java, claro) y ejecutamos:

  • En el directorio de Supermicro, tools:
    • megacli.exe -AdpAllInfo -aAll -page 20
    • Tomar nota de la dirección SAS, para ponérsela más tarde, porque nos la vamos a calzar.
    • megarec.exe -writesbr 0 \empty.bin
    • megarec.exe -cleanflash 0

En este punto, hay que rearrancar. No me preguntes por qué, pero si no, no funciona el invento. Venga, rearranca. Yo espero.

Sigamos:

  • Ahora nos vamos al directorio del firmware de Dell:
    • sas2flsh.exe -o -f 6GBPSAS.fw
    • sas2flsh.exe -o -sasadd <la dirección SAS>

Ya hemos acabado. Llegados a este punto, o tenemos una HBA, o algo con que sujetar la puerta. De nada.

Créditos y enlaces de interés:

  • https://tylermade.net/2017/06/27/how-to-crossflash-perc-h310-to-it-mode-lsi-9211-8i-firmware-hba-for-freenas-unraid/
  • https://forums.freenas.org/index.php?threads/ibm-serveraid-m1015-and-no-lsi-sas-adapters-found.27445/
  • http://www.cgsecurity.org/wiki/Create_a_TestDisk_FreeDos_LiveCD
  • http://blog.asiantuntijakaveri.fi/2013/09/turning-dell-perc-h310-to-dumb-biosless.html
  • https://techmattr.wordpress.com/2016/04/11/updated-sas-hba-crossflashing-or-flashing-to-it-mode-dell-perc-h200-and-h310/
  • https://ciamician.wordpress.com/2015/03/06/flashing-your-dell-perc-h310-to-it-firmware-uefi/

RTS: Mola mucho

Los chicos de RisingTideSystems me han facilitado una versión previa de lo nuevo de su fábrica de pequeños milagros cotidianos iSCSI y aledaños, a saber, LIO y su herramienta de administración rtsadmin. En pocas palabras, se han superado.
Lo he montado en dos almacenamientos con diferentes tarjetas RAID. En realidad, empiezo a pensar que las tarjetas RAID son totalmente prescindibles, pero ya que las tenía no las iba a tirar.
Ahora, rtsadmin tiene un interface de línea de comandos de lo más pocholo, con colorines y completado de comandos con el tabulador. Sin leer ni una triste guía rápida, en dos ratitos tenía el primero levantado y conectado a los ESXi.
Aunque no he hecho pruebas formales de rendimiento, la impresión es que va muy bien. Y tan libre de problemas como el anterior.
Me fastidia moderadamente que hayan cambiado la Debian que utilizaban anteriormente como base por una SuSE. No entiendo por qué lo han hecho, aunque pare gustos, los colores. Lo que importa al final es que el iSCSI va fiable y mangao.
Tal como viene, además de rtsadmin y por supuesto LIO, trae un módulo para Nagios (nrpe), arcconf (gestión de tarjetas RAID de Adaptec), OpenIPMI, DR:BD, parted y cosas de esperar como Samba, rsync, etc.
RisingTideSystems empieza a ofrecer su software, mediante suscripción anual a un precio que me parece bastante lógico (comparado con Open-E y similares), a ciertos clientes. Les auguro un éxito total.

Cómo mola el iSCSI

Empezaré por confesar que las he pasado canutas. Primero, con las MD3000i: Unos trastos muy estables, la verdad, pero con un precio de otro mundo, y que necesitan una aplicación Windows para gestionarse. Caca. Buscando alternativas más eficientes y flexibles tanto desde el punto de vista de gestión como el de coste, empezó mi periplo.

He probado ietd y LIO. No he llegado a probar los otros por no considerar que fueran a aportar sobre estos.

El primero en caer fue ietd. Es muy facilito de instalar y configurar. Sin embargo, no ha resultado estable en nuestro entorno, ocasionando varias paradas del almacenamiento que solamente se podían recuperar rearrancando el demonio. El desarrollo no está estancado, pero tampoco es muy activo, aunque al menos los desarrolladores escuchan.

En cuanto a LIO, empecé por bajar de git lo último de lo último, con el resultado que es de esperar 🙂 Después de eso, aconsejado por los desarrolladores, puse una versión que consideran estable (la 3.5.3). Esta ha resultado en nuestro entorno completamente sólida, sin un solo problema. La empresa que patrocina el desarrollo de LIO, RisingTideSystems, suministra algunas utilísimas herramientas de gestión (rtsadmin) y contratos de mantenimiento. LIO tiene previsto ir integrando sus módulos en el kernel culminando con la versión 2.6.40.

Para completar el panorama a favor de LIO, no se trata solamente de un target ISCSI. Es un completo marco de acceso a almacenamiento que incluye también FCoE, en una prometedora e interesantísima integración. De hecho, últimamente empiezo a ver a iSCSI como un paso hacia FCoE.