Venga, vamos a ver si finalmente consigo instalar un servidor de correo que sea administrable, ya que las veces que lo he intentado siempre me he quedado a medias… vamos ahí de nuevo pues!
Partimos de una debian recién instalada (en mi caso tiro de un contenedor lxc) y actualizada.
Instalamos algunos paquetes básicos para poder usar en condiciones el sistema:
root@mail-nusepas:~# apt install vim mtr glances net-tools
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 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.
Otro post sobre el tiempo! ayer veíamos como no pasar la hora del host a una máquina virtual con virtualbox. Ahora vamos a ver como cambiar la hora del sistema host cuando date -s no te hace ni puto caso porque la fecha se está actualizando por otro lado, en éste caso timedatectl
Tenemos una maquina virtual con virtualbox en la que necesitamos que trabaje con una fecha distinta que la del host.
Lo primero será desactivar el cliente NTP de nuestro sistema operativo.
A continuación instalamos las guest additions (si queremos).
Y finalmente, desde el host, con el usuario que está corriendo el virtualbox (atención si lo ejecutas como “laura” por ejemplo, no hacerlo con root, ya que root no ve las maquinas virtuales de laura), ejecutamos lo siguiente
En el anterior manual instalábamos freeswitch con soporte de postgresql y veíamos como con la base de datos creada pero vacía, al arrancar creaba las tablas necesarias para trabajar. Pero las tablas que estaban no te permitían gestionar los usuarios de la centralita directamente desde la base de datos y estabas obligado a usar los ficheros de configuración y recargar la configuración. Pues en éste manual llegaremos a éste objetivo, para poder atacar desde otro programa a la base de datos y realizar cambios en caliente!
Vamos a ello pues… lo primero será parar freeswitch y borrar la base de datos y volver a crearla para que quede vacía.
root@freeswitch-capa8:~# /etc/init.d/freeswitch.sh stop
root@freeswitch-capa8:~# su - postgres
postgres@freeswitch-capa8:~$ dropdb freeswitch_db
postgres@freeswitch-capa8:~$ createdb -O freeswitch_user freeswitch_db
postgres@freeswitch-capa8:~$ psql
psql (9.6.7)
Type "help" for help.
postgres=# \dt
No relations found.
Iba a mostrar la instalación para debian 9, pero debido a cambios con apt en debian 9, que se ha desactivado el soporte de SHA-1 para la firma de los repositorios y que freeswitch requiere la firma con éste cifrado, no hay otra opción que usar debian 8 de momento.
Tengo un servidor que tiene instalado debian, pero quiero instalar el sistema operativo en uno de los RAID que he creado en la controladora, para tener el sistema operativo ahí en lugar del disco duro IDE.
El servidor no me arranca ni los pinchos usb ni tampoco un cd con una lectora de CDs externa y no puedo instalar el sistema operativo directamente a los discos que están en el RAID, así que sólo me queda arrancar el cd de instalación desde grub.
Para ello vamos a editar el fichero /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "debian" {
set isofile="/home/blackhold/firmware-9.2.1-amd64-i386-netinst.iso"
loopback loop (hd0,1)$isofile
echo "Starting $isofile..."
linux (loop)/install.386/vmlinuz
initrd (loop)/install.386/initrd.gz
}
La iso de instalación la tengo almacenada en /home/blackhold. Para mas información de como configurar el grub para otras distribuciones de linux seguid éste link y éste otro.
Y cargamos la configuración a grub
# update-grub
Reiniciamos y nos aparece la opción debian, entramos en ella y ya tendremos nuestra instalación :) para continuar con ella, deberemos tener la lectora de CDs conectada.
En ésta última captura voy a instalar en el RAID el sistema operativo nuevo y voy a dejar el otro indicandole no hacer nada con esta partición, de esta forma siempre voy a tener disponible un sistema …
Cuando queremos configurar el RAID de un servidor normalmente lo hacemos al arrancar el sistema, pero esto no nos permite saber remotamente si el RAID está correcto o no desde el propio sistema operativo, para ello, es posible instalar un software que se comunique con la controladora y permita realizar acciones con la misma desde terminal.
En mi caso tengo un servidor con dos controladoras raid 3ware serie 9000
# lspci |grep 3ware
00:01.0 RAID bus controller: 3ware Inc 9xxx-series SATA-RAID
00:03.0 RAID bus controller: 3ware Inc 9xxx-series SATA-RAID
# tw-cli /c1 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-5 OK - - 64K 11175.8 ON OFF
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 1.82 TB 3907029168 9WM7VLRJ
p1 OK u0 1.82 TB 3907029168 9WM69H87
p2 OK u0 1.82
Cuando los sistemas funcionan a diario es normal que con el tiempo los discos empiezan a dar errores, para ello tenemos a un buen aliado que se llama S.M.A.R.T. que nos avisa cuando la salud de un disco duro no es buena y cuando empiezan a salir errores, la recomendación es parar el disco y reemplazarlo.
Esta vez el disco que tengo tiene las configuraciones enteras de un sistema operativo y reinstalar y reconstruir el sistema operativo desde 0 sería mucho trabajo, así que la opción por la que he optado es clonar el disco duro a otro disco duro que no tiene errores (comprobado con badblocks!).
Al hacer el dd se me ha cortado a medio proceso porque se ha encontrado con la parte del disco defectuosa, así que he tenido que añadir un par de opciones para omitir los errores y seguir con el clonado:
El disco duro que estoy tratando de recuperar, realmente tiene varios sectores defectuosos que con dd no hay forma de clonar, así que he tenido que usar otra herramienta gddrescue
Con el -d le decimos a ddrescue que haga un acceso directo al disco e ignore el cache del kernel (clonación bit a bit)
Con el -r3 le indicamos que pruebe hasta 3 veces la lectura de los sectores defectuosos
Después de un buen rato finalmente el disco ha sido clonado con éxito y el …