Cómo ampliar el medio de almacenamiento usado por #NextCloud

Veamos cómo añadir más gigas de espacio de almacenamiento para nuestros archivos de NextCloud.

Os pongo en antecedentes. Desde que me compré la RaspberryPi, uno de los servicios que corre es el de ser mi «nube» privada gracias al software libre que nos ofrece NextCloud.

Lo había probado en CentOS en un VPS de la empresa Clouding.io, pero instalarlo en mi Raspbian y en mi pequeña RaspberryPi no fue complicado (hay mucha información tanto oficial como no oficial) pero tiene limitaciones.

La primera el rendimiento, aunque se desenvuelve bastante bien en la RaspberryPi. Y otra limitación es la capacidad de almacenamiento.

En mi RaspberryPi configuré NextCloud para que utilizara como medio de almacenamiento una USB, en vez de la tarjeta SD, reservada para el sistema.

Al principio utilicé una memoria USB de 7Gb, pero con el tiempo decidí ampliar ese espacio de almacenamiento, eso pasa por tener que cambiar la USB a una de más capacidad.

Este artículo recoge mis torpezas y trabas para cambiar esa USB de 7Gb por una de 16Gb. El proceso no es complicado, pero me encontré con pequeñas dificultades de «1º de GNU/Linux» que finalmente resolví.

Quiero apuntar los problemas encontrados en este artículo, por si puede servir para futuras referencias. Decir que todas las tareas se debieron hacer vía ssh mediante la terminal. Por tanto una vez más queda demostrada la potencia de esta herramienta y la necesidad de saber desenvolverse de una manera básica con ella.

He pensado que la mejor manera de plantear el artículo es exponiendo los problemas que encontré y cómo solucionarlos, para «aprender en cabeza ajena».

Decirte a ti, experimentado usuario/a de GNU/Linux que los problemas ciertamente son sencillos y básicos, pero bueno ya sabes que no todos tenemos el mismo nivel de conocimientos! 🙂 Empezamos…

En buena lógica parece evidente que si copiamos el contenido de nuestra USB actual en la nueva USB con más capacidad que queremos utilizar debería ser suficiente. Y es así, pero solventando ciertos inconvenientes.

Aligerar equipaje

Lo primero que haremos será que el contenido a copiar sea el menor. Esto hará el proceso más rápido. Por tanto, eliminemos todos los archivos de nuestro NextCloud que no sean necesarios. Podemos dejar el contenido a pasar a nuestra nueva USB al mínimo.

¡Pero cuidado! Algo de lo que no me percaté al principio. Al borrar un archivo de nuestro NextCloud este no desaparece para siempre. Sigue estando disponible en nuestra papelera por si lo queremos recuperar.

Así que para hacer una limpieza efectiva deberemos vaciar la papelera. Por tanto en la pestaña de Archivos, en la parte inferior izquierda encontraremos la papelera. Pinchamos sobre el icono, seleccionamos todos los archivos y los borramos.

Mutatis mutandi

Mi USB la tengo montada en /mnt/usb1. Veamos qué tiene la carpeta /mnt

drwxrwx--- 8 www-data www-data 4096 Sep 25 18:50 usb1

Vamos a copiar el contenido de una USB a otra. Podemos utilizar una interfaz como midnight commander o hacerlo en otro PC, si desde la terminal no estamos seguros de los comandos si nuestra Pi no tiene interfaz gráfica.

Por tanto deberemos copiar el contenido de /usb1 que es donde está montada la USB actual a otra USB.

Aquí es donde ví el primer problema. La manera de acceder a dicha usb1 y pode copiar el contenido… Echemos otra vez un vistazo al contenido de /mnt/ y miremos con más detalle lo que nos muestra! Sí, los permisos que tiene en nuestro sistema la carpeta /usb1

Como vemos (os remito a mi artículo sobre los permisos de GNU/Linux) la carpeta es propiedad del usuario y está en el grupos de www-data. Y sólo el usuario y el grupo tienen permisos de lectura. El grupo «others» no tiene ningún permiso.

Si copiamos esas USB’s en otro PC, accediendo como usuario root (no podremos hacerlo de otra forma) cambiaremos el usuario y grupo en la nueva USB copiada.

Por tanto nuestra instancia de NextCloud nos dará error al montar esa USB en la Pi, ya que no puede acceder.

Lo mejor es desde la propia Pi, pinchar ambas USB’s, montarlas y otorgar permisos de lectura (r), escritura ( w) y ejecución (x) a las carpetas para el grupo «others» y después copiar el contenido. Terminado el proceso volver a quitarles esos permisos.

En el siguiente ejemplo tenemos la usb7 y usb16. Copiaremos de la usb7 el contenido a la nueva usb16. Debremos identificar ambas USB’s y montarlas en sus respectivos lugares. Puede variar en tu equipo. Esta sería la secuencia de comandos…

# (creamos la carpeta para montar la nueva usb de 16 Gb)
sudo mkdir /mnt/usb16
# (identificamos las USB's que tenemos)
df -T
# (montamos la usb de 7Gb)
sudo mount /dev/sda1 /mnt/usb7
# (montamos la usb de167Gb)
sudo mount /dev/sdb1 /mnt/usb16
# (damos permisos al grupo "others" para poder leer el contenido de nuestra USB original)
sudo chmod o-rwx /mnt/usb7
# (copiamos el contenido de una USB en otra)
sudo cp -rv /mnt/usb7 /mnt/usb16/
# (asignamos usuario y grupo a la carpeta y los archivos que contiene)
sudo chown -R www-data:www-data /mnt/usb16
# (desmontamos una USB)
sudo umount /mnt/usb7
# (desmontamos la otra USB)
sudo umount /mnt/usb16
# (montamos la nueva USB en el lugar que espera NextCloud)
sudo chmod ugo-rwx /mnt/usb1
# (disfrutamos de más espacio de almacenamiento)

He mirado el «history» y creo que estos son más o menos la secuencia de comandos para conseguirlo. Sencillo, pero me llevó un tiempo darme cuenta del problema con los permisos!! 🙂

Avezado lector que has llegado hasta este artículo buscando información: No repitas estos pasos al pie de la letra, lo mejor es que entiendas el conjunto y el concepto y lo adaptes a tu equipo y a tus necesidades.

Espero que te pueda servir de ayuda… Y que sigas disfrutando de NextCloud, ahora con más espacio para almacenar tus cosas en tu nube privada y autogestionada.

————————————————————

12 comentarios sobre “Cómo ampliar el medio de almacenamiento usado por #NextCloud

  1. Recientemente tuve que hacer algo parecido (cambio de servidor VPS) y la opción que usé es sincronizar las carpetas mediante rsync, alguna vez he usado el comando a ciegas, sin entenderlo, pero tiene la ventaja de que mantiene todos los permisos y el usuario propietario. La migración ha sido fácil e indolora.

    Aplicado a tu ejemplo bastaría ejecutar el siguiente comando con tener ambas carpetas creadas y los con usb montados.
    sudo rsync -avxt /mnt/usb7 /mnt/usb16

    Una cosa que quiero probar es si nextcloud funciona bien con los links simbólicos (ln -s) porque de ser el caso, se podría crear una imagen de RPI que tenga el link a la unidad USB y simplemente sincronizando con rsync en una de mayor capacidad y actualizando el punto de montaje de la nueva unidad las ampliaciones (y copias de seguridad) se realizarian en un abrir y cerrar de ojos.

    1. Hola,

      Yo iba a proponer el comando «install», con el que se puede especificar qué usuario, grupo y permisos tendrá la copia. Pero rsync es más efectiva y elegante, ¡chapó!

      En cuando a tu plan, si tuvieses algún problema con los links simbólicos, puedes probar con un «bind mount»:
      sudo mount –bind /path/from/ /path/to

      Nota:
      «www-data» es el usuario que usa apache2 en Debían*. Y como es típico en Debian*, también usa un grupo llamado igual que el usuario.
      Para que la página/app web se muestre correctamente, debe tener permiso de lectura de los ficheros y carpetas. Y para poder crear ficheros, necesita permisos de escritura.
      En openSUSE, el usuario de apache2 se llama «wwwrun» y el grupo «www».

      ¡Un saludo!

      1. Muchas gracias!
        Se nota quienes sabéis y tenéis conocimientos y quienes vamos a ciegas y probando.
        Muchas gracias por pasarte y por el aporte y darle calidad al artículo! 😉
        Saludos

      2. Bueno, pero el mérito es tuyo, compartiendo todo lo que sabes en el blog.

        Yo también tuve que aprender a ciegas, aunque tuve suerte de poder trabajar en empresas dónde he podido aprender muchas cosas más. Así que, si puedo aportar mi granito de arena para compartir conocimiento, ¡así lo haré!

  2. Muy bueno el tutorial y muy bueno el comentario de Andoni sobre rsync para realizarlo de forma más fácil y rápido.
    ¿Cómo no te decidiste a meterle ya un disco duro externo de 1 o 2 Tb? No sé si se notará en cuanto a rapidez de acceso, pero me parece más fiable y no son muy caros, las usb con el tiempo suelen tener una tasa de fallos algo mayor que un disco duro ¿no?

    1. Tengo un disco duro que uso para guardar las fotos… no quiero que este expuesto en internet! 🙂

      De momento me es suficiente con 16Gb… si tengo que ampliar ya sé cómo hacerlo!! 🙂

      Saludos!

  3. Buenas Victor, muchas gracias por el tutorial, yo acabo de instalar nextcloud en la raspberry después de muchísimos intentos y tutoriales vistos, me gustaría saber como configurar nextcloud para que utilice un disco duro externo que tengo pensado añadir. Muchas gracias.

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.