Qu’est-ce qu’un Kibioctet ?

En plus d’être quelque peu pénibles, notre fondateur Steve a un penchant bien connu pour être pédant. S’il fait irruption dans la zone de développement et commence à griller les gens, même les ingénieurs chevronnés sont souvent déconcertés lorsqu’ils posent pour la première fois la question: « Kilo-octets ou kibioctets? ».

 kibioctets

Même si vous n’avez pas entendu le terme, vous connaissez probablement au moins le concept. Un « kibioctet » est égal à 1024, ou 2^10, octets. Assez simple, mais un « kilo-octet » n’est-il pas aussi 1024 octets? Eh bien, ça l’est, parfois. Tel que défini par le Système international d’unités, le préfixe « kilo » fait référence à 1000, ou 10^ 3. La plupart des fabricants de stockage mesurent et étiquettent la capacité en base 10 (1 kilooctet = 1000 octets; 1 mégaoctet = 1000 kilooctets; 1 gigaoctet = 1000 mégaoctets; 1 téraoctet = 1000 gigaoctets). Les fournisseurs de RAM et la plupart des systèmes d’exploitation utilisent cependant la base 2 (1 kilooctet = 1024 octets; 1 mégaoctet = 1024 kilooctets; 1 gigaoctet = 1024 mégaoctets; 1 téraoctet = 1024 gigaoctets). (Une exception notable à cela est macOS, qui utilise la base 10 depuis OS X 10.6.) Donc, pour savoir exactement ce que l’on entend par « gigabyte », vous devez connaître le contexte dans lequel le mot est utilisé. Si vous parlez de la capacité du disque dur brut, un gigaoctet est de 1000000000 octets. Si vous parlez du système de fichiers au-dessus de ce disque dur, alors gigabyte signifie 1073741824 octets.

Encore confus? C’est pourquoi le « kibioctet » est important; « kilo » (et « giga », etc.) est ambigu lorsqu’il est utilisé pour signifier à la fois 1000 et 1024, de sorte qu’un nouvel ensemble de préfixes binaires a été établi par la CEI en 1998 pour réduire la confusion. Les autres préfixes incluent « mebi », « gibi », « tebi » et « pebi » pour remplacer respectivement « mega », « giga », « tera » et « peta ». (Il y a plus de préfixes pour de plus grandes quantités, mais si vous pensez vraiment en avoir besoin, vous pouvez aller les chercher vous-même.)

Donc, tout est bien et dandy, mais est-ce vraiment si important? Une différence de 24 octets par kilo-octet est-elle vraiment importante? Considérons un lecteur annoncé comme ayant 2 téraoctets (2 x 10 ^ 12 octets) de capacité. J’en ai un formaté en tant que volume VMFS dans mon laboratoire VMware. Après le formatage, VMware rapporte 2000112582656 octets de capacité (curieusement plus de 2 téraoctets, mais je ne vais pas me plaindre d’obtenir plus d’octets que ce qui est annoncé). Voyons en quoi cela diffère lorsqu’il est affiché par LogicMonitor sous forme de téraoctets (comme le terme est utilisé par les fournisseurs de stockage) et de tébioctets:

2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 téraoctets

 graphique

2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebioctets
 capture d'écran-2017-01-20- au-10-57-44- am

Le lecteur avisé pourrait observer qu’il n’y a en fait aucune différence entre 2.000 téraoctets et 1.819 tébioctets, et ils seraient corrects. Cependant, à moins que vous ne soyez sur un Mac, votre système d’exploitation et votre gestionnaire de fichiers signalent probablement la capacité et la taille du fichier en tebioctets. La notation ne le rendra pas nécessairement évident. Par exemple, la commande df sous linux rapporterait 1,8 T, tandis que l’Explorateur Windows rapporterait 1,82 To. Windows utilise la norme JEDEC au lieu de la CEI, donc bien que la valeur soit égale à tebioctets, elle serait toujours étiquetée comme « téraoctets ». La norme JEDEC considère 1 kilo-octet comme égal à 1024 octets. Dans ce cas, il y a un écart de ~ 180 gigaoctets ou gibioctets. Si vous branchez votre nouveau disque brillant de 2 téraoctets, vous risquez d’être déçu lorsque votre système d’exploitation le signale comme seulement 1,8 téraoctet. Même mot, mais sens différent selon les contextes.

Qu’est-ce que tout cela a à voir avec LogicMonitor? Eh bien, si vous définissez un graphique dans LogicMonitor, par défaut, il mettra à l’échelle vos valeurs graphiques en utilisant des kilo-octets de base 10. Si vous représentez 2000112582656 octets, votre graphique dans LogicMonitor affichera 2,00 T lorsque vous passez la souris sur la ligne. Ce n’est cependant pas idéal, car vous souhaitez que votre outil de surveillance l’affiche de la même manière que votre système d’exploitation, en utilisant la base 2 kibioctets (1,82 T). Heureusement pour vous (et nous), c’est une option! Chaque définition de graphique dans LogicMonitor a la possibilité de mettre à l’échelle par unités de 1024; tout ce que vous avez à faire est de cocher la case et de vous assurer de convertir vos valeurs en octets. LogicMonitor s’occupera du reste.

Un dernier problème pourrait vous déranger ; pourquoi LogicMonitor met-il par défaut à la mise à l’échelle par unités de 1000 si la plupart des systèmes d’exploitation mettent à l’échelle les unités de stockage par 1024 ? La réponse est que, malgré ce que votre administrateur de stockage peut vous dire, la surveillance n’est pas seulement la surveillance du stockage et du serveur. Presque tout le reste – bits réseau par seconde, requêtes HTTP par seconde, latence, profondeur des files d’attente SQS, nombre d’objets dans un cache – évolue en base 10. C’est uniquement pour les systèmes de fichiers et la mémoire que vous devez cocher l’option « échelle par 1024 ».

Si tous les systèmes d’exploitation adoptaient la norme de reporting en tebioctets et en gibioctets, cela éliminerait la confusion. Mais jusque-là, rappelez-vous que le préfixe « giga » signifie une chose quand on parle de mémoire et de systèmes de fichiers, et une autre chose quand on parle de tout le reste.

Pensez-vous avoir reçu un regard étrange de la part de vos collègues administrateurs système en mentionnant « kibibyte »? Essayez de poser des questions à votre équipe réseau sur les « gibibits ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.