Augmenter la taille d'un RAID 1 en changeant les disques durs

Tags: #<Tag:0x00007f509c296ac8>

De quelle “théorie” manifestement erronée sortent ces 700 Mo/s ? La vitesse maximum de copie d’un gros fichier non fragmenté est limitée par le débit séquentiel des disques durs source et destination (le plus lent des deux). 116 Mo/s est une valeur honnête. Le débit séquentiel le plus élevé que j’ai vu sur un disque dur SATA “classique” d’ordinateur de bureau (sans aller chercher les disques SAS de compétition) est de l’ordre de 200 Mo/s.

Qu’est-ce que le débit d’un lien ethernet gigabit vient faire dans une copie entre disques locaux ?
Et de quelle théorie sort cette valeur de 128 Mo/s ?

Comment un programme peut-il prendre en compte la fragmentation lorsqu’il crée des fichiers ? Ce n’est pas censé être du ressort du système de fichiers ?

Désolé, la commande passée est :
# mount -t ext4 /dev/VG_RAID/LV_DATA /mnt
# rsync -a --stats --progress --delete /data/ /mnt

C’est bien là le problème , je suis étonné qu’un transfert entre deux disques SATA ne dépasse pas ceux de liens ethernet.

En fait, je m’inquiète d’avoir un mauvais paramétrage quelque part qui bride les taux de transferts de mes disques durs que ce soit pour cette “longue opération” ou pour d’autres futurs transferts de fichiers.

Par un simple calcul de conversion de débits.
6 Gb/s <=> 6 000 000 000 bits/s <=> (/8) 750 000 000 octets/s <=> (/1024^2) 715 Mo/s

Voilà qui me rassure, mais je reste étonné de cette faible valeur.

Ce n’est pas si simple. Tout d’abord les bits dont il est question résultent d’un encodage 8B/10B (10 bits servent à transmettre un octet) donc il serait plus parlant d’écrire 600 Mo/s au lieu de 6 Gbit/s, et d’autre part tous les octets transmis ne contiennent pas des données de charge utile, une certaine proportion est utilisée par le protocole SATA lui-même (comme les 54 octets des en-têtes d’un paquet TCP/IP/ethernet), c’est ce qu’on appelle la “surcharge protocolaire” (overhead).

D’autre part tu as commis une erreur : 1 Mo vaut 10^6 octets, pas 1024^2 (soit 2^20). C’est 1 Mio qui vaut 2^20 octets. En transmission, l’usage est d’employer les préfixes décimaux et non binaires. En stockage de masse, c’est selon. Les fabricants utilisent les préfixes décimaux du SI (valeur légale oblige), les logiciels utilisent les préfixes décimaux ou binaires. Les fabricants de puces de mémoire RAM ou flash utilisent les préfixes binaires par commodité, les capacités étant des puissances entières de 2. L’ennui est qu’ils ont (avaient ?) tendance à utiliser les notations des préfixes décimaux du SI en leur donnant les valeurs des préfixes binaires. Il en est de même avec de nombreux logiciels, mais les corrections progressent.

Ah oui, je comprends alors pourquoi les débits sont plus faibles que ceux que j’imaginai.

Merci PascalHambourg pour ces précisions.

Plains-toi, mon disque dur PATA (IDE) de 120 Go plafonne à 50 Mo/s…
Le débit séquentiel d’un disque dur est proportionnel à 3 facteurs :

  • la vitesse de rotation des plateaux

  • le rayon de la piste (plus on s’enfonce vers le centre, c’est-à-dire vers la fin, plus le débit diminue)

  • la densité linéaire d’enregistrement. Celle-ci est liée de façon plus ou moins floue à la capacité par plateau qui résulte non seulement de la densité linéaire (quantité de données par unité de longueur sur une piste) mais aussi de la densité des pistes (nombre de pistes par plateau). Ainsi la récente technologie SMR (Shingled Magnetic Recording) permet d’augmenter la capacité par plateau en rapprochant les pistes, c’est-à-dire en augmentant la densité des pistes et non la densité linéaire, donc a priori sans augmenter le débit séquentiel.