Virtualizar un servidor y crear un cluster

Cómo Virtualizar un Servidor y crear un Cluster

En este post hablaremos sobre Cómo Virtualizar un Servidor y crear un Cluster

Virtualizar un servidor es básicamente crear mediante software una aglomeración de los recursos para que posteriormente se crear instancias o entornos.

Mi recomendación es que si eres una empresa o no tienes conocimientos de informática (Virtualización, redes y subredes) mandes un correo o llames a una empresa especializada. En este caso hay una empresa en Valencia especializada y con un gran soporte en Virtualización VMWARE que es similar a ProxMox pero más profesional.

 

Para este articulo he utilizado todas las posibilidades. He quemado la imagen de proxmox en un usb de 8 gb y lo he instalado en un usb de 16 gb, en un disco duro externo y en un disco duro.

Nota: Si lo instalas sobre el sistema operativo Debian, debe ser la ISO de amd64, la de i384 te dará error.

Tabla de contenidos:

Verificar que el procesador sea virtualizable

Lo primero es comprobar que nuestro procesador nos permite la virtualización. Para ello antes de comprarlo entramos en la página de especificaciones y buscamos en el caso de Intel: Tecnología de virtualización Intel® y en el caso de AMD: Virtualización AMD.

Si no sabemos por lo que sea cuál es nuestro procesador podremos comprobarlo escribiendo en el Símbolo de sistema el siguiente código:

Para procesadores de la familia AMD:

grep --color svm /proc/cpuinfo

Para procesadores de la familia INTEL:

grep --color vmx /proc/cpuinfo

Dara algo así (ejemplo de procesador AMD):

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs sse5 skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb

Como Virtualizar un Servidor y crear un Cluster 0

Según la cantidad de veces que aparezca SVM (en el caso de Amd) o VMX (en el caso de un procesador de Intel) será la cantidad de núcleos.

Tambien podemos comprobarlo en el administrador de tareas. Yendo a la pestaña de Rendimiento, en CPU.

Como Virtualizar un Servidor y crear un Cluster 2

Una vez comprobado si el procesador nos permite la virtualización procedemos a instalar ProxMox.

Como Virtualizar un Servidor y crear un Cluster 4

Instalar ProxMox:

Si no tenemos ningún sistema operativo instalado lo más sencillo es descargar la ISO. El programa estrella es CDBurnerXP si usas un Windows antiguo ya que en Windows 10 y en Windows 7 permite grabar ISOs sin necesidad de ningún programa.

Para grabar la ISO sin programas:

Si tenemos instalado WinRar debemos cambiar la configuración pulsando botón derecho encima del archivo ISO de ProxMox que acabamos de descargar y pulsamos en "propiedades". Después en "abrir con:" cambiamos WinRar por Explorador de archivos.

Ahora volvemos a dar boton derecho encima de la ISO y ya vemos que nos aparecen dos opciones:

  • Montar
  • Grabar imagen de disco

Seleccionamos la segunda opción y solo queda elegir la unidad en la que se grabará.

Para instalar ProxMox a partir de Debian:

Solo funcionaria en este sistema operativo. Ningún otro.

Si ya tenemos Debian (en la instalación debieron seleccionar "fixed IP") instalado podemos instalar ProxMox con unos sencillos comandos:

echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg
apt update && apt dist-upgrade
apt install proxmox-ve postfix open-iscsi
apt remove os-prober
apt remove linux-image-amd64 linux-image-4.9.0-3-amd64
update-grub

 Y ya estaría. Ahora solo queda conectarse abriendo el navegador y escribiendo:

https://tuip:8006

Si no la sabemos ponemos el comando:

hostname --ip-address

Tutorial de uso de ProxMox:

Una vez instalado ya nos sale la pantalla de que se ha iniciado correctamente y la ip en la que podemos acceder mediante cualquier navegador.

Lo primero es que si usamos la versión sin suscripción tenemos que quitar los repositorios enterprise y poner los No-Subscription.

nano /etc/apt/sources.list.d/pve-enterprise.list

Y delante de todo ponemos una almohadilla:

#

Salimos pulsando [Ctlr] + [X], se nos pregunta si queremos guardar [S] y sin cambiar el nombre del archivo pulsamos ya Intro.

Ahora añadimos el repositorio:

nano /etc/apt/sources.list

Y añadimos dejando el resto de repositorios:

deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

Salimos del editor de texto “nano” igual que hicimos en el anterior paso. Y por último añadimos la key escribiendo (o copiando) en la consola:

wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

Vamos a actualizar el servidor con el comando:

apt-get update && apt-get dist-upgrade

Luego entramos en la url:

https://IP-SERVIDOR:8006/

Y ponemos como usuario:

root

Y la contraseña la cual introducimos al instalar proxmox.

Vamos a subir la ISO del sistema operativo que queramos. Para ello vamos al almacenamiento local ➡ Contenido ➡ Cargar.

Como Virtualizar un Servidor y crear un Cluster 6

Para crear una máquina virtual en ProxMox solo tenemos que pulsar en la pestaña con el nombre que pusimos a nuestro nodo de servidor y en la parte derecha, zona de arriba, ya podemos ver "Crear VM".

Como Virtualizar un Servidor y crear un Cluster 8

¿Que es un RAID?

La traducción es: grupo redundante de discos independientes.

Los beneficios de esta configuración es una mayor tolerancia a fallos o mayor tasa de transferencia y capacidad total.

No es una configuración exclusivamente de servidores. Cualquier ordenador que tenga varios discos duros pueden hacerlo. Se recomienda eso si que los discos duros sean iguales.

Entre los RAID más populares están:

RAID 0

Para hacer este tipo de configuración se necesita un mínimo de dos discos duros. Se basa en escribir los datos de forma paralela pero solo una vez. Esta aumenta la velocidad de escritura y aparecería en el ordenador como un solo disco duro.

No es redundante. Esto significa que no hay copias de los archivos. Solo es como si se hiciera un disco duro de mayor tamaño.

RAID 1 

Crea una copia exacta de los archivos de un disco en otro. El rendimiento se duplica pero la capacidad se divide a la mitad. Solo será usable la capacidad de 1 disco.

RAID 2, RAID 3, RAID 4

Estos RAID no son utilizados en la actualidad.

RAID 5

El más popular. Los discos duros se dividen en bloques y la información se distribuye en forma de códigos de paridad (muy seguro). Es la mezcla de RAID 0 y RAID 1. Guarda todos los archivos en todas los discos duros, un cuarto de cada unidad es destinada a fallos y el resto (tres cuartos) es para el almacenamiento.

Hay más tipos de RAID.

 

Cómo hacer RAID de discos duros

Como hemos visto se pueden hacer varios tipos de RAID.

Para hacer un RAID 0:

Entramos en la BIOS pulsando F2 o F1 o la tecla (borrar) mientras encendemos el ordenador. Pulsamos una por una en cada intento. Si no funciona con uno intentamos el siguiente reiniciando el servidor o cargará el sistema operativo que tengamos.

En la pestaña Advanced (esto puede cambiar según la BIOS) vamos a la pestaña "Devices" y luego entramos en "SATA". Cambiamos la opción "Chipset SATA mode" de AHCI a RAID.

Guardamos la configuración.

Reiniciamos el servidor. Pulsamos “Ctrl+I” mientras encendemos el ordenador.

En la opción 1: “Create RAID Volume”.

Seleccionamos el tipo de RAID que queramos en "RAID level". Por último pulsamos “Create Volume”. Y al aceptar que se borraran todos los datos del disco ya tendremos las unidades en RAID.

Importar el certificado SSL

Para descargar el archivo voy a usar el programa: WinSCP

Una vez instalado, accedemos a la consola con la Ip de la máquina Proxmox, la contraseña y el usuario. Abrimos el directorio /etc/pve y descargamos el archivo pve-root-ca.pem

Una vez con el certificado SSL de Proxmox lo importamos en nuestro navegador Chrome:

Al entrar en el navegador , vamos a los tres puntos de la derecha para abrir Configuración. En ese menú bajamos a Avanzada y al pulsar se abren nuevas configuraciones con lo que iremos a Gestionar Certificados (Administrar la configuración y los certificados HTTPS/SSL) allí abriremos la pestaña Entidades de certificación raíz de confianza e importamos el certificado.

En Firefox simplemente al acceder a la ip ya nos permite añadir la excepción.

 

Autentificación en dos factores (2FA) en Proxmox

En la consola de Proxmox escribirnos

date

Y comprobamos que la fecha y hora son correctas si no tendríamos que cambiarlas. Ahoram generamos el código (la llave) OATH:

oathkeygen

Copiamos y guardamos los 16 caracteres que nos acaba de devolver la consola. Entramos a el panel de Proxmox con nuestra ip y contraseña. Vamos a la pestaña de Centro de datos ➡ Usuarios ➡ Editar. Una vez ahí vamos a la sección "Llaves IDs" y pegamos el código (la llave) que nos devolvió la consola y habíamos guardado, sin espacios. Le damos a aceptar y tres pestañas debajo de Usuarios se encuentra Autentificación. Seleccionamos el ámbito "pve" y pulsamos editar. Una vez ahí vamos a la sección "Factor-Dos de autentificación" y seleccionamos OATH. No cambiamos los parámetros y pulsamos Aceptar.

Para añadir la autenticación de dos factores usaremos nuestro dispositivo móvil en donde descargamos la aplicación de Google Authenticator.

Solo añadiremos el código (la llave) que tenemos guardada en la sección Your Key y el resto de parámetros no los modificamos.

 

Hacer seguro el servidor

Lo primero es instalar un antivirus. Que en Linux también hay malware. Desde la consola del nodo de Proxmox escribirnos:

apt-get install clamav clamav-daemon -y

De este antivirus también hay una version GUI (clamtk) pero como solo usamos el terminal en Proxmox no lo necesitamos. Vamos a actualizar todos los paquetes con:

apt-get update -y && apt-get upgrade -y

Ahora activaremos dos procesos para que se ejecute se forma autónoma. Escribimos primero uno y después el otro (copiando y pegando en la terminal):

/etc/init.d/clamav-daemon start
/etc/init.d/clamav-freshclam start

Por último si queremos analizar todo el sistema escribimos:

clamscan -r /

 

 

También vamos a instalar un servicio para prohibir la entrada a atacantes que han intentado entrar por fuerza bruta en nuestro servidor. Vamos a actualizar e instalar Fail2Ban:

apt-get update && apt-get -y upgrade && apt-get install fail2ban -y

Ahora vamos a copiar el archivo de configuración de Fail2Ban (jail.conf) y crear uno nuevo llamado jail.local que será el que modificaremos para adaptar las reglas:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ahora con el editor "nano" vamos a modificar algunos aspectos aunque ya estaría en funcionamiento:

nano /etc/fail2ban/jail.local

Pulsamos [Ctrl + W] para buscar:

ignoreip

Después del igual (=) podemos añadir las ip´s que por muchos intentos que tengan no queremos que sean baneadas. La ip que muestra por defecto es la del servidor. Podemos añadir ip´s individuales o rangos de ip.

bantime

Es el tiempo que estará baneada una ip que a fallado al entrar en el servidor. Se mide en segundos, por defecto trae 600 segundos que son 10 minutos. Si aumentamos o disminuimos el tiempo sería:

5 horas ∙ 60 (ya que una hora son 60 minutos) ∙ 60 (ya que un minuto son 60 segundos) = 18000

maxretry

Es el máximo de intentos que una ip puede intentar acceder antes de ser baneada. Por defecto son 5 pero se puede aumentar o disminuir.

Como Virtualizar un Servidor y crear un Cluster 10

Hay más número de configuraciones pero esas son las principales. Ahora pulsamos [Ctrl + X] y luego Y para salir y guardar los cambios.Ahora solo queda reiniciar el servicio:

service fail2ban restart

 

Usar el Firewall (cortafuegos)

Lo primero que tenemos que hacer es activarlo. Para ello vamos a Centro de datos ➡ Firewall ➡ Opciones ➡ Firewall Si. Realizamos el mismo recorrido para activarlo en el nodo. Luego podemos activarlo o desactivarlo en las maquinas virtuales o contenedores que queramos en las opciones de firewall de cada una.

Como Virtualizar un Servidor y crear un Cluster 12

El Firewall funciona con reglas. Estas permiten o niegan el tráfico hacia un punto determinado de la red. Para añadirlo vamos a la máquina virtual y en la parte superior de Firewall podemos ver el botón Añadir.

Dirección: Es el sentido del trafico. IN (Dentro). OUT (Fuera).

Acción: Podemos permitir (ACCEPT), negar (DROP) o rechazar (REJECT)

Luego la interfaz. Que es el nombre de la tarjeta de red de la máquina. Suele ser net0 pero se puede ver en cada maquina en Hardware. No es el nombre del puente (bridge). Es el nombre del dispositivo de red de la máquina virtual. No del nodo.

El Origen y Destino es la IP o el rango que queremos bloquear. Por ejemplo para bloquear el acceso al router de una maquina concreta ponemos el origen la ip de dicha maquina y el destino la IP del router. Podemos usar rangos para bloquear muchas ips al mismo tiempo. Aquí hay que saber un poco de redes. Un ejemplo seria 192.168.1.0/16. Donde la mascara de subred es 255.255.0.0. Entonces bloquearíamos todas las ips 192.168.X.X. Donde cada X puede ser cualquier numero. Cada bloque de 255 se pone como /8. Por lo tanto si queremos bloquear 3 seria /24.

Esta el botón activar. Que hay que pulsar para activar.

Por ultimo nos da la opción de seleccionar los puertos a bloquear e incluso nos deja poner por defecto algunos. Como bloquear el acceso web (HTTP + HTTPS).

Aquí una imagen para que quede mas claro lo de IN y OUT:

Como Virtualizar un Servidor y crear un Cluster 14

Añadir un segundo disco duro a Proxmox

Para aumentar el almacenamiento de nuestro servidor vamos a añadir uno o más discos duros. Una vez añadidos físicamente (conectados) vamos a el panel en https://IP-SERVIDOR:8006/ y Centro de datos ➡ Nodo (mostrará pve si no lo cambiamos en la instalación) ➡ Disks. En Dispositivo podemos ver la ruta de nuestro nuevo disco.

Ahora tenemos que escribir lo siguiente en la terminal del nodo (Cambiando /dev/sda por la ruta de nuestro nuevo disco y primerzpool por cualquier nombre):

zpool create -f primerzpool /dev/sda

Ahora volvemos a el panel y en Centro de datos ➡ Almacenamiento. Le damos a la pestaña Añadir ⬇ ZFS. En ID ponemos lo que queramos y en ZFS al pulsar ya nos sale el nombre de primerzpool. Podemos elegir el contenido que almacenará.

 

Borrar cualquier paquete o dependencia

Cuando instalas muchos programas o paquetes nos podemos quedar sin espacio o que consuman demasiados recursos por ellos hay dos comandos para limpiar completamente de esa dependencia nuestro servidor:

apt-get purge nombredelpaquete -y && apt-get autoremove -y

 

  • No hay puntuaciones ¡sé el primero añadir una!

Añadir un comentario

 

Tema Claro y Oscuro

¡Has cambiado de tema! También puedes alternar el tema con la combinación de teclas shift+d