10.6 Snow Leopard Evaluer l'état d'un disque

Chrisdfr

Membre junior
4 Décembre 2012
56
1
Bonjour,

Je gère une petite quantité de disques durs, qui de temps en temps lâchent. J'arrive à en récupérer certains en les re formatant, mais le doute sur leur fiabilité s'installe. Parfois le disque se montre fiable et parfois non.
Je voudrais savoir s'il y a un moyen logiciel (lequel ?) d'estimer l'état de ces disques, ou d'un disque en général, sans lancer un interminable scan de l'état de surface comme en proposent des utilitaires de disques.
Ou peut être connaissez vous des logiciels qui en jouant sur les statistiques arrivent à fournir un état du disque de manière assez fiable ?

J'ai noté qu'hormis les disques qui subissent un choc, la plupart des problèmes découlent d'un problème de perte de catalogue de fichiers. N'existe t'il pas un moyen de multiplier les copies de ces catalogues qui ne doivent pas être très gros au regard de la taille des disques ?

Au passage, le système Smart n'est pas très utile car ne fonctionne pas pour les disques externe, donc pas de solution de ce côté là pour mes disques.

La plupart de mes machines sont sous 10.6.8

Merci pour votre aide.
Christine
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
85 352
25 738
Forêt de Fontainebleau
Bonjour Christine

Je m'avise que personne ne t'a répondu, ce qui me donne l'occasion d'un bout de conversation.

Je voudrais savoir s'il y a un moyen logiciel (lequel ?) d'estimer l'état de ces disques, ou d'un disque en général, sans lancer un interminable scan de l'état de surface comme en proposent des utilitaires de disques.

En ce qui concerne un disque, deux facteurs logiciels jouent un rôle décisif : la table de partition et le système de fichiers -->

  • la table de partition se compose de descripteurs des partitions du disques : numéro de tranche > localisation (de tel bloc logique à tel bloc logique) > type de partition > nom de volume. Elle réside sur les blocs de départ du disque. Pour un disque Mac Intel > son type standard est GPT (GUID Partition Table).

  • le système de fichiers se compose d'une série de fichiers qui définissent l'espace de la partition en tant que volume : fichier du catalogue B-tree (permettant l'accès aux données en lecture > édition > ajout > suppression) > fichier des allocations de blocs (aux fichiers) > fichier des segments en excès (lorsqu'il n'y a pas assez de blocs contigus pour un seul fichier) > fichier des attributs étendus - notamment. Ces fichiers gestionnaires du volume sont inscrits sur l'en-tête de la partition. Pour un disque Mac > son type classique est JHFS+ (Mac OS étendu journalisé).

  • la table de partition permet l'accès logique aux partitions ; le système de fichiers permet le montage d'un volume sur une partition (il y a autant de systèmes de fichiers que de partitions et de volumes montables sur ces partitions).

  • Lors de l'attachement d'un disque externe de stockage au Mac > le daemon (service) diskarbitrationd accède à la table de partition du disque > identifie les partitions dont le type correspond à un volume montable automatiquement > va aux systèmes de fichiers de ces partitions et effectue leur probation. En cas de probation validée > ce service passe au kernel (le noyau de l'OS démarré) la tâche de monter le volume sur la partition et de le charger. En cas de probation invalidée > le processus de montage du volume est avorté.

Ce bref descriptif permet de tirer une double conséquence : il est décisif d'éviter les erreurs dans la table de partition et dans les systèmes de fichiers des partitions. Une table de partition corrompue empêche l'accès aux partitions ; un système de fichiers corrompu empêche le montage du volume sur la partition.

En mode graphique, le logiciel natif de l'OS : «Utilitaire de Disque» permet la vérification / réparation aussi bien de la table de partition d'un disque que des systèmes de fichiers des partitions -->

  • sélectionner le disque physique > et presser le bouton : "Réparer le disque" --> adresse un processus de vérification / réparation à la table de partition de l'en-tête du disque ;

  • sélectionner un volume de ce même disque (monté ou non) > et presser le bouton : "Réparer le disque" --> adresse un processus de vérification / réparation au système de fichiers permettant le montage du volume sur la partition.

Je pense que procéder régulièrement à cette double vérification / réparation peut permettre d'éviter des empilements de petites erreurs qui pourraient se transformer en erreurs majeures. De ces 2 types de réparation > celle du système de fichiers est de loin la plus cruciale. Car une table de partition est beaucoup plus sommaire et robuste (et donc stable) qu'un système de fichiers qui gère des kyrielles d'allocations de blocs à des fichiers et d'adresses de fichiers avec des modifications incessantes de l'état des choses, à cause de l'activité d'utilisateur qui ne cesse d'ajouter > éditer > supprimer des fichiers.

Un utilitaire appelable en ligne de commande dans le «Terminal» comme gdisk (warning ! --> abscons...) > permet de faire une sauvegarde d'une table de partition sous forme de fichier > d'après lequel le même logiciel peut reconstruire en cas d'incident la table de partition d'un disque. Mais je ne connais pas de logiciel qui fasse des sauvegardes des systèmes de fichiers de partitions données - notamment du fichier du catalogue B-tree d'un JHFS+. Un tel catalogue étant sans cesse en train de se mettre à jour des fichiers écrits sur les blocs > il est même douteux qu'un tel archivage soit envisageable de manière pertinente > à cause du rapide décalage entre une telle archive et la distribution réelle des fichiers sur les blocs.




 

Chrisdfr

Membre junior
4 Décembre 2012
56
1
Bonjour,

Merci pour votre réponse très complète, ainsi que pour le résumé de l'état des lieux.
Voici quelques commentaires:

- J'utilise régulièrement l'utilitaire de disque pour les vérifications / réparations ainsi que pour les permissions. Je constate que soit aucun problème n'est détecté, soit les données sont irrécupérables et le seul moyen de conserver l'usage du disque est de reformater. Avec la sauvegarde tout rentre dans l'ordre à ceci près qu'à ce stade, l'utilitaire de disque indique que tout est normal. Mais est ce que vraiment le cas ? Mystère.

- Les signes avant coureurs de problèmes se classent plus ou moins dans l'ordre de la façon suivante:

- Changement de connexion d'un disque d'un mac vers un autre. (ou pb extinction redémarrage)
- Démontage impossible => forçage. J'en déduis que la table de partition ou le système de fichiers a perdu ses petits dans l'intervalle.
- Allumage d'un disque de sauvegarde qui tourne une fois par semaine et qui se réveille... mal.

Bref, la situation passe sans nuance de tout va très bien à plus rien de va. D'où ma question sur ce forum

Je ne connais pas gdisk mais je vais y jeter un oeil. En tout cas si on pouvait déjà doublonner la table de partition ça serait déjà pas mal. Quand au système de fichiers, effectivement ce serait trop lourd de le doublonner en temps réel. En revanche, à la vue des symptômes de plantages, si le disque (ou l'utilisateur) pouvait le faire avant chaque démontage, ça permettrait déjà de se sauver d'un bon nombre de situations.
 

macomaniac

Ouroboros
Club MacG
20 Septembre 2012
85 352
25 738
Forêt de Fontainebleau
Tu peux télécharger l'installateur de gdisk ici : ☞GPT fdisk☜. Un double-clic sur l'installateur installera l'exécutable binaire at : /usr/sbin/gdisk.

Cela fait > tu peux l'appeler en ligne de commande dans le «Terminal» (Applications > Utilitaires). Voici comment procéder -->

tous les disques qui t'intéressent attachés à ton Mac > tu saisis d'abord une commande informative :
Bloc de code:
diskutil list
et ↩︎ (presse la touche "Entrée" du clavier pour activer la commande)

  • cette commande appelle l'utiltaire diskutil (disk_utility : utilitaire de disque - le même qu'emploie en mode graphique le logiciel «Utilitaire de Disque») > avec le verbe list (lister) ;
  • en retour > s'affiche le tableau de tous les disques attachés au Mac (en interne / externe) > avec leurs tables de partitions > et leurs partitions décrites en : format > nom de volume > taille > identifiant d'appareil.

Le retour de cette commande te permet de connaître l'identifiant d'appareil (device) du disque qui t'intéresse. On va supposer que c'est /dev/disk1 = dans le registre des dev(ices) > le disque n°1 ou second disque monté par le kernel (le premier disque est le disque n°0).

----------

Nantie de cette information > tu peux appeler gdisk dans une commande inaugurale qui aura toujours la forme :
Bloc de code:
sudo gdisk /dev/disk1
et ↩︎ --> une demande de password s'affiche (commande sudo qui te fait emprunter l'identité de l'utilisateur root ou System Administrator) --> tape ton mot-de-passe de session admin à l'aveugle - aucun caractère ne s'affichant à la frappe - et ↩︎ de nouveau.

(si le disque qui t'intéresse était le disk3 > évidemment tu modifierais le n° du disque en fin de commande)

  • Cette commande fait scanner automatiquement par gdisk les tables de partition du disque-cible dont le tableau s'affiche. Une invite de commande interactive s'inscrit à la fin qui est :
    Bloc de code:
    Command (? for help):

----------

Je te suggère > pour apprendre à connaître les possibilités offertes par gdisk > de taper d'abord ? et de valider par ↩︎ --> ce qui va afficher l'ensemble des commandes possibles du Menu "standard". J'attire ton attention sur la commande b -->
Bloc de code:
b    back up GPT data to a file

Si tu tapes : b et ↩︎ --> tu obtiens le retour :
Bloc de code:
Enter backup filename to save:
(saisissez le nom du fichier de sauvegarde) --> tu saisis ce que tu veux, par exemple :
Bloc de code:
disk1 GPTSAVE
et ↩︎ --> ce qui affiche le retour :
Bloc de code:
The operation has completed successfully.

Un fichier disk1 GPTSAVE se trouve créé à la racine de ton dossier de compte.

----------

Ayant récupéré l'invite de commande > tu peux poursuive ta balade. Si tu tapes r et ↩︎ --> tu obtiens l'invite de commande modifiée :
Bloc de code:
Recovery/transformation command (? for help):
te signalant que tu es dans le mode Recovery de gdisk. Si tu tapes  ? et ↩︎ --> tu vois alors s'afficher les commandes possibles du Menu "récupération". J'attire ton attention sur la commande -->
Bloc de code:
l    load partition data from a backup file

Si tu saisis l (minuscule de "L") et ↩︎ --> tu obtiens la demande :
Bloc de code:
Enter backup filename to load:
(gdisk ne cherchant qu'à la racine du dossier de compte) --> si tu saisis :
Bloc de code:
disk1 GPTSAVE
et ↩︎ --> tu récupères l'invite de commande sans commentaire.

Voici la signification : l'opération "reconstruire la GPT du disk1 d'après le fichier de sauvegarde ~/disk1 GPT SAVE" a été mise en cache de l'application. Il s'agit donc d'une tâche virtuelle. Rien n'a encore affecté actuellement (effectivement) les écritures du disque.

Si tu veux qu'une opération que tu as ainsi programmée et qui a été mise en cache s'actualise logiquement au disque > tu dois saisir la commande :
Bloc de code:
w
(write table to disk and exit) et ↩︎ --> gdisk te propose dans la plupart des cas une demande de confirmation > et si tu valides par y et ↩︎ --> exécute avec le commentaire que le kernel (noyau de l'OS en exercice) ne va pas adapter automatiquement son chargement des volumes sur les partitions d'après l'ancienne table GPT à la nouvelle inscrite (résilience de la prise en charge) => il faut donc détacher le disque concerné > puis le ré-attacher > pour que le kernel charge la distribution de la nouvelle table de partition GPT.

----------

Si au lieu d'exécuter une commande au disque > tu avais tapé x et ↩︎ --> tu aurais obtenu une 3è invite de commande :
Bloc de code:
Expert command (? for help):
signifiant que tu es passée dans le mode Expert de gdisk. Saisir ? et ↩︎ --> affiche alors les commandes possibles du Menu "expert".

Ça devient un tantinet abscons > mais si tu tapes :
Bloc de code:
v
(verify disk) et ↩︎ --> tu obtiens un retour éclair sur la validité de la table de partition du disque.


Pour quitter gdisk > taper q (quit) et ↩︎ --> ce qui ramène l'invite de commande normale du «Terminal» que l'on peut fermer.

----------

Je n'ai jamais essayé d'utiliser gdisk dans le «Terminal» de «Snow Léopard» : il ne fonctionne peut-être pas avec cet OS déjà ancien.

Je conseille instamment de s'exercer avec gdisk en prenant pour disque-cible une clé USB dédiée à cette expérimentation.

Cet exécutable a été créé par Roderick Smith (le développeur du gestionnaire de démarrage rEFInd) et offre des possibilités puissantes. Il intervient sur les tables de partitions de disque > et pas sur les systèmes de fichiers de partitions. Mais il est capable de manipuler les types logiques des partitions > ce qui peut permettre de récupérer un volume inmontable parce que le type de la partition a été modifié accidentellement dans la table de partition. Restaurer le type originel de la partition peut permettre le remontage du volume.
 
Dernière édition: