Upload your data disks to Cloudstack
I had these qcow2 volumes from test I did in the past that I wanted to import into Cloudstack. In CS you have the option to import ISO and templates via http download from a provided link, but you cannot do that with volumes. Actually I'd love to see this feature with snapshots, so once you have uploaded a snapshot it can be converted to a disk or to a template, but that's not possible by now.
So, this is what I did to import my existing volumes into Cloudstack
Añadir tus discos de datos a Cloudstack
Tenía por ahí unos cuantos volúmenes en formato qcow2 de unas pruebas que estuve haciendo con Proxmox. Unos corresponden a una VM con Ubuntu y Orchestra server para provisionar servidores vía PXE, y tenía la intención de migrarlas al Cloudstack (CS + KVM) para provar si una VM se puede arrancar por red.
En este caso, añadir el volumen correspondiente al SO es sencillo. Basta con ponerlo en un servidor http y pasarle el link a la opción "Add template" de cloudstack. Él solito lo descargará y lo pondrá a punto. Con ese nuevo template podremos arrancar el servidor. ¿Pero que pasa si el servidor tiene volúmenes de datos adicionales?
Clúster de PostgreSQL en Linux
Basado en hechos reales. El tema es que tuve que montar un clúster activo/pasivo de PostgreSQL con Corosync/Pacemaker y DRBD. Cómo es de esas cosas que me gustan y no hago a menudo, lo apuntaré aquí por si os apetece usarlo. El trabajo está basado en un howto que encontré hace tiempo, pero no puedo encontrar el enlace (si alguien lo reconoce que avise, que lo actualizaré).
En este ejemplo, los sistemas usados son SLES 11 SP1, pero es aplicable a cualquier distribución (sólo tendréis que vigilar con los nombres de los paquetes).
¿Listos? Púes coged un café que es larguito...
Mirror de repositorios con apt-mirror
Respecto a lo que os comentaba el otro dia, el provisionamiento de servidores con Cobbler, me di cuenta de una cosita.
Al instalar un CentOS, la instalación era realmente muy rápida (un sistema base). Pero, al instalar Ubuntu, los tiempos de descarga se notaban. No es que sea un problema exasperante, pero si que era notablemente superior.
Para solucionar este tema, he visto un par de opciones que me he decidido a probar. Una de ellas es apt-mirror. Básicamente lo que hace es crear un mirror local de los repositorios Debian / Ubuntu que le configuremos. De ese modo, podemos usar tal mirror para las instalaciones de manera que la descarga de contenidos sea a velocidades de LAN.
Provisionamiento de servidores Linux
Una de las últimas cosas que me miré en UPCnet y que intenté entender fué el uso de cobbler para el aprovisionamiento de servidores. El caso es que en el servidor que uso en casa a modo de laboratorio he instalado Proxmox para usar VM's con KVM y no tengo directamente disponible la opción de clonar imágenes de disco para clonar plantillas de servidores. Bueno, la opción está, pero vía comandos y sin "personalización" en tiempo de deploy.
Así pués, retomé el tema de cobbler en casa. Supongo que para ninguno es nuevo el tema del arranque de servidores vía PXE para instalar SO, etc. Cobbler se ocupa de generar los ficheros de arranque PXE para poder hacer el provisionamiento de servidores mucho más dinámico. En mi caso, uso para el DNS y el DHCP el programa dnsmasq, que es más que suficiente para un entorno pequeño, pero cobbler es capaz de gestionar él mismo un servidor DHCP ISC o un servidor Bind para el DNS.
A grandes rasgos, lo que haremos con cobbler es importar una série de distros que luego podrán ser servidas por red para instalar en servidores nuevos. Estas instalaciones se pueden parametrizar a su vez vía kickstart o preseed, de manera que teniendo algunas plantillas podemos simplemente crear nuevas VM que arranquen por red y esperar a que finalice la instalación.
Probé cobbler sobre un CentOS 6, pero encontré un problema a la hora de importar la distro de ubuntu (creo que se ha abandonado el soporte para Debian/Ubuntu en cobbler, ¿puede ser?). Así pués, he cambiado el servidor donde tenía el cobbler por un Ubuntu Server 11.10 donde he instalado Orchestra, que a grandes rasgos es un conjunto de paquetes para el provisionamiento de servidores Ubuntu. Orchestra está basado en cobbler, pero como está distribuido por Ubuntu, si que podemos importar la ISO (faltaría mas).
Lo iremos probando.
Puppet + Ruby + Foreman + Passenger “all in one” “superfast”
Mira tu!
Un tutorial para instalar Puppet, ruby, passenger y Foreman en un RHEL (o basado en). Es muy express sin dar muchos detalles, pero una buena guía de instalación.
http://miao5.blogspot.com/2010/01/setup-puppetmaster-foreman.html
Saludos!
“5 bad checksums” dhclient en Ubuntu
Últimamente me he estado peleando con ciertas plataformas de virtualización... bueno básicamente 2, XenServer y KVM.
Uno por motivos profesionales, haciendo el deploy de un cloud usando Cloudstack + XenServer en UPC y el otro en casa, haciendo pruebas.
El caso es que con ambos me he encontrado un problema con las máquinas virtuales Ubuntu confiugradas para adquirir una IP via DHCP. Después de unos cuantos intentos nos aparece un mensaje. Algo como...
"5 bad checksums in last 5 udp responses" (edito cuando tenga el mensaje literal).
En su día encontré esto identificado como un "known issue" en XenServer (aqui). El caso es que la versión del ISC DHCP client que usan en ubuntu carece de un parche que soluciona este problema (y que si que se incorpora en distros basadas en RHEL (RHEL, CentOS, Fedora...)). Hay dos opciones. Una es usar el paquete del cliente DHCP de una de estas distros en Ubuntu (ya os aviso que el rpm tal cual no anda, por dependencias y rutas de archivos incorrectas), o, en el servidor DHCP ejecutar:
ethtool -K etho tx off
De este modo, se deshabilita el checksumming de UDP en la interfaz eth0 (asumiendo que servis el DHCP por esa interfaz, si no, usad la interfaz que os convenga). El cambio es immediato y veremos que las MV con Ubuntu ya cogen IP.
En el caso de KVM lo estoy probando con una VM que he creado, por lo que he añadido esta línea directamente en el archivo /etc/rc.local para que se ejecute en cada reinicio.
En el caso de cloudstack, ya que los routers virtuales que sirven DHCP se crean automáticamente a partir de una plantilla base + scripts de configuración, lo que hice fué seguir éste procedimiento para modificar la ISO que contiene los scripts de inicio de las MV de sistema, y añadir en el correspondiente /etc/rc.local el comando que os pongo arriba.
Saludos!
Proxmox VE beta 2.0
Hola!
Buff cuanto tiempo sin escribir... Me da hasta pereza... Bueno a lo que venía.
Hace ya un tiempo os hablé de Proxmox VE, y por lo que veo, era la versión 1.6. El otro día me acordé de él haciendo más pruebas para el mini laboratorio que tengo en casa y me encontré con que hay una beta de la versión 2.0. Por cierto el laboratorio ya no es ESXi desde hacía algun tiempo (cambié a XenServer 5.6 y después a un intento fallido de OpenStack)
A parte de nuevas versiones de paquetes y que está basado en Debian 6, lo que más llama la atención de Proxmox VE 2 es el rediseño de la interfaz. No se a cuantos os pasaba como a mi, pero la verdad es que la interfaz de la serie 1.X es bastante horrenda. Funcional, muy funcional, pero fea hasta con avaricia.
Por el resto de cosas, no veo muchos cambios a nivel funcional respecto a la serie 1.x (no probé mucho aquella y llevo poco con ésta) aunque es muy posible que la implementación interna sea distinta.
Usar qemu-img para convertir las imagenes de XenCenter (VHD) a imagenes raw o qcow2 para KVM también fué un plisplas.
En definitiva. Si tenéis poco presupuesto para virtualización y no requerís de muchas florituras, Proxmox es muy buena opción (no uséis la 2.0 en producción ya que aún está un poco verde, pero con la 1.9 podréis hacer, a grandes rasgos, lo mismo).
Ah, si usáis Ubuntu 11.10 con Firefox y no os funciona la consola web en la beta 2.0, echadle un ojo a ésta página.
Instalar certificado en IIS 7
El otro día tuve que instalar un certificado para SSL en un IIS 7 (en Windows Server 2008). El caso es que en cuanto me puse, me encontré con un problema, el certificado se instala correctamente, y justo después desaparece.
Por lo que parece, en IIS 7, el certificado que instales tiene que llevar la clave pública y la clave privada obligatoriamente. En IIS 6, sobre Windows Server 2003 valía con instalar una clave pública, pero en IIS 7 no.
Al final buscando un poco en Google, encontré esto. Es para SQL Server 2008, pero el mismo método sirve para IIS 7.
Básicamente, tenemos que tener la clave pública y la privada en ficheros separados (al fin y al cabo, nos hacen falta para solicitar el certificado). Opcionalmente podemos tener el certificado de la entidad intermedia, pero no es obligatorio. Ah y necesitamos tener instalado openssl. Yo lo hice desde una estación de trabajo linux y lo instalé con apt-get, para instalarlo en Windows... supongo que habrá algún instalable.
Para generar el certificado válido para IIS 7 tenemos que ejecutar el comando:
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.txt -in certificate.txt -certfile intermediate.txt
Dónde privatekey.txt es la clave privada, certificate.txt es el certificado público y intermediate.txt, si lo tenemos, es el certificado de la entidad intermedia. Si no lo tenemos basta con quitar la parte "-certfile intermediate.txt".
Configurar Windows Server 2008 como cliente NTP
Con la manía que tienen de complicar las cosas... Hay que abrir un cmd y poner:
w32tm /config /update /manualpeerlist:ntp.server.dom /syncfromflags:MANUAL /reliable:YES
w32tm /query /source
Saludos!
Ampliar soft partitions en Solaris 10
Queremos romper una soft partition (en nuestro ejemplo, la d147) y repartir el tamaño en dos soft partitions nuevas y reaprovechar el tamaño sobrante para extender otra soft partition del mismo metadevice.
d147: Soft Partition
Device: d104
State: Okay
Size: 50331648 blocks (24 GB)
Extent Start Block Block count
0 138412288 50331648
d104: Mirror
Submirror 0: d114
State: Okay
Submirror 1: d124
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 189009024 blocks (90 GB)
d114: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s4 0 No Okay Yes
d124: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s4 0 No Okay Yes
Para borrar la soft partition:
root@solaris10 # metaclear d147
d147: Soft Partition is cleared
Y creamos dos soft partitions de 10GB cada una:
root@solaris10 # metainit d147 -p d104 10g
d147: Soft Partition is setup
root@solaris10 # metainit d148 -p d104 10g
d148: Soft Partition is setup
-p le dice a metainit que queremos crear una softpartition. En el device, en vez de un identificador de disco (cXtXdXsX), le pasamos el metadevice en cuestión (d104) y le decimos que tamaño tiene que tener (en este caso 10GB). Para ver el resultado:
root@solaris10 # metastat
...
d148: Soft Partition
Device: d104
State: Okay
Size: 20971520 blocks (10 GB)
Extent Start Block Block count
0 159383840 20971520
d104: Mirror
Submirror 0: d114
State: Okay
Submirror 1: d124
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 189009024 blocks (90 GB)
d114: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t0d0s4 0 No Okay Yes
d124: Submirror of d104
State: Okay
Size: 189009024 blocks (90 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c0t1d0s4 0 No Okay Yes
d147: Soft Partition
Device: d104
State: Okay
Size: 20971520 blocks (10 GB)
Extent Start Block Block count
0 138412288 20971520
...
Ya podemos crear un filsystem en esas particiones para poder montarlas. Ahora asignamos el espacio disponible (~4GB) a la soft partition d145 que esta en el mismo metadevice:
root@solaris10 # metattach d145 all
d145: Soft Partition has been grown
Le decimos que queremos asignar a la soft partition d145 todo el espacio disponible en el device en que reside (en este caso el metadevice d104)
root@solaris10 # metastat
...
d145: Soft Partition
Device: d104
State: Okay
Size: 29625453 blocks (14 GB)
Extent Start Block Block count
0 109052096 20971551
1 1 30
2 41943073 30
3 83886145 30
4 85983329 30
5 106954881 30
6 109052065 30
7 138412257 30
8 159383809 30
9 180355361 8653662
...
Con esto hemos extendido la soft partition, pero el filsystem sigue teniendo el mismo tamaño:
root@solaris10 # df -h
...
/dev/md/dsk/d145 9.8G 5.7G 4.0G 59% /zona/pepe/usr/sap/PEP
...
Usamos growfs para expandir el sistema de archivos en caliente:
root@solaris10 # growfs -M /zona/pepe/usr/sap/PEP /dev/md/rdsk/d145
/dev/md/rdsk/d145: Unable to find Media type. Proceeding with system determined parameters.
/dev/md/rdsk/d145: Unable to find Media type. Proceeding with system determined parameters.
Warning: 916 sector(s) in last cylinder unallocated
/dev/md/rdsk/d145: 29625452 sectors in 4822 cylinders of 48 tracks, 128 sectors
14465.6MB in 302 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
28709408, 28807840, 28906272, 29004704, 29103136, 29201568, 29300000,
29398432, 29496864, 29595296
A growfs hay que pasarle el punto de montaje que queremos extender (-M /zona/pepe/usr/sap/PEP) y el raw device sobre el que
se tiene que extender (la soft partition que acabamos de extender). Ahora podemos comprobar que el filsystem ocupa los 14GB.
root@solaris10 # df -h
...
/dev/md/dsk/d145 14G 5.7G 8.1G 42% /zona/pepe/usr/sap/PEP
...
Listo, y sin "downtime"...
Proxmox VE
Hacía tiempo que conocía el tema de la virtualización con el kernel de linux (tipo KVM, etc.) y la verdad que nunca lo había probado porque me daba cierta vagancia liarme con la consola de texto para manejar las VM's. Pues ayer intentando gastar la tarde, me encontré con ProxMox, un sistema "a lo VMWare" con virtualización basada en KVM o contenedores OpenVZ.
La verdad es que está bastante bien. Descargas una ISO muy libiana (336MB), se instala en un momento y una vez reinicias, puedes acceder a una consola web donde puedes crear VM's, añadir ISO's, almacenamiento, etc. Incluso, con un par de comandos puedes montar un entorno en clúster (y con un par de hosts, por supuesto) sin complicación alguna.
Tiene la opción de usar almacenamiento en red con NFS, iSCSI o un share de Samba, e incluso, puedes integrar DRBD muy facilmente. Esta basado en debian y a mi me ha dejado poner tres contenedores VZ corriendo a la vez en un Pentium D con 1GB de RAM (sí, lo sé, pero no tengo nada mejor para probar).
Plantilla para Zabbix – Windows en castellano
Hola a todos.
Esta semana he estado investigando con Zabbix, un (otro) sistema de monitorización open source. Si no lo habéis provado, os recomiendo hacerlo, ya que está muy, muy bien. Para empezar tanto el agente como el servidor son bastante livianos y no aportan una carga significante. Al principio es un poco engorroso de configurar, pero una vez le coges "el puntillo" vas bastante "al tajo". También te hace multitud de gráficos con un número mínimo de clicks (lo cual está muy bien de cara a dirección o al cliente) y pueden configurarse SLA's para que nos avise si se incumplen etc.
Bueno, aloquevamos.com que me lio. El caso es que trae bastantes plantillas que están muy bien para monitorizar sistemas más o menos estándar, entre los que por supuesto, están los sistemas Windows. Dicha plantilla hace uso de los contadores de rendimiento de Windows, pero por supuesto vienen configurados para la lengua de Shakespeare, con lo que si las aplicamos sobre un host con Windows Server en castellano, veremos que el item de turno cambia su estado a "Not Supported". Os dejo por aquí la plantilla para los Windows en castellano, para el que le de pereza buscar las traducciones de los contadores.
Salute e forza!
iPhone infectado. Empezamos pronto!
Pues sí. Tengo el iPhone desde hace ya un tiempo (es el 3G, sin S ni nada) y con la reciente actualización a iOS 4.0 tenía una espinita clavada con el tema del multitarea y alguna otra así que me decidí a hacerle el famoso jailbreak.
Instalé un par de aplicaciones de dudosa procedencia y el tema del acceso por SSH al iPhone (a parte claro está de activar el multitarea). Esto lo hice entre el jueves y el viernes de la pasada semana y todo perfecto. Este fin de semana he asistido al GP de Catalunya de MotoGP y no lo toqué.
El caso es que hoy estaba mirando como hacer overclock al iPhone y me he encontrado con que no podía acceder por SSH al dispositivo. Después de reinstalar OpenSSH un par de veces (ya sabéis, si no funciona, reinicia) y ver que seguía sin funcionar, me he encontrado con ésto. El caso es que el viernes estuve dundando sobre cambiar la contraseña del root en el iPhone (evidentemente no sabía nada sobre el gusano este) y al final no lo hice. Aún no tengo muy claro como se ha infectado el iPhone, ya que no se ha conectado a ninguna wifi... Si alguien lo sabe que me lo explique.
El caso es que ya están los dos ficherines borrados y ya puedo entrar por SSH de nuevo. Y por supuesto he cambiado la contraseña del root.
Saludos a todos odos.
No se puede instalar Service Pack. Acceso Denegado
Me he vuelto "mico" estos días en el trabajo intentando actualizar un SQL Server 2000 a SQL Server 2008, por el problema de base que el servidor en cuestión ni siquiera tenía instalado Service Pack 2. Lo sé.
El problema es que al intentar instalar el SP2, me aparecía el error "Acceso Dengado". Esto me había pasado ya con XP y la solución era el famoso cmd que resetea los permisos del registro y algunos directorios para que la instalación se pueda llevar a cabo. En este caso no fué esta la solución. Después de muchas vueltas y muchas pruebas (borrando claves de registro con nulls y cosas de esas), me encontré con esto:
El artículo viene a decir que Windows Server (en el caso del artículo SBS) tiene un "tope" de actualizaciones instaladas!!!! Comorl!?!? Por lo visto hay una base de datos que mantiene un registro de los parches instalados y como todo, tiene un límite. Si esa base de datos "se llena" no hay mas updates.
En el blog de technet dan una solución automática y una manual. Yo probé las dos, por si acaso, y fué perfecto. Después de ejecutar el bat de marras, SP2 se instaló correctamente.
Por si lo necesitáis el bat es éste (copiad y pegad en un fichero y ponedle la extensión bat):
----------- BEGIN ---------------
@ECHO OFF
SETLOCAL EnableDelayedExpansion
net stop cryptsvc
cd /d %WINDIR%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
attrib -s *.*
md %WINDIR%\system32\CatRoot\backup
FOR /F "delims=" %%a in ('REG QUERY "HKLM\Software\microsoft\Windows NT\CurrentVersion\Hotfix"') DO (REG QUERY "%%a" /v "Service Pack" | findstr /c:"0x2"
if !ERRORLEVEL!==0 (
For /f "delims=\ tokens=7" %%i in ('REG QUERY "%%a" /v "Service Pack"') do (
move %%i.cat %WINDIR%\system32\CatRoot\backup
)
)
)
if exist %WINDIR%\system32\CatRoot\backup\kb912354.cat copy %WINDIR%\system32\CatRoot\backup\kb912354.cat
%WINDIR%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
ren %WINDIR%\system32\catroot2 catroot2.old
md %WINDIR%\system32\CatRoot2
net start cryptsvc
@echo Ready for SP2 install. You can now restart the SP2 installation.
----------- END ---------------
Saludos a todos!




