Note pour plus tard : Comment configurer AUFS sur mon NAS
Rédigé le . Édité le .Mon NAS principal dispose de 3 volumes : Le premier est un RAID 6 de 8 disques, le second un RAID 5 de 5 disques, idem pour le troisième. Mon NAS secondaire est un RAID 5 de 5 disques. Passons sur le troisième NAS. Le NAS secondaire, de même que les 2 premiers volumes du NAS principal sont pleins (ou avec seulement quelques GiB de libres). J'ai longtemps mal travaillé avec des points de montages dans tous les sens. Maintenant, je sens que ça va mieux aller avec AUFS (Another Union File System).
Quel matériel ?
- Le NAS principal est un vieux Synology 1813+ (avec DSM 6), avec deux baies d'extension 513+. Aussi gère-t-il Docker, et donc AUFS.
- Le NAS secondaire (encore plus vieux) est un Lacie 5Big. Il gère ses disques et c'est déjà pas mal...
- Le NAS qui reste est un D-Link DNS-320 et depuis toutes ces années (au moins 8 ans) il fonctionne encore.
De où tu viens ?
Jusqu'à il y a peu, j'avais deux points de montages par NAS vers chacun de mes portables.
Vous l'aurez donc compris, vu votre niveau de math, que chacun des mes portables doit se farcir 6 montages (samba/NFS). Sans oublier, que je dois me souvenir dans quel répertoire partage1/a
ou partage2/a
je stocke mes données.
Où va-t-on ?
1 point de montage par portables vers le NAS principal. Et la fusion de mes répertoires (voir exemple).
Magie ?
Non. AUFS !
Comment faire ?
Le NAS principal va monter les filesystems des autres NAS, puis au moyen d'AUFS tout agréger pour ne proposer plus qu'un seul point de montage.
Admettons que j'ai trois filesystems à partager /volume1/test_partage1
, /volume2/test_partage2
, /volume3/test_partage3
et que je veux qu'ils soient disponibles sous un seul répertoire /volume1/test_partages/
, voici le genre de ligne de commande qu'il serait nécessaire de taper :
mount -t aufs \
-o br=/volume1/test_partage1=rw:/volume2/test_partage2=rw:/volume3/test_partage3=rw \
-o create=mfs \
-o udba=reval \
-o sum \
-o dio \
-o dirperm1 \
none \
/volume1/test_partages/
Pour la petite explication :
br=
indique la branche, et chaque branche est séparée par:
(deux points). Une branche ne peut contenir le symbole=
dans son nom.=rw
indique que la branche est en lecture/écriture. Cela signifie que si je modifie un fichier dans l'arborescence partagée, et que la branche (dans laquelle se trouve le fichier) est enrw
alors il sera modifié.create=mfs
indique que si je créé un fichier dans l'arborescence partagée/volume1/test_partages/
, alors le fichier sera créé dans la branche disposant du plus d'espace libre. Sans cela, le fichier serait créé dans la première branche enrw
(dans l'example :/volume1/test_partage1
).udba=reval
indique que si je créé/supprime/modifie un fichier dans une branche (directement), la branche partagée devrait pouvoir vous donner l'info du changement.sum
indique qu'undf
sur la branche partagée se fera sur la somme de toutes les branches (et pas seulement de la première).Avec l'option
sum
:# df -h /volume1/test_partages/ Filesystem Size Used Avail Use% Mounted on none 35T 28T 7.2T 80% /volume1/test_partages
Sans l'option
sum
:# df -h /volume1/test_partages/ Filesystem Size Used Avail Use% Mounted on none 17T 17T 37G 100% /volume1/test_partages
dio
indique qu'on utilise un accès direct aux I/O.dirperm1
indique qu'un changement de droits et/ou utilisateur n'impacte pas que la première branche.
Ça donnerait quoi alors ?
Ainsi admettons que nous ayons les fichiers suivants :
/volume1/test_partage1/a/test1
/volume1/test_partage1/b/test2
/volume1/test_partage1/c/test3
/volume2/test_partage2/a/test4
/volume2/test_partage2/c/test5
/volume3/test_partage3/b/test6
Voici ce que nous obtiendrons dans la branche partagée :
/volume1/test_partages/a/test1
/volume1/test_partages/a/test4
/volume1/test_partages/b/test2
/volume1/test_partages/b/test6
/volume1/test_partages/c/test3
/volume1/test_partages/c/test5
C'est cool, hein ?!
Autre chose ?
Bien sûr, il y a des subtilités sur la précédence des branches, des fichiers, sur les droits, l'écriture round robin
or not, si vous mergez du NFS... La documentation vous fera le plus grand bien.