GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Quelle est la bonne façon de déconnecter le disque dur SATA remplaçable à chaud ?

J'utilise une baie SATA hot-swap et j'ai dans le BIOS ce port particulier configuré spécifiquement pour "Hot-Swap".

Cette baie est dotée d'un bouton "POWER ON/OFF" pratique, de sorte qu'aucune interruption ne se produit lors du branchement/débranchement des câbles.

Lorsque j'allume un lecteur, j'obtiens immédiatement des erreurs de noyau, avant qu'il ne se monte :

[1263413.036674] ata6: exception Emask 0x10 SAct 0x0 SErr 0x4040000 action 0xe frozen
[1263413.036680] ata6: irq_stat 0x00000040, connection status changed
[1263413.036683] ata6: SError: { CommWake DevExch }
[1263413.036698] ata6: hard resetting link
[1263418.796687] ata6: link is slow to respond, please be patient (ready=0)
[1263423.052529] ata6: COMRESET failed (errno=-16)
[1263423.052547] ata6: hard resetting link
[1263428.032390] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[1263428.032836] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20150930/psargs-359)
[1263428.032846] ACPI Error: Method parse/execution failed [_SB.PCI0.SAT0.SPT5._GTF] (Node ffff88040e0c5780), AE_NOT_FOUND (20150930/psparse-542)
[1263428.159582] ata6.00: ATA-9: HGST HDN726040ALE614, APGNW7JH, max UDMA/133
[1263428.159588] ata6.00: 7814037168 sectors, multi 0: LBA48 NCQ (depth 31/32), AA
[1263428.161980] ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20150930/psargs-359)
[1263428.161988] ACPI Error: Method parse/execution failed [_SB.PCI0.SAT0.SPT5._GTF] (Node ffff88040e0c5780), AE_NOT_FOUND (20150930/psparse-542)
[1263428.164472] ata6.00: configured for UDMA/133
[1263428.164483] ata6: EH complete
[1263428.164650] scsi 5:0:0:0: Direct-Access     ATA      HGST HDN726040AL W7JH PQ: 0 ANSI: 5
[1263428.165064] sd 5:0:0:0: Attached scsi generic sg4 type 0
[1263428.165502] sd 5:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[1263428.165508] sd 5:0:0:0: [sdd] 4096-byte physical blocks
[1263428.165582] sd 5:0:0:0: [sdd] Write Protect is off
[1263428.165587] sd 5:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[1263428.165618] sd 5:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[1263428.213630]  sdd: sdd1
[1263428.214062] sd 5:0:0:0: [sdd] Attached SCSI disk
[1263534.534238] EXT4-fs (dm-5): mounted filesystem with ordered data mode. Opts: (null)

Et quand je le démonte (comme n'importe quel autre lecteur) et que j'éteins la baie, j'obtiens une sortie plus étrange du noyau (les dernières parties se produisent environ 10 secondes après l'extinction - le système pense toujours que le lecteur est connecté pendant un certain temps jusqu'à ce qu'il expire):

[1263588.964461] ata6: exception Emask 0x10 SAct 0x0 SErr 0x4090000 action 0xe frozen
[1263588.964467] ata6: irq_stat 0x00400040, connection status changed
[1263588.964478] ata6: SError: { PHYRdyChg 10B8B DevExch }
[1263588.964483] ata6: hard resetting link
[1263589.687000] ata6: SATA link down (SStatus 0 SControl 300)
[1263594.686806] ata6: hard resetting link
[1263595.006827] ata6: SATA link down (SStatus 0 SControl 300)
[1263595.006837] ata6: limiting SATA link speed to 1.5 Gbps
[1263600.006678] ata6: hard resetting link
[1263600.330626] ata6: SATA link down (SStatus 0 SControl 310)
[1263600.330634] ata6.00: disabled
[1263600.330645] ata6: EH complete
[1263600.330653] ata6.00: detaching (SCSI 5:0:0:0)
[1263600.334909] sd 5:0:0:0: [sdd] Synchronizing SCSI cache
[1263600.334943] sd 5:0:0:0: [sdd] Synchronize Cache(10) failed: Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[1263600.334946] sd 5:0:0:0: [sdd] Stopping disk
[1263600.334955] sd 5:0:0:0: [sdd] Start/Stop Unit failed: Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK

Cependant, le lecteur fonctionne bien, aucun problème ni aucune erreur de données, mais j'ai l'impression que cela aurait pu être fait d'une manière meilleure/plus sûre, sans un tel délai.

En relation :Quelles sont les différences entre "-" et "-" dans les commandes ?

Existe-t-il un moyen plus approprié de déconnecter le SATA hot-swap ?

J'ai essayé d'envoyer un udisksctl power-off -b /dev/sdd commande, mais bien que cela fonctionne bien pour les lecteurs USB, cela ne fait rien avec SATA. La meilleure chose que j'ai pensé est de suspendre un lecteur avant de l'éteindre, mais la sortie du noyau est la même de toute façon.

$ uname -a
Linux dev 4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Réponse acceptée :

Voici la commande la plus étrange qui fait réellement l'astuce que je cherchais :

device=sde; sudo sh -c "echo 1 > /sys/block/${device}/device/delete"

… et après ça va :

[1285227.129329] sd 5:0:0:0: [sde] Synchronizing SCSI cache
[1285227.129566] sd 5:0:0:0: [sde] Stopping disk
[1285228.209095] ata6.00: disabled

… et maintenant je peux éteindre et ça va :

[1285259.491044] ata6: exception Emask 0x10 SAct 0x0 SErr 0x4090000 action 0xe frozen
[1285259.491049] ata6: irq_stat 0x00400040, connection status changed
[1285259.491052] ata6: SError: { PHYRdyChg 10B8B DevExch }
[1285259.491058] ata6: hard resetting link
[1285260.211923] ata6: SATA link down (SStatus 0 SControl 300)
[1285260.211934] ata6: EH complete

Un peu dommage qu'il ait besoin du privilège root, mais cela semble beaucoup plus satisfaisant 🙂


Ubuntu
  1. Quelle est la meilleure façon Distro/shell-agnostic pour définir des variables d'environnement ?

  2. Quelle est la meilleure façon de retirer un segment d'un fichier texte ?

  3. Comment graver un fichier iso amorçable sur une partition du disque dur pour l'utiliser comme système de secours ?

  4. Quelle est la meilleure façon de distribuer une application binaire pour Linux ?

  5. Quelle est la bonne façon d'utiliser inotify ?

Mise à niveau vers un disque SSD sous Linux :la méthode simple et la méthode difficile

Quelle est la méthode recommandée pour configurer un périphérique à pavé tactile Synaptics ?

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?

Remise à zéro du contenu d'un disque dur sans détruire le système de fichiers

Le système se fige. Je ne trouve rien dans les journaux

Identifier physiquement le disque dur défectueux