GNU/Linux >> Znalost Linux >  >> Ubuntu

Jaký je správný způsob odpojení pevného disku Sata vyměnitelného za běhu?

Používám šachtu SATA hot-swap a v BIOSu mám tento konkrétní port nakonfigurovaný speciálně pro „Hot-Swap“.

Tato šachta má praktické tlačítko „POWER ON/OFF“, takže nedochází k žádnému přerušení při zapojování/odpojování kabelů.

Když zapínám disk, okamžitě se mi zobrazují nějaké chyby jádra, než se připojí:

  [1263413.036674] ATA6:Výjimka Emask 0x10 SACT 0X0 SERR 0x4040000 Akce 0xe zmrazená [1263413.036680] ATA6:IRQ_STAT 0X000040 Změněno [126411333] ATA64340 [12641414130 [12640 [12640 [12640 [126333:odkaz[1263418.796687] ata6:odkaz pomalu reaguje, buďte prosím trpěliví (připraveno=0)[1263423.052529] ata6:COMRESET se nezdařil (errno=-16)[1263423.052547] ata6:odkaz pro tvrdé resetování3a43:02. Gbps (SSatus 123 SControl 300)[1263428.032836] Chyba ACPI:[DSSP] Selhání vyhledávání jmenného prostoru, AE_NOT_FOUND (20150930/psargs-359)[1263428.032846] Metoda ACPPI0exe.Sat_0. (Node FFF88040E0C5780), AE_NOT_FOUND (20150930/PSPARSE-542) [1263428.159582] ATA6,00:ATA-9:HGST HDN726040Ale614, APGNW7JH, MAX UDMA/133 [12688] [12688] [12688]. 31/32), AA[1263428.161980] Chyba ACPI:[DSSP] Selhání vyhledávání jmenného prostoru, AE_NOT_FOUND (20150930/psargs-359)[1263428 .161988] Chyba ACPI:Analýza/spuštění metody se nezdařilo [_SB.PCI0.SAT0.SPT5._GTF] (Uzel ffff88040e0c5780), AE_NOT_FOUND (20150930/psparse-542)[120614428.6UD]02337d pro konfiguraci 2416.3012613428.3UD12613428.3418. 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:0:At6g sd 5:0:0:0:26g sd 5:0:0:0:[sdd] 7814037168 512bajtové logické bloky:(4,00 TB/3,64 TiB)[1263428.165508] sd 5:0:0:0:[sdd] 4096-bajtové fyzické bloky sdd[3451] 5:0:0:0:[sdd] Ochrana proti zápisu je vypnutá[1263428.165587] sd 5:0:0:0:[sdd] Režim Sense:00 3a 00 00[1263428.165618] sd 5:0:0:0:[ sdd] Zápisová mezipaměť:povolena, mezipaměť čtení:povolena, nepodporuje DPO ani FUA[1263428.213630] sdd:sdd1[1263428.214062] sd 5:0:0:0:[sdd] Připojený disk SCSI[12645238.5] dm-5):připojený souborový systém s režimem uspořádaných dat. Možnosti:(null) 

A když jej odpojuji (jako každý jiný disk) a poté vypínám šachtu, dostávám z jádra podivnější výstup (poslední části se objevují asi 10 sekund po vypnutí – systém si stále myslí, že je disk na chvíli připojený dokud nevyprší časový limit):

[1263588.964461] ATA6:Výjimka Emask 0x10 SACT 0X0 SERR 0x4090000 Akce 0xe zmrazená [126358888] ATA6:ATA6:ATONYTROR:odkaz pro resetování[1263589.687000] ata6:linka SATA dolů (SSatus 0 SControl 300)[1263594.686806] ata6:linka pro tvrdé resetování[1263595.006827] ata6:linka SATA dolů (SSatus 01000)26ps linka SATA.03859 linka03859 03859 57 [1263600.006678] ata6:hard reset odkaz[1263600.330626] ata6:SATA link down (SSatus 0 SControl 310)[1263600.330634] ata6.00:disabled [1263600.330626] kompletní. :0:0)[1263600.334909] sd 5:0:0:0:[sdd] Synchronizace mezipaměti SCSI[1263600.334943] sd 5:0:0:0:[sdd] Synchronizace mezipaměti(10) se nezdařila:Result:host_BADET_DRGID driverbyte=DRIVER_OK[1263600.334946] sd 5:0:0:0:[sdd] Zastavující disk[1263600.334955] sd 5:0:0:0:[sdd] Start/Stop Jednotka selhala:Výsledek t:hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK

Disk však funguje dobře, žádné problémy nebo chyby dat, ale mám pocit, že to mohlo být provedeno lépe/bezpečněji, bez takového časového limitu.

Související:Jaké jsou rozdíly mezi „-“ a „–“ v příkazech?

Existuje vhodnější způsob odpojení SATA vyměnitelného za běhu?

Zkoušel jsem odeslat udisksctl power-off -b /dev/sdd příkaz, ale zatímco to funguje dobře pro USB disky, nedělá nic se SATA. Nejlepší věc, kterou jsem si myslel, je pozastavit disk před vypnutím, ale výstup jádra je stejně stejný.

$ uname -aLinux dev 4.4.0-93-generic #116-Ubuntu SMP Pá 11. srpna 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 

Přijatá odpověď:

Zde je nejpodivnější příkaz, který ve skutečnosti dělá trik, který jsem hledal:

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

…a potom to jde:

[1285227.129329] sd 5:0:0:0:[sde] Synchronizace mezipaměti SCSI[1285227.129566] sd 5:0:0:0:[sde] Zastavování disku[1285228.209095] ata6. /code> 

… a teď mohu VYPNOUT a jde to:

[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 resetování odkazu[1285260.211923] ata6:SATA spojení vypnuto (SSatus 0 SControl 300)[1285260.211934] ata6:EH dokončeno 

Malý průšvih, že potřebuje oprávnění root, ale vypadá to mnohem uspokojivěji 🙂


Ubuntu
  1. Jaký je nejlepší způsob nastavení proměnných prostředí podle distro/shell agnostického prostředí?

  2. Jaký je nejlepší způsob, jak vyjmout segment z textového souboru?

  3. Jak zjistit počet špatných sektorů na pevném disku?

  1. Jak vypnout pevný disk v Ubuntu?

  2. Jak automaticky připojit externí pevný disk?

  3. Vynulování obsahu pevného disku bez zničení souborového systému

  1. Jaký je nejlepší způsob, jak spočítat počet souborů v adresáři?

  2. Jak vypálit spouštěcí soubor ISO na oddíl na pevném disku a použít jej jako záchranný systém?

  3. Fyzicky identifikujte vadný pevný disk