
Recientemente, el equipo de MinIO trasladó el proyecto de código abierto a Método de mantenimiento No se aceptarán más cambios. Esto significa que no se agregarán nuevas características o mejoras a MinIO y los problemas existentes no se considerarán activamente según la actualización. Si bien MinIO ha aportado un enfoque confiable y amigable para los desarrolladores para el almacenamiento de objetos (S3) durante años, esta actualización significa que es poco probable que el proyecto se mantenga al día con los avances en la tecnología de almacenamiento. Entonces, ¿cuáles son los próximos pasos para los desarrolladores que desean mantenerse a la vanguardia del almacenamiento de objetos y aprovechar el almacenamiento de archivos y bloques?
Durante más de una década, Ceph ha establecido el estándar para el almacenamiento de código abierto confiable y apto para producción. Sin embargo, algunos usuarios encontraron complejas de usar las herramientas anteriores; por lo tanto, presentamos MicroCeph hace unos años como una forma sencilla y objetiva de implementar Ceph.
A pesar del nombre Micro, no falta nada. MicroCeph es un Ceph con todas las funciones con la misma arquitectura escalable, protocolos de bloque (RBD), archivos (CephFS, NFS) y objetos (S3, Swift). La diferencia positiva es que MicroCeph ofrece una implementación, escalamiento y operaciones del segundo día más simples.
Desde su lanzamiento, la adopción de MicroCeph se ha extendido ampliamente. Hoy en día, lo encontrará implementado en una variedad de entornos, desde entornos de desarrollo de un solo nodo y canalizaciones de CI hasta implementaciones de varios petabytes a escala de producción, lo que permite a las organizaciones gestionar las crecientes necesidades de almacenamiento de datos. Para los desarrolladores que buscan una alternativa a MinIO, MicroCeph puede ser adecuado para usted.
Configuración de su alternativa MinIO: cómo comenzar con MicroCeph
En este tutorial, recorreremos los pasos para poner en funcionamiento un clúster Ceph de un solo nodo. También explicaremos cómo habilitar RGW (Rados Gateway) para que pueda usar la API S3 como MinIO.
Primero, necesitas un nodo o una máquina virtual para probarlo. Dado que MicroCeph se envía como Snap, no es necesario utilizar un sistema operativo Ubuntu: ¡cualquier sistema Linux con snapd funcionará!
Primero instale la última versión estable de MicroCeph:
sudo snap install microceph --channel=squid/stable
Después de descargar e instalar snap, necesitamos inicializar el clúster Ceph:
sudo microceph cluster bootstrap
Luego podemos verificar si el arranque se completó exitosamente:
sudo ceph status
Debería ver un resultado similar al siguiente ejemplo. No se preocupe por HEALTH_WARN en esta etapa, esto es lo esperado ya que solo hay un monitor (MON) en el clúster y no hay ningún demonio de almacenamiento de objetos (OSD).

Como cualquier sistema de almacenamiento, Ceph requiere algún disco para funcionar. En este caso, agregaremos un disco basado en archivos para comenzar. Esto es excelente para pruebas y CI, pero no es ideal en producción. Para ello debería utilizar un disco real, es decir, un medio flash o giratorio. Obtenga más información sobre qué discos utiliza MicroCeph Nuestra documentación.
Para agregar un disco basado en archivos, ingrese lo siguiente:
sudo microceph disk add loop,4G,1
Podemos comprobar el estado del clúster nuevamente. En este punto podemos ver que el OSD se ha agregado correctamente.

Otro paso que debemos realizar en esta configuración de prueba o demostración es ajustar el factor de replicación. esto debería nunca se completará en produccióno los datos que le interesan: si falla un solo disco, experimentará la pérdida de datos.
Para ajustar el factor de replicación, ingrese lo siguiente:
sudo microceph pool set-rf "" --size=1

Hay advertencias, pero pueden ignorarse por ahora ya que este es sólo un entorno de prueba.
Habilitar RGW
El siguiente paso es habilitar RGW para que podamos usar la API de S3.
sudo microceph enable rgw
MicroCeph se encargará de varias cosas en este paso: implementará el demonio RGW y creará los grupos necesarios para los metadatos de los objetos y los objetos mismos.
Podemos ver estos cambios del clúster comprobando nuevamente el estado del clúster:

También puede enumerar los grupos del clúster:
sudo ceph osd pool ls

A continuación, cree un usuario RGW para que podamos otorgar acceso al almacenamiento en el clúster:
sudo radosgw-admin user create --uid=user --display-name=user
El comando proporcionará resultados como se muestra en el siguiente ejemplo. Su aplicación necesitará access_key y Secret_key para interactuar con el clúster, por ejemplo, para crear depósitos y cargar y descargar objetos.

Podemos encontrar rápidamente la dirección IP del RGW comprobando el estado de MicroCeph:
sudo microceph status

Luego podemos usar curl para probar el punto final de la API:
curl http://

Aquí podemos ver que el punto final de la API está respondiendo, listo para crear el depósito y comenzar a cargar y descargar archivos.
Hay muchas formas de interactuar con el almacenamiento de objetos. Herramientas similares s3cmd, boto 3, s5cmd o pato de red Todos son bienvenidos. Alternativamente, su aplicación puede aceptar claves de acceso y claves para administrar directamente los objetos almacenados en un depósito compatible con S3.
MicroCeph va más allá de las alternativas MinIO
Por supuesto, este tutorial sólo proporciona una muestra de la funcionalidad de Ceph. Escalar desde un solo nodo es un proceso muy simple y, eventualmente, el clúster puede escalar a varios petabytes si es necesario. A diferencia de MinIO, si también necesita almacenamiento de bloques o archivos, ¡no se necesita otra solución! Aprenda a realizar una instalación de múltiples nodos Nuestra documentación.
Lo mejor de las instantáneas de MicroCeph es que, como parte del compromiso de soporte a largo plazo (LTS) de Ubuntu y Canonical, cuentan con soporte por hasta 15 años desde el lanzamiento de LTS. Si desea aprender a utilizar MicroCeph a largo plazo, pruebe nuestro blog Explique cómo utilizar MicroCeph como almacenamiento de Kubernetes..








