Cuando tenía la nube montada en una Raspberry Pi, era imprescindible tener un disco duro externo para almacenar los archivos, porque las tarjetas SD tienen menos capacidad y se desgastan por el uso mucho antes que los discos. Ahora que la voy a montar en un miniPC, podría usarse un disco duro SSD interno, pero el disco duro externo tiene una ventaja: se puede desconectar si es necesario, y hace más fácil hacer una copia de seguridad de esos archivos.
Voy a seguir usando las intrucciones de Manuti en su mítico blog Raspberry para torpes, la ventaja de usar Linux es que aunque cambies de distribución (de Raspbian a Ubuntu Server, en mi caso), estas cosas suelen ser iguales o muy parecidas. Vamos con ello.
Cuando instalemos Nextcloud, tendremos que configurarlo. Y, entre otras cosas, tendremos que decirle en qué carpeta queremos que guarde los archivos de nuestros usuarios. Esa carpeta estará en el disco duro externo, y un posible problema que podemos tener es que desconectemos el disco duro y, al volverlo a conectar, no se reconozca de la misma manera.
En Windows,, cuando insertamos un pincho USB se le da una letra (G;, H; etc.) y si lo sacamos y volvemos a meter cabe la posibilidad de que la letra cambie, y eso puede ser un problema para nuestra nube. Y en Linux pasa lo mismo, a no ser que configuremos el servidor de forma adecuada. Para ello, vamos a asegurarnos de que esto no pasa.
En Linux, la base de Ubuntu Server, los discos duros no reciben una letra como en Windows, sino una expresión que tiene tres letras y puede tener un número. En mi caso, como vamos a ver, el disco duro externo es sda1. La “s” significa disco duro moderno, los antiguos llevarían una “h”; la “d” del medio es de disco, la letra es algo parecida a la de Windows, pero siempre en minúscula (podría haber sda, sdb, sdc, etc.); y el número se referirá a las particiones que pueda tener el disco duro.
Manuti recomienda formatear el disco duro en formato ext4. Tiene la ventaja de trabajar mejor y más rápido, y el inconveniente de que, si lo hacemos, Windows no reconocerá el disco duro. Si queremos usar el disco duro en Windows, será preferible que el formato que le demos sea ntfs, probablemente el que tenga por defecto cuando lo compramos. La elección entre un formato y otro, por tanto, depende del uso que le vayamos a dar y si lo vamos a conectar a otros ordenadores o no.
En primer lugar, debemos conocer el UUID del disco duro. Es una especie de DNI para discos duros, que los identifica de forma única. Para ello, podemos usar la orden sudo blkid
, que nos dará este resultado en el que está la información que necesitamos: el código sda1
y el UUID.
En mi caso, las primeras líneas (/dev/n…) son del disco duro del miniPC. Las siguientes las ha creado el instalador y las que interesan son las últimas, entre la que está , sda1. Normalmente es bastante sencillo, como en este ejemplo del anterior tutorial, aunque el UUID puede ser más largo.
Bien, pues vamos a crear una carpeta donde «se monte» el disco duro siempre. O sea, vamos a decirle a la Raspberry que siempre le dé el mismo nombre, como si en Windows le diéramos la misma letra siempre. Para ello creamos un directorio. Puede ser el que queramos, pero es recomendable usar /media/lo-que-sea. Además, para evitarnos problemas de permisos y que siempre podamos abrir cualquier archivo del disco duro, lo dejamos abierto a que lo use cualquier usuario del miniPC, que es lo que significan los 777
.
Por ejemplo, puesto que el disco duro es de marca Toshiba, he hecho lo siguiente:
sudo mkdir /media/Toshiba
sudo chmod 777 /media/Toshiba
Ahora, el siguiente paso es delicado. Alguna vez me he cargado la Raspberry, dejándola sin posibilidad de arrancar bien. Afortunadamente, manuti no solo nos recomienda hacer una copia de seguridad sino que nos explica cómo hacerla. Hacemos una copia de seguridad del archivo que guarda la configuración de los discos:, que se llama /etc/fstab:
ls /etc
(comprobamos en el listado alfabético que el archivo fstab existe)
sudo cp /etc/fstab /etc/fstab.old
(lo copiamos con otro nombre en el mismo sitio)
ls /etc
(comprobamos que lo hemos hecho bien, ahora tienen que estar los dos archivos, original y copia)
Ahora tenemos que editar el archivo fstab
con un programa llamado nano, que es un editor de texto sencillo. Sin embargo, la versión minimizada de Ubuntu Server no lo incluye. Pero no hay problema: lo podemos instalar en 30 segundos con la orden sudo apt update && sudo apt install nano
. Siempre es buena idea refrescar las fuentes antes de instalar nada, por eso el primer comando.
Una vez instalado, ya podemos editar con sudo nano /etc/fstab
.
Nano es un editor de textos muy sencillo, es el equivalente al Bloc de notas. Ojo que, aunque tengamos ratón porque estamos accediendo por SSH, hay que tener en cuenta que no podemos manejar nano con el ratón; solo podemos hacerlo con el teclado, pero no es difícil.
Hay una opción muy sencilla, pero puede dar problemas. Por eso, es más seguro, como recomienda manuti, identificar el disco duro por su UUID. La línea del archivo fstab sería esta:
UUID=el-código-de-números-y-letras /media/Toshiba ntfs-3g defaults,locale=es_ES.UTF8 0 0
Y si hemos optado por hacerlo con el formato de Linux, sería esta otra:
UUID=el-código-de-números-y-letras /media/Vir ext4 defaults 0 0
La explicación es esta:
UUID=lo-que-sea | El nombre del disco duro |
/media/Vir | La carpeta que hemos creado |
ntfs-3g / ext4 | El sistema de archivos del disco duro (si pusiéramos solo ntfs, sería de solo escritura y no nos serviría para Nextcloud, y si no nos hace falta compatibilidad con Windows, será ext4) |
defaults,locale=es_ES.UTF8 | la configuración: normal (defaults) y en español de España (es_ES). Esta parte no hace falta en ext4. |
0 | opción para copias de seguridad que Ubuntu Server no tiene por defecto, así que lo dejamos en 0 |
0 | opción para que fsck (una herramienta de análisis de discos duros parecida a scandisk pero en Linux) escanee esta unidad. Alargaría mucho el tiempo de arranque, así que le decimos que no con el 0 |
Cerramos nano pulsando CTRL+X y diciendo que sí (y). Después reiniciamos el servidor con sudo reboot
y después de volver a conectarnos comprobamos si lo hemos hecho bien yendo al directorio donde debería estar el disco duro: cd /media/Toshiba
,y comprobando el contenido del disco duro con ls
.
Comentarios recientes