Saludos amigos, hace un tiempo os mostré todas las novedades de Veeam Availability Suite v9.5 U4, y entre ellas, os he comentado en varios artículos todo el poder de Veeam Capacity/Cloud Tier, que nos permite aprovechar proveedores de Object Storage para almacenar gran cantidad de Backups que normalmente requieren una retención larga, meses, semestres o años.
Muchos de vosotros, y en la Comunidad, os habéis preguntado si se puede usar almacenamiento que tenemos en nuestros Datacenters que ofrezcan servicios de Object Storage, y la respuesta es sí, por supuesto, siempre que el producto publique el servicio de S3 siguiendo los estándares modernos debería funcionar. Veeam tiene una lista no oficial de productos y soluciones que podéis desplegar en vuestro Datacenter.
Y es de esta lista de donde he sacado uno de los productos que más me ha llamado la atención, debido a la compañía que está detrás, Dell EMC, y debido a que tienen una versión Community Edition, os estoy hablando de Dell EMC ECS.
Como esta entrada es bastante larga, os dejo el menú aquí para saltar a donde queráis:
- Vistazo rápido a Dell EMC ECS
- Vistazo rápido a Dell EMC ECS CE
- Requerimientos de sistema para Dell EMC ECS CE
- Despliegue de Dell EMC ECS CE OVA sobre VMware vSphere 6.7 U2
- Configuración de Dell EMC ECS CE OVA
- Configuración de Object Storage Repository y Capacity Tier en Veeam Backup & Replication v9.5 U4
Vistazo rápido a Dell EMC ECS
Dell EMC ECS es una plataforma de object storage líder en la industria diseñada para soportar cargas de trabajo tradicionales y de próxima generación. Disponible en múltiples modelos de consumo: es software defined, además de poderlo adquirir como un dispositivo llave en mano o como un servicio operado por Dell EMC- ECS. Permite a las organizaciones de todos los tamaños almacenar y administrar de forma económica datos no estructurados a cualquier escala y por cualquier período de tiempo.
EMC ECS es un sistema de object storage que hace uso de containers con almacenamiento persistente para protocolos de almacenamiento Cloud. ECS es compatible con AWS S3 y OpenStack Swift. En los buckets habilitados para archivos, ECS puede proporcionar exportaciones NFS para el acceso a los objetos a nivel de archivo.
Encontramos dos modelos principales, en el más pequeño podemos comenzar con unos nada despreciables 60TB y en el más grande podemos encontrar configuraciones de hasta 8.6PB por cada rack.
Como podemos imaginar lo que Dell EMC ECS nos proporciona es un almacenamiento basado en objetos, escalable y a precio reducido, si pensamos en una arquitectura en la que un usuario escribe un bloque usando un conector de S3, sería así:
Vemos como todos los nodos están replicados entre ellos, y que solamente si el bloque se ha almacenado en todos los nodos se da por válido.
Si pensáramos en una operación similar, pero esta vez de lectura de un bloque de S3, sería así:
Vemos como la petición entra por el Nodo 1, que recoge la información de todos los nodos y al final se envía del nodo 3 al nodo 1 y de ahí se presenta al cliente.
Dell EMC ECS EX300
Comenzando en 60 TB, el modelo EX300 puede crecer hasta los 1536TB (1.5 PB) por cada rack, y nos permitirá una adopción más sencilla debido a su simplicidad, tamaño y precio
- Nodos Hyper-converged
- Frontal-accessible y discos hot-plug
- Idénticas características de rendimiento con cada nodo
Dell EMC ECS EX3000
Con una capacidad total de hasta 8.6 PB por cada rack, el modelo EX3000 es perfecto para almacenar una alta densidad de datos, a un precio muy bajo, que además este object storage sirva para múltiples propósitos
- Configuraciones de un solo nodo o doble nodo
- El frontal es accesible y además los discos son hot-plug
- Incluye de estándar discos de 12TB por cada nodo
Estos serían los modelos que realmente tendríamos que adquirir si deseamos tener un object storage empresarial, con soporte, y escalable. Es probable que en algunos de vuestros casos, ya estéis usándolos o los tengáis en vuestro Datacenter.
Vistazo rápido a Dell EMC ECS CE
Dell EMC ha tenido el gesto de liberar todo su trabajo de Dell EMC ECS en GitHub, que podéis encontrar aquí. Y no solamente ha liberado el código fuente que despliega sobre el Hardward mostrado anteriormente, ofreciendo una versión comercial y empresarial. Si no que además mantienen una versión Open Source ya lista para que podamos desplegarla sobre cualquier Hardware, ya sea on-prem, cloud, sea baremetal o virtualizado, o containers. Lo mejor de todo es que tienen una versión OVA, ya lista para descargar.
Por supuesto, por favor tener en cuenta que esta versión de Dell EMC ECS CE, Community Edition, es eso, una edición sin soporte, perfecta para pequeñas pruebas y entornos, pero deberíamos de abstenernos de usarla en producción almacenando TB o PB de datos realmente.
ECS Community Edition es una versión gratuita y de tamaño reducido del software ECS de Dell EMC. Por supuesto, esto significa que hay algunas limitaciones en el uso del software, por lo que surge la pregunta: ¿En qué se diferencia la Community Edition de ECS de la versión de producción?
Básicamente, Dell EMC ECS no puede ser usado en entornos de producción, solamente puede usarse en labs, etc. Adicionalmente, a nivel de funcionalidad:
- ECS Community Edition NO soporta cifrado
- ECS Community Edition NO incluye la capa de ECS’ system management, o “fabric”
En esta imagen podemos ver un poco más sobre los componentes de Dell EMC ECS, vemos que Dell EMC ECS Ce no incluye la capa de Fabric:
Requerimientos de sistema para Dell EMC ECS CE
Dell EMC ECS CE puede crecer tanto como queramos, no tiene límite, ni de espacio, ni de nodos. Eso sí, tendremos que clonar los nodos usando la primera imagen que desplegamos, lso requerimientos de descarga son los siguientes:
- 8 vCPU
- 64GB RAM
- 16GB para el sistema operativo
- 1TB adicional para almacenamiento
- CentOS Minimal installation usando la última Release de CentOS (no es necesario si usamos la OVA)
Se puede comenzar con unos 16GB de RAM si queremos, pero recomiendo dar más RAM si queremos usar este appliance durante meses, o años.
Podemos descargar la imagen OVA desde aquí, sin registro ni nada:
Despliegue de Dell EMC ECS CE OVA sobre VMware vSphere 6.7 U2
Vamos a ver los pasos que tenemos que seguir en VMware para desplegar el appliance. Comenzaremos yéndonos a nuestro Clúster, botón derecho y Deploy OVF Template:
Seleccionaremos el fichero OVA que hemos descargado desde GitHub, en mi caso la versión 3.3.0, que salió hace muy poquito:
Seleccionaremos un nombre para nuestra VM:
Un recurso de compute donde ejecutarlo, en mi caso mi clúster:
Podremos ver que se desplegará un disco de 3.7GB para el Sistema operativo, y 120GB para datos:
En mi caso lo he lanzado todo a mi vSAN, que tiene un muy buen rendimiento:
Seleccionaremos la red donde queremos lanzar esta VM:
Y por último veremos el resumen y haremos click en Finish:
El proceso de desplegar el OVA se demorará más o menos dependiendo de nuestros discos y la latencia de red desde nuestro PC al Clúster de VMware:
Por último, y antes de encender la VM, voy a editar los recursos para que se parezcan a los requisitos recomendados que os he dejado más arriba:
Ya estaría todo listo, podemos hacer un snapshot ahora mismo por si necesitamos volver atrás.
Configuración de Dell EMC ECS CE OVA
Si bien es cierto que la configuración no es complicada, requiere que los pasos sean ejecutados en orden y con control, vamos a ello.
Lo primero, nos conectaremos mediante la consola de VMware y accederemos con el usuario admin y password ChangeMe:
Una vez dentro, lo primero es configurar la tarjeta de red, para ello lanzaremos el siguiente comando:
sudo nmtui
Y nos encargaremos de dar una IP, configurar los DNS y la puerta de enlace:
Además, os recomiendo configurar el hostname, a ser posible no utilizar ni – ni _, mejor todo junto:
Ahora que tenemos ya configuración de red, y antes de reiniciar, tendremos que hacer un yum update:
yum update
Una vez aceptemos y termine de instalar todas las actualizaciones, que hay bastantes, podemos hacer un reboot:
reboot
Ya estamos listos para comenzar con la configuración gorda, de nuevo, ya esta vez por SSH si queréis, como admin/ChangeMe nos iremos hasta la carpeta de ECS que tenemos en nuestro home:
cd ECS-CommunityEdition/
Allí editaremos nuestro fichero deploy.yml con vuestro editor favorito, en mi caso vi, lo importante es configurar nuestra IP, aceptar la EULA, etc, os dejo un resumen de lo que yo he tocado:
install_node: 192.168.1.210
#####
node_defaults:
dns_domain: jorgedelacruz.es
dns_servers:
- 192.168.1.6
ntp_servers:
- 0.uk.pool.ntp.org
#####
storage_pool_defaults:
is_cold_storage_enabled: false
is_protected: false
description: Default storage pool description
ecs_block_devices:
- /dev/sdb
#####
- name: sp1
members:
- 192.168.1.210
options:
is_protected: false
is_cold_storage_enabled: false
description: My First SP
ecs_block_devices:
- /dev/sdb
#####
Básicamente he cambiado la IP que venía por defecto por la mía, he puesto mi DNS, un server de NTP, así como usar /dev/sdb que es mi disco secundario para ser usado para el storage pool.
Una vez estéis seguros de que tenéis todo cambiado, ejecutaremos el siguiente comando:
update_deploy /home/admin/ECS-CommunityEdition/deploy.yml
Ahora que ya tenemos actualizada la ruta del fichero que queremos usar para desplegar nuestro Dell EMC ECS, ejecutaremos el siguiente comando:
videploy
Comenzará a desplegarse todo el entorno, y veremos algo similar a esto, si no tenemos ningún error, todo habrá ido bien:
TASK [installer_generate_ssh_keys : Installer | Generate RSA Keypair] ******************************************************************************************************************************************** TASK [installer_generate_ssh_keys : Installer | Check ed25519 Keypair] ******************************************************************************************************************************************* TASK [installer_generate_ssh_keys : Installer | Generate ed25519 Keypair] **************************************************************************************************************************************** TASK [installer_generate_ssh_keys : Installer | Fail when no crypto selected] ************************************************************************************************************************************ TASK [installer_generate_ssh_keys : Installer | Ensure directory permissions on ssh keystore] ******************************************************************************************************************** [1;34mok: [localhost] => (item=/opt/ssh/id_rsa)[0m [1;34mok: [localhost] => (item=/opt/ssh/id_rsa)[0m PLAY [CentOS 7 | Setup SSH on install node] **********************************************************************************************************************************************************************
Una vez termine del deploy, ya estamos listos para lanzar el comando ova-step1, de la siguiente manera:
ova-step1
Este paso se encargará de lanzar todo el entorno, los últimos pasos que he visto son los siguientes:
TASK [common_purge_cleanup : Common | Purge node caches] ********************************************************************************************************************************************************* TASK [common_purge_cleanup : Common | Create ecs-install host directory on nodes] ******************************************************************************************************************************** TASK [common_purge_cleanup : Common | Create ecs-install cache directory on nodes] ******************************************************************************************************************************* PLAY RECAP ******************************************************************************************************************************************************************************************************* [1;36m192.168.1.210[0m : [1;34mok=14 [0m [1;36mchanged=11 [0m unreachable=0 failed=0 Playbook run took 0 days, 0 hours, 0 minutes, 28 seconds
Lo mismo que antes, si no hemos visto ningún error que haya hecho que se quede colgado, o se pare en seco, ya estaremos listos para el paso 2, tan simple como un ova-step2:
ova-step2
Este paso toma tiempo, bastante, os dejo el output de mi paso para que podáis ver si os queda atascado en alguno de ellos:
> Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: API service is not alive. This is likely temporary. > WAIT: ECS API internal error. If ECS services are still bootstrapping, this is likely temporary. > WAIT: ECS API internal error. If ECS services are still bootstrapping, this is likely temporary. > WAIT: api_endpoint=192.168.1.210 username=root dt_query fail: 'total_dt_num' > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=0 dt_unready=0 dt_unknown=0 > Installing licensing in ECS VDC(s) > Using default license > Adding licensing to VDC: vdc1 > OK > Added default license to ECS > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=0 dt_unready=0 dt_unknown=0 > Creating Storage Pool: vdc1/sp1 > OK > Adding Data Stores to Storage Pool: > vdc1/sp1/192.168.1.210 > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=384 dt_unready=0 dt_unknown=0 > Creating all VDCs... > vdc1 > Created all VDCs > Waiting for all VDCs to online and become active... > Checking vdc1: > WAIT: VDC still onlining... > Retrying... > Checking vdc1: > OK: VDC online > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=416 dt_unready=0 dt_unknown=-1 > Creating replication group rg1 > Generating zone mappings for rg1/vdc1 > sp1 > Applying mappings > OK > Created all Replication Groups > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=416 dt_unready=0 dt_unknown=-1 > Creating all configured management users: > admin1 > monitor1 > Created all configured management users > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=416 dt_unready=0 dt_unknown=0 > Creating all Namespaces > Adding namespace ns1 > OK > Created all configured namespaces > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=416 dt_unready=0 dt_unknown=0 > Creating all configured object users: > Creating all object users > Creating 'object_admin1' in namespace 'ns1' > Waiting for 'object_admin1' to become editable > OK > Adding object_admin1's S3 credentials > Adding object_admin1's Swift credentials > Creating 'object_user1' in namespace 'ns1' > Waiting for 'object_user1' to become editable > OK > Adding object_user1's S3 credentials > Adding object_user1's Swift credentials > Created all configured object users > Pinging Management API Endpoint until ready > Pinging endpoint 192.168.1.210... (CTRL-C to break) > PONG: api_endpoint=192.168.1.210 username=root diag_endpoint=192.168.1.210 dt_total=416 dt_unready=0 dt_unknown=0 > Creating all buckets > Creating bucket: bucket1 > OK > Created all configured buckets
Cuando veamos que todo se ha creado de manera satisfactoria, ya podremos irnos a nuestro https://DELLEMCECSCEIP con user root/ChangeMe para acceder:
Por supuesto el primero paso será cambiar la pass de root:
Una vez la hayamos cambiado, y hagamos relogin, ya podremos ver el potente Dashboard:
Así como por ejemplo crear un usuario nuevo para ser usado posteriormente con Veeam:
Recordemos que podemos crear tantos namespaces como queramos, estos serían los recursos por cada tenant, además tantos usuarios como queramos dentro de se namespace. Tendreos que anotar la password también para poder conectar posteriormente con ese usuario:
Una vez tenemos el usuario, vamos a crear un bucket que asociaremos a este nuevo usuario:
Ya tendríamos todo listo y configurado para empezar a enviar backups a este Object Storage.
Configuración de Object Storage Repository y Capacity Tier en Veeam Backup & Replication v9.5 U4
Ya por último solamente nos quedaría la configuración de Veeam, recordemos que solamente podremos enviar ficheros que estén completos, que su cadena no esté abierta, por ejemplo de una cadena de Backup Copy Jobs, los que están cerrados son los GFS que se crean con la retención que seleccionemos, en mi caso 4 Weekly, 12 Monthly y 1 Yearly, con lo que los ficheros que cumplan con GFS y que se hayan creado, al ser full, son perfectos para enviar.
Comenzaremos creando un Backup Repository de tipo Object Storage, apuntando a este Dell EMC ECS CE:
Seleccionaremos S3 Compatible:
Introduciremos un nombre para nuestro repositorio:
Introduciremos ahora el Service point, para Dell EMC ECS es https://VUESTRAIP:9021, la región la dejamos como está, y nos aseguramos que tenemos las credenciales que hemos creado anteriormente:
Veremos el Object Storage bucket, tendremos que crear una carpeta:
Una vez tenemos todo listo, haremos click en Finish:
El siguiente y último paso es crear un Scale-out Backup Repository, donde combinaremos repositorios locales, con repositorios de Object Storage, que es donde haremos el Capacity Tier, haremos next:
Seleccionaremos de Performance Tier un repositorio donde tengamos las copias de GFS, y dejaremos la política en Data Locality:
Seleccionaremos en Capacity Tier el Object Storage Repository, y en mi caso quiero mandar todo lo que esté ya sellado y que sea más viejo de 0 días, esto quiere decir que si es sábado y se crea la weekly por política, en un rango de unas cuatro horas máximo se mandará esta copia a este object storage:
Si todo está bien haremos click en Finish:
Por último, haremos CTRL + Botón derecho y ejecutaré el trabajo de forma manual, ya que quiero mandar todo a mi object storage:
El trabajo comenzará, y ya que tenemos el Object Storage en nuestra red, el rendimiento es realmente potente, es otra de las ventajas, aparte de la seguridad, protección de datos, etc.
Ya si volvemos a nuestro Dell EMC ECS CE Dashboard podremos ver el espacio consumo y la gráfica de performance podremos ver también como se mueve.
Eso es todo amigos, espero que os guste, que penséis en crear vuestro propio Object Storage en vuestros laboratorios de forma gratuita y muy potente con Dell EMC ECS CE y que dejé comentarios sobre el artículo.




[…] Veeam: Cómo desplegar Dell […]