Attributs intelligents pour les écritures totales
Techniquement parlant, il existe des SMART attributs définis pour les valeurs de lecture/écriture, mais il n'y a aucune garantie que le fabricant du disque va les utiliser. Ils sont les suivants (définis comme des "mots" - c'est-à-dire "Mot 241"):
- 241 - Total des LBA écrits
- 242 - Total des LBA lus
- 243 - Total des LBA écrits étendus
- 244 - Total des LBA lus étendus
- 249 - Écritures NAND (1GiB)
Un LBA est une Adresse de bloc logique qui est une adresse de 48 bits vers un bloc de données spécifié. Les blocs de données varient en taille en fonction du système d'exploitation; macOS HSF+ utilise un bloc de 16 Ko. En d'autres termes, sur macOS formaté avec HFS+, il utilise 16 Ko pour contenir un fichier de 1 Ko et 32 Ko pour contenir tout fichier supérieur à 16 Ko mais inférieur à 32 Ko.
Pouvez-vous accéder à ces données?
Cela dépend. (Encore) Techniquement parlant, vous pouvez envoyer une commande ATA au disque pour lire les données identifiées par les "mots" pertinents. Cependant, il est peu probable que vous obteniez ces informations. Pourquoi?
- Le disque doit le supporter
- macOS ne vous permet pas d'obtenir cette information.
En extrayant les attributs d'un (aléatoire) Disque Seagate du site web des smartmontools, vous pouvez voir que les mots pertinents ne sont pas définis.
Deuxièmement, même si les données existaient et que vous écriviez votre propre application pour envoyer des commandes AT personnalisées, macOS ne vous permettrait pas de le faire.
Par conception, OS X n'autorise pas les applications à envoyer des commandes SCSI ou ATA aux dispositifs de stockage à moins que le développeur d'application ne fournisse également un pilote de dispositif in-kernel qui prend en charge les commandes. La famille du Modèle d'Architecture SCSI n'autorise qu'un seul pilote d'unité logique pour contrôler un dispositif à la fois et fournit des pilotes d'unité logique in-kernel pour les dispositifs de stockage (comme indiqué dans la prise en charge des dispositifs de la famille du Modèle d'Architecture SCSI). De même, la famille ATA n'autorise pas les applications à envoyer directement des commandes ATA aux dispositifs ATA ou SATA (Serial ATA).
Comment savons-nous que c'est le cas?
En utilisant DiskDrill sur mon SSD interne, voici la limite des attributs fournis par le système d'exploitation.
Practicalité des opérations d'écriture totales
Il n'est pas pratique de recueillir ce type d'informations. En prenant un scénario extrême - un centre de données exécutant des serveurs SQL haute disponibilité et critiques pour les missions (Oracle, MySQL, MSSQL) - notre préoccupation n'est pas la quantité de données écrites, mais la vitesse et la fiabilité des disques. Ce que nous recherchons, c'est
- les IOPS sont-ils suffisamment élevés?
- les erreurs de lecture/écriture sont-elles faibles?
- la couverture de la garantie est-elle toujours en vigueur?
En d'autres termes, si le disque a une performance suffisamment élevée et s'il n'y a pas d'erreurs (seuil bas) et qu'il est toujours sous garantie, le disque est en service. Dès qu'il commence à flancher, nous le remplaçons. De plus, une fois la garantie expirée, il est remplacé peu importe s'il lui reste de la durée de vie (il y a aussi un aspect budgétaire).
En fin de compte, le nombre total d'opérations d'écriture sur un disque n'est pas une mesure critique à suivre.
iostat
et autres outils du système d'exploitation
Le problème ici est qu'il vous donne des statistiques pour le système d'exploitation actuel:
iostat (statistiques d'entrée/sortie) est un outil de surveillance du système informatique utilisé pour collecter et afficher les statistiques d'entrée/sortie du stockage du système d'exploitation.
En d'autres termes, réinstallez macOS sur un SSD déjà utilisé depuis 3 ans et vos statistiques retombent à zéro. C'est un peu comme remettre à zéro le compteur kilométrique d'une voiture - même si elle indique 50K miles/kilomètres parcourus, le moteur et la transmission ont quand même 150K.
En résumé
Il est peu probable que vous obteniez cette information.
- Le disque doit prendre en charge l'attribut SMART
- Votre système d'exploitation doit vous permettre d'obtenir l'attribut. Sur macOS, cette information, par conception, est simplement indisponible
- Ce n'est pas une mesure pratique à surveiller
Enfin, en ce qui concerne les disques, qu'ils soient à plateaux ou en état solide, supposer qu'ils vont finir par tomber en panne. C'est pourquoi une stratégie de sauvegarde sensée est beaucoup, beaucoup plus critique que de surveiller les écritures totales.