Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet Corentin Bardet
Le 16 Septembre 2022 à 15h38, f6k  a écrit :
> Merci beaucoup pour cette réponse à une question que je ne me posais pas
> forcément.

Même remarque, je vais garder ce courriel dans mes archives.
Très bien écrit et très clair, ça doit être dit. Merci hamster.

Bonne soirée,

-- 
Corentin



Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet Hugues MORIN-TRENEULE
Salut


Merci Hamster pour cette explication très complète, je comprends mieux a
quoi sert sync et son importance dans le cadre de manipulation de fichier.

La copie de fichier viens de ce finir avec succès :-)))
sent 305,600,616,450 bytes  received 113,919 bytes  67,083,905.25 bytes/sec
total size is 305,525,656,835  speedup is 1.00

J'ai utilisé rsync (sans oublier le sync ;-)
#rsync -aPv /mnt/data/projet /mnt/data2/ && sync

Tout semble fonctionner correctement sur le nouveau disque. Il n'y a plus
qu'à le remplir :D

Je vous adresse a tous un TRES GRAND MERCI :) pour votre aide, vos conseils
et votre assistance, et en particulier à Hamster pour sa disponibilité.


Très cordialement
Hugues



Le ven. 16 sept. 2022 à 13:04, hamster  a écrit :

> Le 16/09/2022 à 11:49, Hugues MORIN-TRENEULE a écrit :
> > Salut
> >
> > Dans la commande
> > rsync -aPv /xxx/yyy/source /vvv/zzz/destination && sync
> >
> > Le "sync" correspond bien à cette commande:
> > http://manpagesfr.free.fr/man/man8/sync.8.html
> > 
> > J'ai compris qu'elle permettait de s'assurer que le contenu en
> > mémoire soit bien inscrit sur le disque mais je ne comprends pas bien
> > pourquoi on l'appelle après rsync?
> > Quelle est sa fonction dans le processus de copie?
>
> Dans un disque mécanique, il y a une tete le lecture qui bouge. Plus on
> la fait bouger, plus le mécanisme s'use. C'est donc une bonne idée
> d'économiser les mouvements de cette tete de lecture.
>
> Un moyen simple de le faire, c'est de ne pas aller écrire chaque chose a
> écrire au fur et a mesure mais de les grouper. Il y a donc une mémoire
> cache. Quand tu écris quelque chose sur le disque, en fait c'est pas
> écrit directement sur le disque mais dans la mémoire cache. Quand cette
> mémoire cache est pleine, tout son contenu est écrit en une fois sur le
> disque. Et puis ca recommence.
>
> Comme le système fait beaucoup de toutes petites écritures (a savoir
> rajouter une ligne dans un fichier de log) le fait de grouper ainsi les
> écritures fait économiser beaucoup de mouvements de la tete de lecture,
> et prolonge d'autant la durée de vie du disque.
>
> Mais ca a aussi un défaut : quand tu écris quelque chose sur le disque,
> en fait ca s'écrit pas, ca attend que le cache soit plein pour s'écrire
> vraiment. Typiquement si tu écris un gros fichier, ca remplit le cache,
> ca l'écrit sur le disque, ca re-remplit le cache, ca l'écrit sur le
> disque, etc… un certain nombre de fois. Et puis arrive la fin du
> fichier. Le dernier morceau du fichier n'est pas assez gros pour remplir
> le cache, alors il est pas écrit tout de suite. Et tu te retrouve
> pendant un certain temps avec un fichier qui est écrit sur le disque,
> sauf la toute fin. Combien de temps dure ce "certain temps" ? Jusqu'a ce
> que tu ait écrit suffisamment d'autres trucs pour finir de remplir le
> cache.
>
> La commande sync force l'écriture de ce qui est dans le cache, meme si
> il n'est pas plein. Tu peux la lancer a la main, et elle est aussi
> lancée automatiquement quand tu démonte un truc. C'est pour ca qu'il ne
> faut pas débrancher un disque externe sans l'éjecter au préalable. Quand
> tu éjecte le disque externe, ca lance sync pour vider le cache et ca le
> démonte. Tu peux alors le débrancher sans qu'il n'y ait le dernier bout
> du dernier fichier écrit qui reste oublié dans le cache.
>
> PS : les clef USB, les cartes mémoire, les disque SSD (tout ce qui est
> de la mémoire flash en fait) n'ont pas de tete de lecture qui bouge.
> Grouper ainsi les écritures n'économise en rien leur usure. Dans ce cas,
> le cache est plus une source d'ennui qu'autre chose. Ca oblige a faire
> une action manuelle pour prévenir le système qu'on va débrancher. Ca
> fait des fichiers corrompus en cas de débranchement intempestif. Qui n'a
> jamais eu de faux contact dans une prise USB ???
>
> Et puis ca empeche de faire une barre de progression réaliste pour les
> trucs avec une vitesse d'écriture un peu lente.
>
> Tu a peut etre remarqué que quand tu écris un gros fichier sur une clef
> USB, au début la barre de progression avance super vite. Tu te dis
> "super, ca va pas durer longtemps". Et puis la barre de progression
> ralentit brusquement et sur la fin du fichier elle avance comme un
> escargot, pendant que tu fulmine en disant "et alors, qu'est-ce que ca
> attend, ca allait vite au début". Quand la copie est enfin terminée, tu
> fais "ejecter la clef" et la ca se met a te faire poireauter encore un
> bon moment avant de te dire "ca y est, vous pouvez retirer la clef sans
> risque".
>
> Tout ca c'est la faute du cache. Au début ca va super vite parce que ca
> n'écrit pas sur la clef mais dans le cache. Quand de cache est plein, ca
> se met a écrire vraiment sur la clef, et la barre de progression
> ralentit beaucoup. Ce n'est qu'a ce moment la que tu vois la vraie
> vitesse d'écriture de la clef. Quand ca t'affiche que la copie est
> finie, en fait ca veut dire que 

Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet f6k
Bonjour hamster, bonjour la liste,

On 2022-09-16 13:04:25 Fri, hamster wrote:

> Un moyen simple de le faire, c'est de ne pas aller écrire chaque chose a
> écrire au fur et a mesure mais de les grouper. Il y a donc une mémoire
> cache.

Merci beaucoup pour cette réponse à une question que je ne me posais pas
forcément. Idem pour l'explication sur les secteurs de disques durs (512 et
4096). Très instructif.

-f6k


-- 
~{,_,"> huld.re <",_,}~



Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet hamster

Le 16/09/2022 à 11:49, Hugues MORIN-TRENEULE a écrit :

Salut

Dans la commande
rsync -aPv /xxx/yyy/source /vvv/zzz/destination && sync

Le "sync" correspond bien à cette commande: 
http://manpagesfr.free.fr/man/man8/sync.8.html 

J'ai compris qu'elle permettait de s'assurer que le contenu en 
mémoire soit bien inscrit sur le disque mais je ne comprends pas bien 
pourquoi on l'appelle après rsync?

Quelle est sa fonction dans le processus de copie?


Dans un disque mécanique, il y a une tete le lecture qui bouge. Plus on 
la fait bouger, plus le mécanisme s'use. C'est donc une bonne idée 
d'économiser les mouvements de cette tete de lecture.


Un moyen simple de le faire, c'est de ne pas aller écrire chaque chose a 
écrire au fur et a mesure mais de les grouper. Il y a donc une mémoire 
cache. Quand tu écris quelque chose sur le disque, en fait c'est pas 
écrit directement sur le disque mais dans la mémoire cache. Quand cette 
mémoire cache est pleine, tout son contenu est écrit en une fois sur le 
disque. Et puis ca recommence.


Comme le système fait beaucoup de toutes petites écritures (a savoir 
rajouter une ligne dans un fichier de log) le fait de grouper ainsi les 
écritures fait économiser beaucoup de mouvements de la tete de lecture, 
et prolonge d'autant la durée de vie du disque.


Mais ca a aussi un défaut : quand tu écris quelque chose sur le disque, 
en fait ca s'écrit pas, ca attend que le cache soit plein pour s'écrire 
vraiment. Typiquement si tu écris un gros fichier, ca remplit le cache, 
ca l'écrit sur le disque, ca re-remplit le cache, ca l'écrit sur le 
disque, etc… un certain nombre de fois. Et puis arrive la fin du 
fichier. Le dernier morceau du fichier n'est pas assez gros pour remplir 
le cache, alors il est pas écrit tout de suite. Et tu te retrouve 
pendant un certain temps avec un fichier qui est écrit sur le disque, 
sauf la toute fin. Combien de temps dure ce "certain temps" ? Jusqu'a ce 
que tu ait écrit suffisamment d'autres trucs pour finir de remplir le cache.


La commande sync force l'écriture de ce qui est dans le cache, meme si 
il n'est pas plein. Tu peux la lancer a la main, et elle est aussi 
lancée automatiquement quand tu démonte un truc. C'est pour ca qu'il ne 
faut pas débrancher un disque externe sans l'éjecter au préalable. Quand 
tu éjecte le disque externe, ca lance sync pour vider le cache et ca le 
démonte. Tu peux alors le débrancher sans qu'il n'y ait le dernier bout 
du dernier fichier écrit qui reste oublié dans le cache.


PS : les clef USB, les cartes mémoire, les disque SSD (tout ce qui est 
de la mémoire flash en fait) n'ont pas de tete de lecture qui bouge. 
Grouper ainsi les écritures n'économise en rien leur usure. Dans ce cas, 
le cache est plus une source d'ennui qu'autre chose. Ca oblige a faire 
une action manuelle pour prévenir le système qu'on va débrancher. Ca 
fait des fichiers corrompus en cas de débranchement intempestif. Qui n'a 
jamais eu de faux contact dans une prise USB ???


Et puis ca empeche de faire une barre de progression réaliste pour les 
trucs avec une vitesse d'écriture un peu lente.


Tu a peut etre remarqué que quand tu écris un gros fichier sur une clef 
USB, au début la barre de progression avance super vite. Tu te dis 
"super, ca va pas durer longtemps". Et puis la barre de progression 
ralentit brusquement et sur la fin du fichier elle avance comme un 
escargot, pendant que tu fulmine en disant "et alors, qu'est-ce que ca 
attend, ca allait vite au début". Quand la copie est enfin terminée, tu 
fais "ejecter la clef" et la ca se met a te faire poireauter encore un 
bon moment avant de te dire "ca y est, vous pouvez retirer la clef sans 
risque".


Tout ca c'est la faute du cache. Au début ca va super vite parce que ca 
n'écrit pas sur la clef mais dans le cache. Quand de cache est plein, ca 
se met a écrire vraiment sur la clef, et la barre de progression 
ralentit beaucoup. Ce n'est qu'a ce moment la que tu vois la vraie 
vitesse d'écriture de la clef. Quand ca t'affiche que la copie est 
finie, en fait ca veut dire que ca a fini d'écrire le fichier dans le 
cache. Quand tu éjecte, ca force a écrire ce qui reste dans le cache, 
c'est pour ca que ca met des plombes avant de te dire "vous pouvez 
retirer sans risque".


Je rève d'un système qui sache faire la différence entre les disques 
mécaniques et les mémoires flash, pour utiliser automatiquement un cache 
d'écriture sur les disques mécaniques mais PAS sur la mémoire flash.




Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet Hugues MORIN-TRENEULE
Salut

Dans la commande
rsync -aPv /xxx/yyy/source /vvv/zzz/destination && sync

Le "sync" correspond bien à cette commande:
http://manpagesfr.free.fr/man/man8/sync.8.html
J'ai compris qu'elle permettait de s'assurer que le contenu en mémoire soit
bien inscrit sur le disque mais je ne comprends pas bien pourquoi on
l'appelle après rsync?
Quelle est sa fonction dans le processus de copie?

Cordialement
Hugues

Le ven. 16 sept. 2022 à 10:51, Hugues MORIN-TRENEULE  a
écrit :

> Salut
>
> Merci pour l'explication
> C'est ce que je supputais sans pouvoir le formuler aussi clairement et
> précisément que tu l'as fait.
>
> Même si ce n'est pas optimal, ça fera tres bien l'affaire pour
> l'utilisation que j'en ai :-)
>
> Allez, je passe à la copie ;-)
>
> Cordialement
> Hugues
>
> Le jeu. 15 sept. 2022 à 22:47, hamster  a écrit :
>
>> Le 15/09/2022 à 21:02, Hugues MORIN-TRENEULE a écrit :
>> > Bonsoir
>> >
>> > Vous m'avez tous déjà bien aidé à sortir d'une sacrée galère dont je
>> > cherchais la solution depuis un bout de temps ;-)
>> > Merci :)
>> >
>> > Sinon, est ce que ce problème de taille de secteur logique/physique qui
>> > n'est pas optimal, peut être un problème important?
>> > Ou est-ce juste une optimisation qui devrait être faite mais qui n'a
>> pas
>> > de conséquence importante sur le système et la sécurité du stockage de
>> > données?
>>
>> Pas important du tout. Ca ralentit un peu la vitesse d'ecriture et ca
>> fait un peu plus travailler le disque, c'est tout. Tu peux très bien
>> vivre avec.
>>
>> Si t'a envie de comprendre : le secteur c'est la plus petite quantité
>> qu'on peut manipuler sur le disque. On peut lire ou ecrire un secteur,
>> ou meme plusieurs secteurs, mais pas un demi secteur.
>>
>> Historiquement, les disques avaient des secteurs de 512 octets. Les
>> disques récents sont devenus plus gros et ca fait un grand nombre de
>> secteurs, alors les secteurs ont été agrandis a 4096 octets (8 fois plus
>> grands).
>>
>> Quand tu a un formattage 512 sur un disque 4096, le microcontroleur
>> intégré dans le disque se charge de gerer le truc.
>>
>> Si tu veux lire un secteur de 512, le microcontroleur va lire le secteur
>> 4096 qui contiens ce que tu demande, puis il découpe ce qu'il a lu en 8
>> et te donne le bon morceau.
>>
>> Si tu veux ecrire un secteur de 512, le microcontroleur calcule dans
>> quel secteur 4096 la zone que tu veux écrire va tomber, il lit ce
>> secteur 4096, il remplace la bonne zone 512 par ce que tu veux écrire
>> puis il re-ecrit le secteur 4096.
>>
>> Bon, c'est quand meme rare qu'on ecrive juste un secteur 512. Ca arrive
>> surtout au début ou a la fin d'un fichier, donc au total ca fait une
>> grande quantité de secteurs 4096 écris (par groupes de 8 secteurs 512)
>> et un petit nombre de fois ou il fait cette gymnastique.
>>
>>


Re: Copier 300GB d'un disque dur a un autre

2022-09-16 Par sujet Hugues MORIN-TRENEULE
Salut

Merci pour l'explication
C'est ce que je supputais sans pouvoir le formuler aussi clairement et
précisément que tu l'as fait.

Même si ce n'est pas optimal, ça fera tres bien l'affaire pour
l'utilisation que j'en ai :-)

Allez, je passe à la copie ;-)

Cordialement
Hugues

Le jeu. 15 sept. 2022 à 22:47, hamster  a écrit :

> Le 15/09/2022 à 21:02, Hugues MORIN-TRENEULE a écrit :
> > Bonsoir
> >
> > Vous m'avez tous déjà bien aidé à sortir d'une sacrée galère dont je
> > cherchais la solution depuis un bout de temps ;-)
> > Merci :)
> >
> > Sinon, est ce que ce problème de taille de secteur logique/physique qui
> > n'est pas optimal, peut être un problème important?
> > Ou est-ce juste une optimisation qui devrait être faite mais qui n'a pas
> > de conséquence importante sur le système et la sécurité du stockage de
> > données?
>
> Pas important du tout. Ca ralentit un peu la vitesse d'ecriture et ca
> fait un peu plus travailler le disque, c'est tout. Tu peux très bien
> vivre avec.
>
> Si t'a envie de comprendre : le secteur c'est la plus petite quantité
> qu'on peut manipuler sur le disque. On peut lire ou ecrire un secteur,
> ou meme plusieurs secteurs, mais pas un demi secteur.
>
> Historiquement, les disques avaient des secteurs de 512 octets. Les
> disques récents sont devenus plus gros et ca fait un grand nombre de
> secteurs, alors les secteurs ont été agrandis a 4096 octets (8 fois plus
> grands).
>
> Quand tu a un formattage 512 sur un disque 4096, le microcontroleur
> intégré dans le disque se charge de gerer le truc.
>
> Si tu veux lire un secteur de 512, le microcontroleur va lire le secteur
> 4096 qui contiens ce que tu demande, puis il découpe ce qu'il a lu en 8
> et te donne le bon morceau.
>
> Si tu veux ecrire un secteur de 512, le microcontroleur calcule dans
> quel secteur 4096 la zone que tu veux écrire va tomber, il lit ce
> secteur 4096, il remplace la bonne zone 512 par ce que tu veux écrire
> puis il re-ecrit le secteur 4096.
>
> Bon, c'est quand meme rare qu'on ecrive juste un secteur 512. Ca arrive
> surtout au début ou a la fin d'un fichier, donc au total ca fait une
> grande quantité de secteurs 4096 écris (par groupes de 8 secteurs 512)
> et un petit nombre de fois ou il fait cette gymnastique.
>
>