Configura Ubuntu, Proxmox, Zabbix & NethServer para entornos de Oficina
Menu

Proxmox Ceph

7/14/2017

9 Comments

 
Picture
Regresar
El siguiente artículo describe los pasos para crear un Cluster en PROXMOX con "Alta Disponibilidad" sobre un entorno Virtualizado.  El objetivo es conocer a fondo PROXMOX Cluster, Ceph, "Alta Disponibilidad" entre otras características y beneficios para llevarlo a un entorno productivo.
​NOTA:  
  • Parte de este documentación toma como referencia los videos oficiales de PROXMOX en su cuenta de Youtube y la documentación en https://pve.proxmox.com/wiki/Main_Page
  • Para quienes han preguntado sobre las herramientas que utilizamos para la edición de estos artículos:
    ​Se utiliza Ubuntu Desktop, Inkscape, Gimp, Shutter, LibreOffice Write, fuentes libres de Google Fonts y Weebly.
​

Laboratorio PROXMOX + Cluster + Ceph + HA

Picture
 
Pasos a seguir para activar Cluster PROXMOX + Ceph y Alta Disponibilidad

1.  ¿Qué es Ceph?
2.  Habilitar "Nested Virtualization" en PROXMOX
3.  Creación de "Máquinas Virtuales" en PROXMOX
4.  Preparar "Máquinas Virtuales" para Cluster
5.  Activar Cluster PROXMOX
6.  Preparar enlaces en "Máquinas Virtuales" para Ceph
7.  Agregar Disco Duros en Nodos para Ceph
8.  Instalar librerías Ceph y Activación de Servicio
9.  Presentar "Bloques de espacio" al Cluster
10.  Pruebas de "Migración" y "Alta Disponibilidad"

 

1.  ¿Qué es Ceph?

Gráfica 1.1 - Descripción conceptual Ceph
  • En este gráfica se presentan dos Servidores/Nodos con PROXMOX, formando un Cluster.
  • Cada "Nodo" a través de Ceph pone a disposición del Cluster las unidades de almacenamiento que posee, permitiendo así crear un "Storage Ceph" de acceso común para los Nodos.
  • En otros términos:  Cada "Nodo" se convierte en una "Unidad de Almacenamiento" y similar (no igual) a un Raid5, Ceph replica la información entre los "Nodos" devolviendo al Cluster un Storage con "Tolerancia a fallos" y de Alto Rendimiento.
Picture
Los "Nodos" puede almacenar en el "Storage Ceph" los "Discos Virtuales" de las "Máquinas Virtuales (VM's) y Contenedores (LXC)", habilitando en el Cluster la posibilidad de "Migrar/Mover" las "Máquinas Virtuales" entre cada Nodo y definir reglas de "Alta Disponibilidad".
​
Este es un breve resumen de lo que podemos esperar de Ceph para este laboratorio.  Se sugiere entrar en más detalle técnico a través de la página oficial:   www.ceph.com y Wikipedia (Más información haga clic en cada link).
Adicional:   Es importante conocer como funciona PROXMOX Cluster, por tal razón sugerimos ver el link: 
  • PROXMOX NAS/SAN.  En el siguiente artículo vamos a presentar los conceptos básicos de almacenamiento basado en NAS/SAN y como funciona en entornos virtualizados PROXMOX.​ ​

 

2.  Habilitar "Nested Virtualization" en PROXMOX

El laboratorio requiere tres "Máquinas Virtuales" y queda a su criterio el Host Hipervisor, sin embargo en este artículo sugerimos configurar un servidor PROXMOX 4.x/5.x con "Nested Virtualization".
  • ​Nested Virtualization: "Virtualización Anidada" se refiere a ejecutar uno o más hipervisores dentro de otro hipervisor, optimizando así nuestro recurso.  Más información haga clic en este link Wikipedia.

Si desea repasar los pasos para instalar PROXMOX, haga clic en el siguiente link:
  • Instalación, configuración y creación de Cluster en PROXMOX.  Instalación básica de PROXMOX en un servidor físico y la activación de Cluster con 2 nodos.
    NOTA:  Es muy importante validar el Procesador del equipo donde vamos a instalar PROXMOX, verificando que cuenta con "Hardware Virtualization Extensions".​

Bueno, Ahora si... Después de tanto misterio iniciamos con la configuración...
​
2.1  Conexión vía SSH
Nos conectamos vía SSH a través de una terminal Linux, en el caso de Windows Putty.  También puede utilizar el Interfaz web y acceder al Shell de PROXMOX:
​
  • Interfaz Web ->   Lado Izquierdo, Clic en icono Server ->  Panel derecho, Clic en Shell
Picture
Dependiendo de nuestro procesador, ejecutamos los siguientes comandos:
2.2.1  Para procesadores Intel:
​
echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf

modprobe -r kvm_intel

modprobe kvm_intel

Después de ejecutar estos comandos, la siguiente instrucción  debe de devolver "Y":

cat /sys/module/kvm_intel/parameters/nested
2.2.2  Para procesadores AMD:

echo "options kvm-amd nested=1" > /etc/modprobe.d/kvm-amd.conf

modprobe -r kvm_amd

modprobe kvm_amd


Después de ejecutar estos comandos, la siguiente instrucción  debe de devolver "Y":

cat /sys/module/kvm_amd/parameters/nested

​No es necesario reiniciar el servidor, sin embargo para asegurarnos que todo funcione adecuadamente se sugiere reiniciar el servidor y validar que todo inicie adecuadamente.

 

3.  Creación de "Máquinas Virtuales" en PROXMOX

Después de habilitar "Nested Virtualization" en el host PROXMOX, iniciamos con la creación de las "Máquinas Virtuales" con las siguientes características:
3.1  Especificaciones "Máquinas Virtuales"
  • ​Memory (Memoria RAM):   Se recomienda un mínimo de 1GB de RAM.
  • Processors:   Importante!, seleccione el tipo de "Procesador" para la "Máquina Virtual" como "HOST", esta paramétrización permite habilitar las propiedades del "Procesador Físico" al "Procesador Virtual" como es el caso de " Intel VMX / AMD SVM".
Picture

​
​Gráfica 3.2 - Máquinas Virtuales con PROXMOX

Iniciamos con el proceso de instalación de PROXMOX VE en cada Servidor/Nodo.
​
  • ​NOTA:  Para simplificar esta guía vamos a plasmar el esquema de la empresa COSYSCO.NETWORK.
    ​
    Si es primera vez que configura un Cluster PROXMOX + Ceph y HA, le recomendamos utilizar las IP's y Hostname de los ejemplos, esto le permitirá avanzar de forma más fácil.  Más adelante podrá recrear el escenario con los datos de su organización.
Picture
3.3  Especificaciones de IP's y Hostname

Primer servidor Virtual (Primario):
  • Hostname:   nodeX000.cosysco.network
  • IP Network:  10.42.0.200
Segundo servidor Virtual:
  • Hostname:   nodeX001.cosysco.network
  • IP Network:  10.42.0.201
Tercer servidor Virtual:
  • Hostname:   nodeX002.cosysco.network
  • IP Network:  10.42.0..202​
​
Importante!
​Después de efectuar la instalación de los tres servidores es conveniente actualizar.
Ejecute en una terminal o Proxmox Shell:
​
  • apt-get update && apt-get -y dist-upgrade && apt-get remove --purge && apt-get -y autoremove --purge && apt-get clean && apt-get autoclean
Picture

 

4.  Preparar "Máquinas Virtuales" para Cluster

En un Cluster PROXMOX se debe definir uno de los Nodos como "Orquestador" con el objetivo de centralizar el trabajo, sin embargo cada nodo cuenta con su propio administrador Web.
Una de las ventajas de crear un "Cluster" es la habilitación de "Alta Disponibilidad" que en resumen, es definir reglas de migración automática a las "Máquinas Virtuales", entre los Nodos en caso de eventualidades.  Para ellos es muy importante la comunicación entre los miembros de Cluster y esta tarea lo efectúa "CoroSync" (Clic para más información técnica).  La documentación oficial de PROXMOX sugiere separar la comunicación del Cluster (CoroSync) del enlace de Red y Storage.

​En este artículo vamos explicar los pasos para configurar el Cluster en un enlace dedicado para CoroSync.
​
4.1  Agregar VNIC's a Nodos
  • Con el administrador web PROXMOX del HOST, vamos a agregar en cada "Máquina Virtual" una tarjeta de Red, con la característica que esté conectada a una VLAN.    En este ejemplo seguimos el esquema de COSYSCO.NETWORK, seleccionamos la VLAN 7.
  • En las "Máquinas Virtuales" tiene que aparecer automáticamente la nueva "Tarjeta Virtual".
Picture
  • Información Técnica:  Linux Bridge (vmbrX) es un "Puente Virtual" que conmuta con la tarjeta física de nuestro servidor físico.   Se comporta como un Switch Virtual, permitiendo a las "Tarjetas Virtuales" de las "Maquinas Virtuales" conectarse al interfaz físico.  Adicional, permite definir "Redes Virtuales (VLAN)" aislando la comunicación de las "Tarjetas Virtuales" en el grupo que se defina.  En este ejemplo se observa a las nuevas tarjetas aisladas y conmutadas en el grupo 7 o VLAN 7.

​Gráfica 4.2 - Configuración Tarjeta de Red para Cluster (CoroSync)

​Después de agregar las "Tarjetas Virtuales" a los Nodos, es necesario ingresar al administrador Web de cada unidad y configurar la tarjeta de Red con una IP válida.   Tome en cuenta que la tarjeta esta agrupada en la VLAN 7.
​
Picture
4.3  Revisar VNIC en cada Nodo
Picture
En los tres Nodos vamos a activar la nueva tarjeta siguiendo el esquema de COSYSCO.NETWORK
​
  • NodeX000 ->  10.0.0.200
  • NodeX001 ->  10.0.0.201
  • ​NodeX002 ->  10.0.0.202 ​
4.4  Configuración de VNIC para CoroSync
Picture
Después de efectuar estos cambios, es conveniente agregar en cada Nodo un Mapa de las "Tarjetas de Red".  Con esto nos aseguramos que los servicios del Cluster PROXMOX se conmute por los canales adecuados.  
4.5  Configuración hosts
Editamos en cada Nodo el archivo que nos permite definir y resolver direcciones:

vi /etc/hosts
Agregamos lo siguiente:


Importante!
Después de esta configuración es necesario reiniciar los tres Nodos.

 

5.  Activar Cluster PROXMOX

La activación del Cluster PROXMOX, es un proceso bastante sencillo que lleva 2 pasos:
  • Creación del Cluster en uno de los Nodos el cual se convertirá en el "Nodo Primario".
  • Agregar el resto de Nodos al Cluster apuntando al "Nodo Primario".

En publicaciones anteriores del "911-ubuntu" sobre "Instalación de PROXMOX y cómo crear un Cluster", presentamos un escenario sencillo donde los Nodos cuentan con una sola "Tarjeta de Red", por tal razón no conllevaba mayor diligencia.  En esta documentación se tiene un enlace separado para la comunicación del Cluster (CoroSync).​
​
Intercambio de "Llaves Públicas" entre Nodos y Activación de Cluster
​

PROXMOX utiliza el "Alias" de los Nodos para entrelazar los servicios y efectuar las gestiones requeridas vía SSH, por tal razón nos vamos a asegurar que cada Nodo tenga las "Llaves Públicas" de cada uno de los miembros del Cluster.

​Vamos a repetir los siguiente pasos para cada Nodo:
​
5.1  Ingresamos al NodoX000
  • ssh root@10.42.0.200

Obtener PublicKey Nodos:
  • ssh root@nodeX000 exit
  • ssh root@nodeX001 exit
  • ssh root@nodeX002 exit

Obtener PublicKey CoroSync:
  • ssh root@nodeX000-corosync exit
  • ssh root@nodeX001-corosync exit
  • ssh root@nodeX002-corosync exit

​Salimos del NodeX000
5.2  Ingresamos al NodoX001
  • ssh root@10.42.0.201

Obtener PublicKey Nodos:
  • ssh root@nodeX000 exit
  • ssh root@nodeX001 exit
  • ssh root@nodeX002 exit

Obtener PublicKey CoroSync:
  • ssh root@nodeX000-corosync exit
  • ssh root@nodeX001-corosync exit
  • ssh root@nodeX002-corosync exit

Salimos del NodeX001
5.3  Ingresamos al NodoX002
  • ssh root@10.42.0.202

Obtener PublicKey Nodos:
  • ssh root@nodeX000 exit
  • ssh root@nodeX001 exit
  • ssh root@nodeX002 exit

Obtener PublicKey CoroSync:
  • ssh root@nodeX000-corosync exit
  • ssh root@nodeX001-corosync exit
  • ssh root@nodeX002-corosync exit

Salimos del NodeX002



5.4  Crear Cluster y Agregar Nodos
​

Ingresamos al NodeX000 (Primario)
  • ssh root@10.42.0.200
Creamos el Cluster cosyscoLabs
  • pvecm create cosyscoLabs -bindnet0_addr 10.0.0.200 -ring0_addr nodeX000-corosync
Ingresamos al NodeX001:
  • ssh root@10.42.0.201
Agregamos al Nodo Primario -> NodeX001
  • pvecm add nodeX000-corosync -ring0_addr nodeX001-corosync
Ingresamos al NodeX002:
  • ssh root@10.42.0.202
Agregamos al Nodo Primario -> NodeX002
  • pvecm add nodeX000-corosync -ring0_addr nodeX002-corosync
5.5  Vista del Cluster PROXMOX
  • Después de efectuar los pasos descritos, el Nodo que activamos como Primario, debe presentar una nueva estructura en el panel de "Server View", mostrando a los tres Nodos.
  • En resumen, cada Nodo mantiene comunicación asincrónica al Cluster, reportando su estado y el de las "Máquinas Virtuales" que aloja.  La gestión de comunicación lo efectúa CoroSync a través de las tarjetas que están conmutadas en la VLAN 7.
Picture

Picture

 

6.  Preparar enlaces en "Máquinas Virtuales" para Ceph

Para habilitar "Alta Disponibilidad" en PROXMOX es necesario contar con un mínimo de tres Nodos y un Storage que centralice los "Discos Virtuales" de las "Máquinas Virtuales" y "Contenedores".
En "Entornos Empresariales" vamos a encontrar SAN/NAS brindado "Bloques de Espacio" (Lun's FC & iSCSI, NFS) con "Tolerancia a Fallos", permitiendo la conexión de múltiples Nodos PROXMOX y la habilitación de "Alta Disponibilidad" entre ellos.  Más información:  PROXMOX NAS/SAN.  En el siguiente artículo vamos a presentar los conceptos básicos de almacenamiento basado en NAS/SAN y como funciona en entornos virtualizados PROXMOX.
Nota:  Los conceptos que vamos a emplear para habilitar "Alta Disponibilidad" en el Cluster son similares para entornos con SAN/NAS.
6.1  Agregar tarjetas de Red a las "Máquinas Virtuales".
  • Con el administrador web PROXMOX del HOST, vamos a agregar en cada "Máquina Virtual" dos tarjetas de Red, con la característica que estén conectada a una VLAN.
    En este ejemplo seguimos el esquema de COSYSCO.NETWORK, seleccionamos la VLAN 13.
  • En las "Máquinas Virtuales" tiene que aparecer automáticamente las nuevas "Tarjetas Virtuales".
Picture
Gráfica 6.2 - Puente de comunicación Ceph

​Después de agregar las "Tarjetas Virtuales" a los Nodos, es necesario ingresar al Administrador Web del Cluster y agregar en cada unidad un "Linux Bond" que entrelace las dos nuevas tarjetas.  Tomar nota que ambas tarjetas están agrupadas en la VLAN 13.
Picture
Para esta parte del artículo, los Nodos están en Cluster y es mucho más fácil acceder a cada uno de ellos.   Entonces, siguiendo el esquema COSYSCO.NETWORK, vamos a configurarlo de la siguiente forma:
6.3  Agregar nuevas VNIC's
  • ​En cada Nodo, ingresamos a Network y revisamos la existencia de las dos nuevas "Tarjetas Virtuales" y que estén inactivas.  Tomar nota del nombre.
Picture
6.4  Agregar "Linux Bond"
  • El siguiente paso es crear un Interfaz Virtual para múltiples NIC's "Linux Bond", que en síntesis entrelaza dos o más tarjetas de red.
Picture

​Información Técnica:  Linux Bond se presenta como un Interfaz Virtual que entrelaza dos o más "Tarjetas de Red", brindando un enlace tolerante a "Fallos" y de alto rendimiento en "Transferencia de datos".  Para utilizar "Ceph Storage" es necesario contar con enlaces que conmute de forma eficiente.
​
Vamos a configurar "Linux Bond" en cada Nodo del Cluster de la siguiente  forma:
​

6.5  Configuración Linux Bond
  • IP Address:  se sugiere la siguiente configuración:
    Esquema COSYSCO.NETWORK
    NodeX000 ->  10.10.0.200
    NodeX001 ->  10.10.0.201
    ​NodeX002 ->  10.10.0.202
  • Slaves:  Ingrese el nombre de las dos tarjetas, en este ejemplo están identificadas como ens20 y ens21.
  • Mode:  Broadcast, indica que trasmite datos en todas las tarjetas entrelazadas "slaves".
Picture

 

7.  Agregar Disco Duros en Nodos para Ceph

Gráfica 7.1 - Agregar Unidades de Almacenamiento para Ceph
​Las unidad de almacenamiento (Disco Duro) donde se instaló PROXMOX, se utiliza específicamente para el Sistema Operativo, la capa Hipervisor PROXMOX, Swap & KSM, almacenar ISO's instaladores, Templates LXC, VM's Locales, entre otras cosas.   Esta unidad no se puede utilizar para formar parte del "Storage Ceph" por tal razón es necesario agregar a los Nodos, "Unidades de Almacenamiento Extra" para el aprovisionamiento de espacio del "Storage Ceph" del Cluster.
Picture
7.2  Agregar HDD
En cada Nodo PROXMOX vamos a agregar dos "Unidades de Almacenamiento Extra".  El objetivo de utilizar más de una unidad es brinda "Tolerancia a Fallos" con Ceph.  Las "Unidades de Almacenamiento" deben de ser iguales o Mayores al disco más pequeño asignado a Ceph.
Picture
7.3  Revisión de nuevos HDD
Después de agregar las "Unidades de Almacenamiento Extra" a cada Nodo es conveniente revisar su correcta integración y tamaño.
Picture
Importante!
Después de configurar "Linux Bond" y agregar las "Unidades de Almacenamiento Extra" se recomienda reiniciar cada Nodo para comenzar con la instalación de las librerías de Ceph y activación del servicio.

 

8.  Instalar librerías Ceph y Activación de Servicio

Después de reiniciar los Nodos, instalamos las librerias Ceph.
​
8.1.1  PROXMOX Versión 4.x
Ingresamos a cada Nodo para instalar las librerías Ceph con las siguientes lineas de comando:
  • ssh root@10.42.0.200
    pveceph install --version jewel
  • ssh root@10.42.0.201
    pveceph install --version jewel
  • ssh root@10.42.0.202
    pveceph install --version jewel
Activamos el servicio Ceph-Monitor en el Enlace creado con "Linux Bond".
NOTA:  Esto se hace únicamente en el Nodo Primario, que en este ejemplo es nodeX000
​
  • ssh root@10.42.0.200
  • pveceph init --network 10.10.0.0/24
  • pveceph createmon
8.1.2  PROXMOX Versión 5.x
Ingresamos a cada Nodo para instalar las librerías Ceph con las siguientes lineas de comando:
  • ssh root@10.42.0.200
    pveceph install --version luminous
  • ssh root@10.42.0.201
    pveceph install --version luminous
  • ssh root@10.42.0.202
    pveceph install --version luminous
Activamos el servicio Ceph-Monitor en el Enlace creado con "Linux Bond".
NOTA:  Esto se hace únicamente en el Nodo Primario, que en este ejemplo es nodeX000
​
  • ssh root@10.42.0.200
  • pveceph init --network 10.10.0.0/24
  • pveceph createmon
8.2  Estatus de Storage Ceph
Ingresamos al Nodo principal del Cluster, nos muestra el estatus del "Storage Ceph" que en este momento esta "Alertado", porque no encuentra Ceph-OSD que son los servicios asociados a las "Unidades de Almacenamiento Extra" y además son los responsables de la comunicación entre el "Storage Ceph", los Discos, Almacenamiento y replicación de datos.
Picture
8.3  Ceph Monitor
El siguiente paso es activar el "Monitoreo de Ceph" a los Nodos Restantes.   Esta acción activa automáticamente los Ceph-Monitor, en los Nodos de forma remota.

NOTA:  Tiene que quedar integrados todos los Nodos del Cluster que comparten recurso de "Unidades de Almacenamiento Extra".​
Picture
8.4  Crear Ceph-OSD
En cada Nodo vamos a crear Ceph-OSD que son los servicios asociados a "Unidades de Almacenamiento Extras".  Cada vez que damos "Create ODS" el nos muestra las unidades disponibles.
Picture
8.5  Vista  OSD
Toda vez finalicemos con cada Nodo, nos tiene que mostrar un escenario similar a este ejemplo.  NOTA:  Puede presionar "Reload" para refrescar la vista.
Picture

 

9.  Presentar "Bloques de espacio" al Cluster​

Después de habilitar las "Unidades de Almacenamiento Extra", el siguiente paso es presentar el "Storage Ceph" al Cluster como un "Storage RBD".   Antes de iniciar con la configuración es conveniente explicar la relación de Pools y RBD para así comprender lo que vamos a configurar con el Administrador Web de PROXMOX.
  • Pools: En "Proxmox Storage" Pool es el termino utilizado para describir un GRUPO de "Unidades del Almacenamiento" para guardar Información.  En el caso de Ceph corresponde al grupo de "OSD's" definidos para el aprovisionamiento de espacio del "Storage Ceph".
  • RBD:  RADOS Block Device, son "Bloques de Almacenamiento Virtual" que representan los Pools de Ceph ante el Cluster.
  • "Bloque de Almacenamiento Virtual":  Es la simulación de "Unidades de Almacenamiento", permitiendo a las "Máquinas Virtuales y Contenedores LXC" ver simplemente un Disco Duro con Espacio Disponible.
​
9.1  Vista Ceph Storage
Nuestro Storage Ceph, debe presentarse de la siguiente forma indicando que todo funciona adecuadamente.

​
Picture
9.2.1  Crear Ceph Pool
En este ejemplo creamos un pool con nombre "ceph-vms" el cual almacenará los "Discos Virtuales" de las "Máquinas Virtuales".   Se recomienda utilizar los valores en la imagen.   Haga clic para más información.
Picture

9.2.2  Información técnica:
Picture
  • Ceph construye pequeños contenedores denominados "Objetos" que a su vez son agrupados (pg_num), para su almacenamiento y replicación en los ODS.
  • En la pantalla Create Ceph Pool, se presentan los campos Size, Min. Size, Crush RuleSet y pg_num.  En resumen, representa la agrupación de objetos y su replicación máxima y mínima en los ODS.  Para completar esta información, estaremos trabajando en un artículo adicional que describe en detalle la parametrización de estos campos así como monitoreo de este tipo de infraestructura.
​
9.3  Crear RBD (RADOS Block Device)
A continuación creamos el Storage Ceph como RBD.
Picture
9.4.1  Crear RDB para ceph-vms
Se sugiere ingresar los valores en pantalla.
Picture

9.4.2  Descripción de campos de pantalla "9.4.1 Crear RBD para Ceph-vms"
  • ID:   Ingrese el nombre que le vamos a dar al Storage Ceph RBD.  En este ejemplo ceph-vms
  • Pool:  Nombre del pool al cual estará asociado el Storage. En este ejemplo es ceph-vms
  • Monitor(s):  Es importante ingresar la IP de cada "Linux Bond", se sugiere ingresa:
    Esquema COSYSCO.NETWORK
    NodeX000 ->  10.10.0.200
    NodeX001 ->  10.10.0.201
    ​NodeX002 ->  10.10.0.202
    NOTA:  las IP's se ingresan con un espacio de separación.
  • ​Nodes:   Nodos que tendrán acceso.
  • Enable:  Para Activar o Desactivar Storage.
  • Content:  Indica el tipo de contenido que aceptará.
    Disk Image es para "Máquinas Virtuales" y Container es para "LXC".
    LXC cuenta con parámetros extras, por esta razón es conveniente que las "Máquinas Virtuales" no coexistan con LXC en un mismo Pool, deben de estar separados.
  • KRBD:  Habilita soporte de múltiples discos y snapshots para LXC.​
​
9.5  Revisión de nuevo Storage
Después de efectuar los pasos anteriores, debe aparece en el Cluster y en cada Nodo el nuevo Storage.  Se observa que no se puede conectar.  Para solucionar esta situación continuamos con el paso 9.6
Picture
9.6  Copiar llave de Administración
Ingresamos al Nodo Primario:
  • ssh root@10.42.0.200
Crear Directorio de llaves Ceph
  • mkdir /etc/pve/priv/ceph
Copiamos la llave con el nombre ceph-vms
  • cp /etc/ceph/ceph.client.admin.keyring /etc/pve/priv/ceph/ceph-vms.keyring
Si agrega otro Pool y Storage debe de copiar la llave con el nombre del nuevo Storage, Ejemplo:
  • ceph-NUEVO.keyring

 

10.  Pruebas de "Migración" y "Alta Disponibilidad"

Estamos llegando a la fase final de este artículo, donde inicia lo divertido y justificamos el tiempo empleado al ver los resultados.   En esta etapa vamos a comprobar el correcto funcionamiento del Cluster y del Storage Ceph, efectuando migración de "Máquinas Virtuales" entre los Nodos para luego activar reglas de "Alta Disponibilidad".

Antes de iniciar es conveniente puntualizar lo siguiente:
  • "Virtualización Anidada" es un escenario para pruebas y aterrizar conceptos.  No podemos utilizarlo para un Entorno Productivo o esperar un buen rendimiento, más aún si le damos poco recurso al entorno.
  • Por la limitación en Memoria y Procesadores se sugiere utilizar "Máquinas Virtuales" con servicios básicos.
    En esta documentación vamos a utilizar una "Máquina Virtual" con lo siguiente:
    ​
    • Ubuntu Server 16.04 con Apache Server
      1 procesador 64bit
      32gb de HDD creado en ceph-vms
      ​384mb de RAM
      ​
  • También puede utilizar LXC que optimiza el recurso consumiendo un mínimo de RAM y CPU.
    Importante:  No olvidar crear un Pool y Storage RBD para LXC y habilitar propiedades extendidas KRBD
​
10.1  Revisar Storage RBD
El "Storage RDB" debe presentarnos el espacio disponible.  Si en un caso continúa sin conexión se sugiere revisar el paso "​9.6  Copiar llave de Administración".
Picture
10.2  Crear "Máquina Virtual"
En el siguiente ejemplo se crea una VM y se deja apagado para iniciar con las pruebas básicas.
  • Nota:  En esta documentación hemos restaurado una "VM" para facilitarnos el trabajo.
Picture
10.3  Migrar en modo Offline
El siguiente paso es validar en modo "Offline" (desactivada la opción Online) la migración de la VM, validando que todo funcione adecuadamente.
Picture
10.4  Revisar tarea Migración
Después de validar que la migración "Offline" funcione adecuadamente, efectuamos el mismo paso para trasladar al NodeX002.  Siguiente paso:  De regreso a nodeX001 y luego nodeX000.
Picture
Toda vez la migración "Offline" tanto de ida como de regreso funcione adecuadamente, podemos concluir que la comunicación entre los Nodos y Storage funciona adecuadamente.  El siguiente paso es encender la VM y efectuar las mismas prueba, tomando en cuenta que este escenario solo muestra los conceptos y que en algún momento puede quedarse la VM debido a lo limitado del escenario.
​
10.5  Habilitar Alta Disponibilidad

​Una de las ventajas de crear un "Cluster" es la habilitación de "Alta Disponibilidad" que en resumen, es definir reglas de migración automática a las "Máquinas Virtuales", entre los Nodos en caso de eventualidades.  Más información:  https://pve.proxmox.com/wiki/High_Availability
10.6  Crear "HA Group"
Antes de activar reglas de "Alta disponibilidad" se debe crear como mínimo un grupo HA, que en resumen es identificar un set de Nodos a ser presentados a las reglas.  En ocasiones es necesario tener varios grupos con los mismos Nodos con diferentes valores en Prioridad.
Picture
10.7  Agregar Regla HA
Para finalizar debemos crear las "Reglas de Alta Disponibiliad" a través de Resource que no son más que registros indicando el comportamiento de la "Máquina Virtual" o "Container LXC" en caso de eventualidades en el Nodo donde se aloja.
​
Picture

10.8  Descripción de campos de pantalla "10.7 Agregar Reglas HA"
  • Max. Restart:  Cantidad máxima de intento de reinicio de la VM o LXC en un Nodo después de su inicio fallido.
  • Max. Relocate: Cantidad máxima de intentos de reubicación de VM o LXC en un Nodo, para luego saltar al siguiente.
  • Request State:  Seleccionamos Started
    Started:  Define a la regla HA que la "Máquina Virtual o LXC" donde sea trasladada, se debe de reiniciarse.
    Stopped:  Define a la regla HA que la "Máquina Virtual o LXC" sea trasladada y se mantenga offliine.
    ​Disabled:  Define a la regla HA que la "Máquina Virtual o LXC" se intentará recuperar en el mismo Nodo.
10.9  Prueba de funcionamiento "Alta Disponibilidad"
Bueno amigos, hemos llegado al final y ahora queda en sus manos el experimentar con el Entorno Virtualizado.
​​
10.10  Vista de Regla "Alta Disponibilidad"
Después de activar "Alta Disponibilidad" la "Máquina Virtual" se enciende.
Picture
10.11  Simular error de "Cluster/CoroSync"
Se recomienda desactivar la tarjeta de "Cluster/CoroSync", esto simula la caída de comunicación del Nodo permitiendo observar el comportamiento de "Alta Disponibilidad".
Picture
10.12  Alertas Regla HA
Después de desconectar la tarjeta de comunicación de "Cluster/CoroSync" se habilita la alerta. 
Picture
10.13  Migración Automática
Después de unos minutos, vamos a observar que la "Máquina Virtual" se traslada hacia otro nodo.
Picture

Finalizado PROXMOX Ceph

  • PROXMOX Storage Directory con SSHFS.  Cómo Generar Backups, Restore, Importar y Exportar Máquinas Virtuales en un "Directorio Remoto".  Este artículo pretende demostrar lo fácil que puede ser gestionar este tipo de tareas a través de un entorno gráfico.​

Regresar

Picture

9 Comments
Maxwell
3/4/2018 09:15:22

Majestuosa explicación, muy bien detallado. Me gustaría que este artículo lo tratara utilizando SAN/NAS en vez de Ceph. Agradecido por todo lo que publicas. Un fuerte abrazo.

Reply
Rafael
3/4/2018 22:27:49

Excelente Manual.
Me anduvo a la perfección.

Mil Gracias.

Reply
sistemas
4/26/2018 09:59:49

Hola, impresionante la guia que han montado.

Me pierdo en el paso 8
Esta unidad no se puede utilizar para formar parte del "Storage Ceph" por tal razón es necesario agregar a los Nodos, "Unidades de Almacenamiento Extra" para el aprovisionamiento de espacio del "Storage Ceph" del Cluster.

Tengo en dos de los cuatro nodos que tengo, un disco extra, pero cuando intento crear el OSD no lo detecta.

¿Podrías ayudarme por favor?

Gracias de antemano.

Salu2.

Reply
Nico link
6/10/2018 02:03:10

De las mejores guias online que he visto de proxmox.

Reply
David link
3/28/2019 14:13:59

Gracias por la información, por fin un articulo excelentemente explicado para proxmox.

Reply
Ricardo
4/30/2019 05:46:45

Quería felicitaros por la currada del post.
Voy a echar un vistazo a todo vuestro sitio web, muy interesante.

Gracias!

Reply
Ra
6/26/2019 12:59:48

Muy buena guiá, la pienso implementar en un cliente!.

Ya teníamos creado el Cluster con Proxmox, pero la opción de HA realmente ayudaría mucho al negocio

Reply
Ra
6/26/2019 13:04:31

Muy buena guiá, la pienso implementar en un cliente!.

Ya teníamos creado el Cluster con Proxmox, pero la opción de HA realmente ayudaría mucho al negocio

Reply
Stanley
10/6/2019 12:55:07

Excelente explicación.
Me gustaria ver como haces la migración de XenServer 6.X a ProxMox 6, ya que es algo que estoy intentando hacer y seria fantastica tu guía.

Saludos y felicitaciones.

Reply



Leave a Reply.

    Editor:
    Juan Estuardo Hernandez

    Consultor Software Libre,
    Organización y Métodos.

    Acumular información es sólo el primer paso hacia la sabiduría. Pero compartir información es el primer paso hacia la comunidad.
    Henry Louis Gates, Jr


    Condiciones de uso:

    El contenido del website 911-ubuntu y este artículo en particular, es “Libre” y puede ser consultado por quien lo desee.

    Por favor “No haga copias de nuestros artículos”.   Si desea compartirlo puede referir nuestras publicaciones como un enlace (Link), así las personas interesadas obtendrá nuestras últimas actualizaciones.

    Como todo en la vida, nada es perfecto, así que si observas algún error o  desea mejorar el contenido de estos artículos, puede enviarnos un mensaje el cual será bienvenido.  (Formulario al pie de página).


    Gracias por continuar consultando 911-Ubuntu para Entorno de Oficina y Redes Corporativas.

Creative Commons License
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License
Powered by Create your own unique website with customizable templates.
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links
  • Principal
  • Ubuntu Oficina
  • Servidores
    • nethserver
    • Proxmox
    • Zabbix
    • fengoffice
    • ubuntu-server >
      • Control remoto
  • Links