Bonsoir Jérôme,
Jerome Kieffer a écrit :
> On Sat, 11 Oct 2008 20:32:32 +0200
> Olivier Allard-Jacquin <olivieraj@???> wrote:
>
>> Rappel: L'idée est "fusionner" deux partitions distinctes (venant ou non
>> de deux disques différents), en un unique point de montage. Et ce, afin
>> que l'utilisateur final puisse disposer en un répertoire unique de la
>> capacité de stockage des deux partitions.
>
> Bonsoir Olivier,
>
> As tu regardé la solution proposée par Acer sur son netbook le Aspire
> One qui permet de fusionner à la volée /home/user et /Media/SD1
> en /mnt/home. Toutes les partoches sont en Ext2 (Ext3 possible),
> Chaque nouveau fichier est créé sur un volume ou l'autre (Selon une
> politique définie). Chaque volume reste lisible séparément.
Bien joué !
L'information n'a pas été très facile à trouvé, mais c'est expliqué ici
:
http://macles.blogspot.com/2008/09/about-storage-expansion-of-acer-aspire.html
En fait, l'Aspire One utilise "aufs" (le premier soft testé lors de mon
précédent mail), mais avec des options de montages particulières.
Notamment, en faisant utilisant les paramètres "create="
Le "man aufs" donne ceci :
<extrait>
Policies for Creating
create=tdp | top-down-parent
Selects the highest writable branch where the parent dir
exists. If the parent dir does not exist on a writable branch, then
the internal copyup will happen. The policy for this copyup is always
‘bottom-up.’ This is the default policy.
create=rr | round-robin
Selects a writable branch in round robin. When you have
two writable branches and cre‐ates 10 new files, 5 files will be
created for each branch. mkdir(2) systemcall is an exception. When you
create 10 new directories, all are created on the same branch.
create=mfs[:second] | most-free-space[:second]
Selects a writable branch which has most free space. In
order to keep the performance, you can specify the duration
(‘second’) which makes aufs hold the index of last selected writable
branch until the specified seconds expires. The first time you create
something in aufs after the specified seconds expired, aufs checks
the amount of free space of all writable branches by internal statfs
call and the held branch index will be updated. The default value is
30 seconds.
</extrait>
D'après mes tests, l'option qui marche le mieux dans mon besoin
(arriver à remplir les 2 partitions de stockage de manière transparente)
est le "create=mfs" (le "create=rr" a échoué pour cause de manque de
place lors d'un de mes tests). Ainsi, voici les commandes à taper :
Montage des espaces physiques :
# mount /dev/sdb5 /tmp/test/REAL/05
# mount /dev/sdb6 /tmp/test/REAL/06
Fusion des partitions :
# mount -t aufs -o
dirs=/tmp/test/REAL/05=rw:/tmp/test/REAL/06=rw,create=mfs none
/tmp/test/aufs/
(A noter le paramètre "create=mfs", et les deux "rw")
Mon test a consisté à générer 300 fichiers de 10Mo sur le /tmp/test/aufs/ :
$ for I in `seq -w 1 300`; do cp test.bin
/tmp/test/aufs/olivier/test-$I.bin; done
Tout les fichiers ont été écrits sans problème
La répartition des fichiers ne se fait pas exactement à 50% pour chaque
partition (elles sont pourtant de taille identiques) : 163 fichiers pour
l'une, 137 pour l'autre :
$ ls /tmp/test/REAL/05/olivier/| wc -l ; ls /tmp/test/REAL/06/olivier/|
wc -l
163
137
Tout marche donc bien, mais le chiffre de l'espace libre sur le "auf"
reste faux (problème déjà soulevé précédemment) :
# df
/dev/sdb5 1923052 1630556 194808 90% /tmp/test/REAL/05
/dev/sdb6 1923068 1376104 449276 76% /tmp/test/REAL/06
none 1923052 1630556 194808 90% /tmp/test/aufs
Il n'est supposé resté que 194.808 ko sur le /tmp/test/aufs/, ce qui
est la taille restante sur le /tmp/test/REAL/05/. Alors qu'en fait, il
y a encore 449.276 ko de libre sur le /tmp/test/REAL/06/ . Et j'ai pu
sans problème écrire 500 Mo supplémentaire sur le /tmp/test/aufs/.
Conclusion : "aufs" avec l'option "create=mfs" est donc la solution
pour fusionner 2 espaces de stockage ext* en un seul, tout en
bénéficiant de l'écriture sur les deux espaces de stockage.
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!