Ubuntu : Changer la destination de stockage d'un dossier

Le problème exposé dans ce sujet a été résolu.

Bonsoir ! :)

Je viens ici pour une question un peu étrange.

J’ai deux disque dur :

  • /dev/vda1 (ou quelque chose comme ça, mais en fait on se fiche un peu du nom)
  • /mnt/my_disk

/dev/vda1 est le disque principal.

Sur ce disque est installé Dokku. Et c’est dans ce disque, dans le dossier /var/lib/dokku/services/mongo/api/data que sont stockées les données de la base MongoDB. C’est le chemin par défaut de Dokku, et je ne peux pas le changer (il n’y à pas de configuration pour).

Sauf que moi je ne souhaite pas que ces fichiers soit stockés là, puisque je n’ai pas beaucoup de place sur ce disque. J’aimerais que ces fichiers soit stockés dans /mnt/my_disk/mongo/api.

Ne connaissant pas énormément Linux, j’ai essayer tant bien que mal avec un ln, mais je n’ai pas réussi. J’ai aussi essayé avec un mount --bind, mais soit les fichiers de /var/lib/dokku/services/mongo/api/data ne se retrouvent pas dans le dossier /mnt/my_disk/mongo/api, soit ça m’efface carrément le contenu de ce premier.

Je souhaite donc garder ce dossier là où il est, mais simplement faire en sorte que son contenu soit stocker ailleurs (dans mnt/my_disk).

Quelqu’un a une solution à me partager ? :p

Merci !

+0 -0

Tu peux déplacer le dossier /var/lib/dokku/services/mongo/api/data vers /mnt/my_disk/mongo/api/data puis créer un lien symbolique (un peu comme un raccourci Windows) de /var/lib/dokku/services/mongo/api/data vers /mnt/my_disk/mongo/api/data avec la commande ln -s /mnt/my_disk/mongo/api/data /var/lib/dokku/services/mongo/api/data. Ainsi, lorsque Dokku va accéder à /var/lib/dokku/services/mongo/api/data, les données seront en réalité stockées dans /mnt/my_disk/mongo/api/data.

+2 -0

Merci pour ton aide ! :)

En revanche, je viens de voir que le dossier /var/lib/dokku/services/mongo/api/data est déjà un dossier monté quelque part sur Docker (je crois).

J’ai cru comprendre qu’il été relié à /var/lib/docker/overlay2/67[...]fc/merged.

Quand je fait df -h /var/lib/docker/overlay2/67[...]fc/merged/ il me retourne :

Filesystem      Size  Used Avail Use% Mounted on
overlay          25G  4.9G   20G  21% /var/lib/docker/overlay2/67[...]fc/merged

J’y comprend pas grand chose. Tout ce que je sais, c’est que lorsque j’ai fait la commande mv /var/lib/dokku/services/mongo/api/data /mnt/my_disk/mongo/api il m’a juste copier le dossier (alors que mv devrait le déplacer).

Edit : Pour vous expliquer plus en détails, de ce que j’ai compris, j’ai créer une base de données mongodb avec une commande dokku. Cela m’a créer un container Docker qui contient ma base de données. Mais les données sont stockées dans /var/lib/dokku/services/mongo/api/data.

J’avais fait tout plein de truc avec ce dossier, et quand j’ai voulu supprimer la base de données, j’ai eu pleins d’erreur car il ne trouvait plus le dossier /var/lib/docker/overlay2/67[...]fc/merged/.

+0 -0

Bon, ce n’est pas grave, puisqu’en fouillant le code du plugin MongoDB pour Dokku, j’ai trouvé une petite variable d’environnement : MONGO_ROOT. Je l’ai modifié pour qu’elle pointe vers /mnt/my_disk/mongo et maintenant, toutes mes bases de données vont être là dedans.

Donc problème résolu, mais pas comme je le pensais. :D

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte