GlusterFS

GlusterFS es un gestor de ficheros en red. Básicamente lo que permite es replicar unos mismos ficheros en varios servidores, para luego con los clientes de glusterfs conectar a alguno de ellos y definir otro de backup en el caso de que se caiga el primero. Con éste sistema tenemos redundancia de los datos.

La recomendación es usar 3 nodos servidores de gluster, en mi caso, ahora mismo no dispongo del tercero, y lo añadiré mas tarde.

Vamos a trabajar con 3 nodos, Node1A, Node1B y Node2A, los dos primeros serán los servidores que tendrán el disco duro que queremos compartir en red, y el último sólo va a actuar como cliente.…

proxmox 6 + ceph

Por fin otro logro mas que me había dado guerra durante muchas horas, el motivo un ceph roto al que de momento he preferido migrar los datos a otro sitio y ya con mas calma intentaremos recuperarlo (ya vendrá otro post otro día sobre éste tema).

En motivo del ceph roto he aprovechado para reinstalar la infraestructura de proxmox entera sobre proxmox6 (debian10).

Partimos de 5 nodos unidos en el cluster (pvecm add ipmaster), sólo vamos a instalar ceph en 3 de ellos.

- node1A - 172.31.0.1 (ceph)
- node1B - 172.31.0.2
- node1C - 172.31.0.3 (ceph)
- node1D - 172.31.0.4 (ceph)
- node2D - 172.31.0.8

El nodo maestro del cluster es “node1D”, y para ver que ésto no implica nada a la hora de configurar ceph y también porque romper el 1D era una cosa que no me podía permitir… vamos a empezar por “node1A”.

Para ello vamos a la interfaz web de proxmox e instalamos ceph:…

Levantar tunnel vtun con lxc (proxmox)

Me encuentro con éste error

Oct 31 13:16:06 asterisk vtund[1748]: VTun client ver 3.X 05/15/2013 started
Oct 31 13:16:06 asterisk vtund[1748]: Connecting to 213.162.195.57
Oct 31 13:16:06 asterisk vtund[1748]: Use SSL-aware challenge/response
Oct 31 13:16:06 asterisk vtund[1748]: Remote Server sends #012.
Oct 31 13:16:06 asterisk vtund[1748]: Session sipcapa8[213.162.195.57] opened
Oct 31 13:16:06 asterisk vtund[1748]: Can't allocate tun device tun1000. No such file or directory(2)
Oct 31 13:16:06 asterisk vtund[1748]: Session sipcapa8[x.x.x.x] closed
Oct 31 13:16:06 asterisk vtund[1748]: Exit
Oct 31 13:17:09 asterisk vtund[1727]: Terminated

El motivo es que al tratar de levantar interfaces de red dentro del lxc no tenemos permisos y tenemos que definirle que éste contenedor si puede levantar interfaces de red.

Primero entramos en el host donde se encuentra el contenedor y apagamos el contenedor

# pct shutdown 104

Para ello modificamos el fichero de configuración del contenedor y añadimos al final ésta línea

root@wezen-04:/etc/pve/lxc# vi /etc/pve/lxc/104.conf
lxc.cgroup.devices.allow: c 10:200 rwm

Ahora arrancamos el contenedor de nuevo y ejecutamos los siguientes comandos

root@wezen-04:/etc/pve/lxc# pct start 104
root@wezen-04:/etc/pve/lxc# pct enter 104
root@asterisk:/# mkdir /dev/net
root@asterisk:/# mknod /dev/net/tun c 10 200
root@asterisk:/# ip tuntap add mode tap
root@asterisk:/# ip link
root@asterisk:/# service vtun restart
root@asterisk:/# ifconfig |grep tun
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00   
tun1000   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-0

Los comandos que hemos puesto los tendremos que ejecutar cada vez que reiniciemos la máquina, así que le decimos que ejecute éstos comandos justo después de levantar la interfaz de red

auto eth1
iface eth1 inet static
        address x.x.x.x
        netmask 255.255.255.224
        

Clúster Proxmox + añadir disco

El resumen de la de hoy, montar un clúster proxmox y luego añadir un disco addicional a /var/lib/vz2.

La primera es que partimos de 3 servidores, que es el mínimo recomendado para montar un clúster de proxmox. El motivo es que los nodos del clúster sincronizan continuamente los datos y si uno de los nodos se cae, si sólo hubiese dos podría dar problemas al reconstruir el nodo, ya que algunos datos se quedaron desactualizados o a medias en el nodo del clúster que está caído (que ha dejado de funcionar). Así que si montas cualquier tipo de clúster, el mínimo son 3 nodos, o 3 servidores distintos, en éste caso con instalaciones de proxmox.

Tengo 3 servidores con éstos nombres y éstas IPs (todos sin maquinas virtuales y se recomienda así para que no haya problemas de IDs duplicados)

– wezen-01.capa8.cat 10.90.226.90
– wezen-02.capa8.cat 10.90.226.91
– wezen-03.capa8.cat 10.90.226.92

Wezen-01 será el “master”, siempre que tengamos que levantar el clúster después de un corte de electricidad, vamos a levantar primero ésta máquina.

Entramos en el servidor wezen-01 y ejecutamos pvecm create nombredelcluster. Tenemos que tener en cuenta que se no se puede cambiar el nombre una vez creado y se recomienda no cambiar las IPs.

root@wezen-01:~# pvecm create wezen

Ahora entramos en los dos otros nodos y los conectamos con el nodo maestro. Nos pedirá el password de root del servidor maestro.

root@wezen-02:~# pvecm add 10.90.226.90
root@wezen-03:~# pvecm add 10.90.226.90

Y listos, ahora si miramos el estado del clúster nos …

Proxmox + nat + iptables

Acabo de contratar un servidor en un datacenter y sólo me dan una sola ip.
Como me gusta tener los servicios separados y todo bien ordenadito le he instalado proxmox 4, con soporte LXC, pero necesito que el host se comunique con los contenedores de alguna forma.

Lo que vamos a crear va a ser una interfaz virtual nueva, donde crearemos nuestra subred y luego redigiremos los puertos con iptables. Esto es lo que se llama hacer nat y redirección de puertos :P…

Convertir contenedor lxc a contenedor compatible con proxmox

Un contenedor lxc funcionará en un host que tiene instalado proxmox, pero si queremos poder administrarlo cómodamente desde el interfaz de proxmox, tendremos que prepararlo para que lo entienda proxmox.

Inicialmente había probado de mover directamente los ficheros a los directorios correctos, pero de momento no veo como hacer que proxmox entienda un rootfs sin formato .raw, una de las cosas que no me gustó al ver trabajar a proxmox con lxc, con vz podías acceder desde el host directamente a los ficheros del contenedor :(…

Proxmox 4.0-beta

El 23 de Junio salió la beta de proxmox 4.0. Esta versión trae con ella un cambio realmente grande e interesante… los contenedores vz, pasan a ser contenedores lxc!

En Proxmox Downloads, nos podemos descargar la iso de la beta.

Al instalarla por algún motivo no se dejaba porqué me soltaba “gtk-critical gtk_container_remove”, así que he leído que desconectando el cable de red la instalación seguía adelante, lo he hecho y efectivamente he podido terminar de instalar proxmox! (es importante hacer la instalación desde un disco limpio, que no haya otro proxmox, porqué tampoco se va a dejar!).

Al entrar al interfaz web, pues como siempre, la apariencia la misma, pero con algunos cambios pequeñitos que no se ven a la primera.…

Migrar template OVA a proxmox

Proxmox no tiene soporte nativo para un template OVA, cosa curiosa porque se trata de un formato abierto para crear maquinas virtuales empaquetadas, también llamadas “virtual appliances”.

Es posible pero hacer funcionar un template en proxmox pero vamos a tener que hacer algunas cosillas para que proxmox sepa comerse el OVA.

Lo primero será subir el fichero OVA al servidor proxmox por scp (ssh), por ejemplo en /root…

Configurar vlans, bondings y IPv6 en un Proxmox

Venga, hoy tenemos una configuración completita! :)

Nos encontramos con un equipo que tiene instalado proxmox y quiero que sus contenedores puedan tener vlan. Toda feliciana me propongo de pasar olímpicamente de configurar las vlan con el proxmox ya que alguna vez lo he intentado desde el interfaz y no hay ni un solo menú que sirva para realizar esta tarea.

Como es normal, busco en el blog para manuales de referencia y me pongo a seguir éste: Configurar vlans con GNU/Linux. Pero me encuentro que no me hace ni puñetero caso, así que buscando por internet leo que es necesario tener el módulo 8021q activado, así que trato de activarlo y el sistema dentro del contenedor me suelta palabrotas:

root@murzim-dnsnat64:/# modprobe 8021q
libkmod: ERROR ../libkmod/libkmod.c:505 kmod_lookup_alias_from_builtin_file: could not open builtin file '/lib/modules/2.6.32-27-pve/modules.builtin.bin'
FATAL: Module 8021q not found.

Proxmox: Montar particiones del host amfitrión a la máquina virtual

Tenemos el ejemplo de un hd externo con los backups

amfitrión] mount -t auto /dev/sdc2 /mnt/hd
amfitrión] mount -n -t simfs /mnt/hd /var/lib/vz/root/105/mnt/hd -o /mnt/hd
amfitrión] vzctl enter 105

root@v-www-conway:/# ls /mnt/hd
backup_conway  backups_vonneuman  ibdata1      ib_logfile1  mysql               wikies
backup_sda3    debian-5.0.flag    ib_logfile0  lost+found   mysql_upgrade_info

root@v-www-conway:/# mount
/dev/simfs on / type simfs (rw)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid)
proc on /proc type proc (rw,nosuid,nodev,noexec)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec)
/dev/sdc2 on /mnt/hd type ext3 (rw,data=ordered)

root@v-www-conway:/# fdisk -l
cannot open /proc/partitions

root@v-www-conway:/# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/simfs             20G   13G  6.6G  66% /
tmpfs                 4.0G     0  4.0G   0% /lib/init/rw
tmpfs                 4.0G     0  4.0G   0% /dev/shm
/dev/sdc2             114G   47G   62G  43% /mnt/hd

Mas info Bind mounts