OVH Cloud OVH Cloud

Option sync et clé USB

9 réponses
Avatar
toto
Bonjour,

Je viens d'installer il y a quelques jour une Debian Sarge et je suis
actuellement en pleine configuration de mon système.

Actuellement je m'occupe du montage de ma clé USB. J'arrive à la monter et
la démonter sans problème. Mais je voudrais ajouter une ligne dans mon
fstab.

Je me pose en ce moment la question sur l'option sync. D'après ce que j'ai
compris, pour tous les périphériques de stockage amovible, mieux vaut
utiliser cette option. Cela permet d'écrire, sans délais, les informations
dessus. Donc pour une clé USB, mieux vaut la mettre, au cas où on la retire
sans la démonter. Je sais, c'est mal! ;-)

Est-ce que je me trompe?

Merci d'avance.

9 réponses

Avatar
l'indien
On Sat, 26 Feb 2005 16:57:26 +0100, toto wrote:

Bonjour,

Je viens d'installer il y a quelques jour une Debian Sarge et je suis
actuellement en pleine configuration de mon système.

Actuellement je m'occupe du montage de ma clé USB. J'arrive à la monter et
la démonter sans problème. Mais je voudrais ajouter une ligne dans mon
fstab.

Je me pose en ce moment la question sur l'option sync. D'après ce que j'ai
compris, pour tous les périphériques de stockage amovible, mieux vaut
utiliser cette option. Cela permet d'écrire, sans délais, les informations
dessus. Donc pour une clé USB, mieux vaut la mettre, au cas où on la retire
sans la démonter. Je sais, c'est mal! ;-)

Est-ce que je me trompe?


A moitié:
ça ne fait que minimiser les risques:
si tu débranches ta clé au milieu d'une opération d'écriture, le
résultat sera exactement le même, que tu ai l'option sync ou non. Par
contre, si tu fais peu d'accès en écriture sur celle-ci, ça limite les
moments critiques. Si par contre tu écris de gros volumes de données,
l'option sync devient vite inutile puisque le noyau est obligé de
bufferiser pour palier à la lenteur de la mémoire flash et du bus USB.

Un autre inconvénient du sync, c'est que ça ralentit énormément
l'utilsation de la clé. Si tu l'utilise, n'oublie pas de mettre aussi les
options "noatime" et "nodiratime" sinon les performances deviennent
catastrophiques.

Avatar
toto
Je viens d'installer il y a quelques jour une Debian Sarge et je suis
actuellement en pleine configuration de mon système.

Actuellement je m'occupe du montage de ma clé USB. J'arrive à la monter
et la démonter sans problème. Mais je voudrais ajouter une ligne dans mon
fstab.

Je me pose en ce moment la question sur l'option sync. D'après ce que
j'ai compris, pour tous les périphériques de stockage amovible, mieux
vaut utiliser cette option. Cela permet d'écrire, sans délais, les
informations dessus. Donc pour une clé USB, mieux vaut la mettre, au cas
où on la retire sans la démonter. Je sais, c'est mal! ;-)

Est-ce que je me trompe?


A moitié:
ça ne fait que minimiser les risques:
si tu débranches ta clé au milieu d'une opération d'écriture, le
résultat sera exactement le même, que tu ai l'option sync ou non. Par
contre, si tu fais peu d'accès en écriture sur celle-ci, ça limite les
moments critiques. Si par contre tu écris de gros volumes de données,
l'option sync devient vite inutile puisque le noyau est obligé de
bufferiser pour palier à la lenteur de la mémoire flash et du bus USB.

Un autre inconvénient du sync, c'est que ça ralentit énormément
l'utilsation de la clé. Si tu l'utilise, n'oublie pas de mettre aussi les
options "noatime" et "nodiratime" sinon les performances deviennent
catastrophiques.
Concernant la perte de performance avec l'option sync, j'ai un débit de de

0,9 à 1 Mo/s pour ma clé USB 1.1 Et un débit d'environ 8 Mo avec mon disque
dur en USB 2.0. Ils ont tous des partitions en FAT32.

Ca me semble correct pour la clé, le débit théorique est de 1,5 Mo/s.

Pour le disque dur je ne sais pas, cela dépend de ses performances physiques
et là je ne les connais pas. En tout cas elle est déjà meilleurs que sous
ma Mandrake! ;-) J'ai l'impression d'utiliser de l'USB 1.1

Les débit te sembles bon?

Sinon j'ai activé les options noatime et nodirtime pour tous ce qui est en
USB, pour les autres je préfère ne pas y toucher.

A+


Avatar
l'indien
On Sat, 26 Feb 2005 20:22:25 +0100, toto wrote:

Je viens d'installer il y a quelques jour une Debian Sarge et je suis
actuellement en pleine configuration de mon système.

Actuellement je m'occupe du montage de ma clé USB. J'arrive à la monter
et la démonter sans problème. Mais je voudrais ajouter une ligne dans mon
fstab.

Je me pose en ce moment la question sur l'option sync. D'après ce que
j'ai compris, pour tous les périphériques de stockage amovible, mieux
vaut utiliser cette option. Cela permet d'écrire, sans délais, les
informations dessus. Donc pour une clé USB, mieux vaut la mettre, au cas
où on la retire sans la démonter. Je sais, c'est mal! ;-)

Est-ce que je me trompe?


A moitié:
ça ne fait que minimiser les risques:
si tu débranches ta clé au milieu d'une opération d'écriture, le
résultat sera exactement le même, que tu ai l'option sync ou non. Par
contre, si tu fais peu d'accès en écriture sur celle-ci, ça limite les
moments critiques. Si par contre tu écris de gros volumes de données,
l'option sync devient vite inutile puisque le noyau est obligé de
bufferiser pour palier à la lenteur de la mémoire flash et du bus USB.

Un autre inconvénient du sync, c'est que ça ralentit énormément
l'utilsation de la clé. Si tu l'utilise, n'oublie pas de mettre aussi les
options "noatime" et "nodiratime" sinon les performances deviennent
catastrophiques.
Concernant la perte de performance avec l'option sync, j'ai un débit de de

0,9 à 1 Mo/s pour ma clé USB 1.1


6 Mbps en USB 1.1, c'est beaucoup...
Comment as-tu fait cette mesure ?
Je pense que tu ne tiens pas ce débit sur une longue distance, mais bon,
l'ordre de grandeur est bon.

Et un débit d'environ 8 Mo avec mon disque
dur en USB 2.0. Ils ont tous des partitions en FAT32.


C'est plausible. Je pense qu'ensuite tu es limité par la façon de
fontionner des controleurs USB.
Là ou tu perdra énormément en performance, c'est lors de plusieurs
accès simultanés: l'accès en écriture risque de monopoliser le bus et
de retarder les autres accès.
Si tu n'as qu'un process qui écrit, effectivement, les performances
doivent rester du même ordre.

[...]

Sinon j'ai activé les options noatime et nodirtime pour tous ce qui est en
USB, pour les autres je préfère ne pas y toucher.


C'est préférable, de toute façon, sur tous les stockages amovibles et
encore plus sur la flash dont le nombre d'écriture est limité (même si
ce nombre a pas mal augmenté, un bloc de flash ne peut être effacé
qu'environ 100000 fois). Si tu ne mets pas ces options, les inodes sont
modifiées à chaque accès à un répertoire ou un fichier. Comme la
flash nécessite d'effacer un bloc complet pour pouvoir écrire la moindre
information (typiquement 8 ou 32 ko), tu peux facilement imaginer les
dégats ! De plus, comme l'écriture et encore plus l'effacement sont
lents, ça ralentit tous les accès...



Avatar
toto
6 Mbps en USB 1.1, c'est beaucoup...
Comment as-tu fait cette mesure ?
Je pense que tu ne tiens pas ce débit sur une longue distance, mais bon,
l'ordre de grandeur est bon.
J'ai pris les débits en me basant sur la copie d'un gros (100 Mo) fichier

via Konqueror.

Sinon le débit théorique de l'USB 1.1 n'est pas plutôt de 12 Mbps?

Et un débit d'environ 8 Mo avec mon disque
dur en USB 2.0. Ils ont tous des partitions en FAT32.


C'est plausible. Je pense qu'ensuite tu es limité par la façon de
fontionner des controleurs USB.
Là ou tu perdra énormément en performance, c'est lors de plusieurs
accès simultanés: l'accès en écriture risque de monopoliser le bus et
de retarder les autres accès.
Si tu n'as qu'un process qui écrit, effectivement, les performances
doivent rester du même ordre.
De toute façon, mon disque dur en USB me sert uniquement pour du stockage et

non pour une utilisation courante. Ça ne devrait donc pas trop me déranger.

Sinon j'ai activé les options noatime et nodirtime pour tous ce qui est
en USB, pour les autres je préfère ne pas y toucher.


C'est préférable, de toute façon, sur tous les stockages amovibles et
encore plus sur la flash dont le nombre d'écriture est limité (même si
ce nombre a pas mal augmenté, un bloc de flash ne peut être effacé
qu'environ 100000 fois). Si tu ne mets pas ces options, les inodes sont
modifiées à chaque accès à un répertoire ou un fichier. Comme la
flash nécessite d'effacer un bloc complet pour pouvoir écrire la moindre
information (typiquement 8 ou 32 ko), tu peux facilement imaginer les
dégats ! De plus, comme l'écriture et encore plus l'effacement sont
lents, ça ralentit tous les accès...
Petite question hors sujet : A quel comportement on reconnaît une clé USB en

"fin de vie"?

A+


Avatar
TiChou
Dans le message <news:4221025b$0$31423$,
*toto* tapota sur f.c.o.l.configuration :

Petite question hors sujet : A quel comportement on reconnaît une clé USB
en "fin de vie"?


Quand elle commence à fuir ou à grincer.

--
TiChou

Avatar
toto
Petite question hors sujet : A quel comportement on reconnaît une clé USB
en "fin de vie"?


Quand elle commence à fuir ou à grincer.
Alors là je dit : ??????


A+


Avatar
moinsdespam
Dans <422111b3$0$19736$,
Petite question hors sujet : A quel comportement on reconnaît une clé USB
en "fin de vie"?


Quand elle commence à fuir ou à grincer.
Alors là je dit : ??????



C'est peut-être hors charte sur un groupe fait pour discuter de la
configuration de Linux, d'où une réponse amusante.

Mais bon, quand on voit que presque le même sujet a réussi à passer la
modération de fcolm pendant plusieurs messages, on se demande si les
gens font encore attention aux chartes.

--
Frédéric
Bleu,e adj. et n. m. Qui est d'une couleur voisine du rouge, mais pas très : un
ciel bleu, des yeux bleus, les flots bleus [..]. Fig. Bouch. : un steak bleu ;
s'emploie pour désigner un steak rouge. (Pierre Desproges : D.S.U.É (et des BN))



Avatar
l'indien
On Sun, 27 Feb 2005 00:12:28 +0100, toto wrote:

6 Mbps en USB 1.1, c'est beaucoup...
Comment as-tu fait cette mesure ?
Je pense que tu ne tiens pas ce débit sur une longue distance, mais bon,
l'ordre de grandeur est bon.
J'ai pris les débits en me basant sur la copie d'un gros (100 Mo) fichier

via Konqueror.


Fait le avec time en ligne de commande, et n'oublie pas les sync:
sync ; sync ; time { cp <xxx> <yyy> && sync && sync ; }
La, le résultat sera exact (si je n'ai pas fait d'erreur dans la commande).

Sinon le débit théorique de l'USB 1.1 n'est pas plutôt de 12 Mbps?


C'est de la théorie. Dans la pratique, arriver à 6 Mbps est un exploit,
sauf pour le protocole isochrone de l'USB. Il y a différents problèmes
qui limitent la bande passante:
- il y a des overheads énormes sur la plupart des modes de transports USB
- la plupart des chips USB ne commencent à envoyer les requêtes que dans
la trame USB suivante. Ce n'est pas très génant si on a plusieurs
périphériques sur le bus USB. Par contre, si on a qu'un seul
périphérique, on ne peut pas utiliser toute la bande passante pour
celui-ci.

[...]
Petite question hors sujet : A quel comportement on reconnaît une clé USB en
"fin de vie"?


Au niveau utilisateur, tu ne vois rien.
C'est au niveau du système de gestion de la flash que c'est visible
(FTL/NFTL). Il faut savoir qu'une flash n'est jamais fiable. Les secteurs
contiennent donc des données supplémentaires qui servent à implémenter
des codes correcteurs d'erreurs. De plus, comme chaque écriture
nécessite un effacement de bloc, la flash contient plus de secteurs que
le nombre utilisable dans le filesystem, ce qui fait que le system de
gestion à toujours un certain nombre de bloc effacés sous la main et
qu'il peut organiser une sorte de rotation des blocs à effacer, dans le
but d'essayer de répartir le nombre d'effacement de façon equitable sur
tous les blocs de la flash.
Un bloc qui a été écrit trop souvent se met à avoir des erreurs qui
ne sont plus corrigible. Lorsque le système de gestion tombe
sur un bloc comme ceci, il le recopie (enfin, ce qu'il arrive à
corriger...) et le marque comme bad-block. Celà réduit le nombre de
blocs disponibles pour les effacements suivants. Si ce nombre tombe à
zéro, il y a deux possibilité: soit tu dispose d'une commande de
formatage bas-niveau qui te permet de recréer un nouveau partitionnement
FTL/NFTL en réduisant la taille disponible pour le filesystem, sinon tu
es bloqué: tu ne peux plus jamais écrire sur la flash.

Sur une flash en fin de vie, il est donc probable:
- que tu n'arrive plus à écrire
- que tu ai des erreurs de lectures sur certains blocs (puisque les blocs
erronés ne peuvent plus être recopiés dans des blocs sains).


Avatar
Nicolas George
l'indien wrote in message :
Si tu l'utilise, n'oublie pas de mettre aussi les
options "noatime" et "nodiratime" sinon les performances deviennent
catastrophiques.


Sauf erreur de lecture des sources de ma part :

if (IS_NOATIME(inode))
return;
if (IS_NODIRATIME(inode) && S_ISDIR(inode->i_mode))
return;
(fs/inode.c)

nodiratime a un effet strictement inclus dans celui de noatime.

À noter également que sur un filesystem qui ne stocke pas l'atime, cette
option est évidemment sans effet.

En revanche, il faut faire attention : le montage en synchrone peut
accélérer le vieillissement de la clef, dans le cas de la création de
beaucoup de fichiers rapidement : toutes les structures de métadonnées
affectées (entrées de répertoires, structure des blocs) seront ré-écrites de
manière très répétée.

Il n'y a pas vraiment de solution miracle au problème.