Come evitare lo spin up dell'HDD all'avvio del sistema? (Ubuntu da SSD)


8

Grazie al hdparm -B1 /dev/sdbmio HDD non gira più quando viene acceso all'avvio. Ma dopo aver completato i messaggi POST del BIOS e aver avviato Ubuntu, l'HDD riceve un segnale tramite il cavo dati SATA e si avvia.

Lasciare il cavo dati (ma sempre con il cavo di alimentazione SATA inserito) consente al sistema di avviarsi completamente dal mio SSD senza far girare l'HDD.

Cosa causa la rotazione dell'HDD? Forse Grub2?


Modifica: no, non sembra essere Grub2 che fa girare il disco. Ho appena impostato Grub per mostrare il suo menu senza timer. Non succede nulla fino a quando non premo l'opzione di avvio standard di Ubuntu, quindi pochi secondi dopo l'unità si avvia.


Modifica dmesg | grep sdb::

[    7.080043] ata2.00: qc timeout (cmd 0xef)
[    7.080057] ata2.00: failed to IDENTIFY (SPINUP failed, err_mask=0x4)
[    9.830035] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    9.836555] ata2.00: ATA-8: SAMSUNG HD105SI, 1AJ10001, max UDMA/133
[    9.836564] ata2.00: 1953525168 sectors, multi 0: LBA48 NCQ (depth 31/32)
[    9.842364] ata2.00: configured for UDMA/133
[    9.842644] scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG HD105SI  1AJ1 PQ: 0 ANSI: 5
[    9.843249] sd 1:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[    9.843270] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    9.843487] sd 1:0:0:0: [sdb] Write Protect is off
[    9.843497] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    9.843590] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    9.844091]  sdb:
[    9.845127] scsi 2:0:0:0: CD-ROM            ATAPI    iHDS118   5      RL0C PQ: 0 ANSI: 5
[    9.851182] sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[    9.851191] Uniform CD-ROM driver Revision: 3.20
[    9.851554] sr 2:0:0:0: Attached scsi CD-ROM sr0
[    9.851802] sr 2:0:0:0: Attached scsi generic sg2 type 5
[    9.942896]  sdb1
[    9.943773] sd 1:0:0:0: [sdb] Attached SCSI disk

Cosa hai sull'HDD? Forse ureadahead sta cercando di memorizzare nella cache qualcosa di insignificante? Potresti anche pubblicare le tue voci / etc / fstab associate per l'unità?
M. Tibbits,

Il mio HDD contiene dati come file manuali in pdf, episodi StarTrek, ... Nessun file di programma, nessun file di configurazione o simili.
Oliver,

1
fstab => / dev / sdb1 / media / data ext2 noatime, user, noauto 0 2
Oliver

Risposte:


0

Abbastanza sicuro è il modulo del kernel per la scansione del controller per i dischi che fa girare il tuo hd. Ora, se sbaglio leggermente, ed è davvero un modulo per il tuo disco rigido, potresti bloccare il caricamento di quel modulo durante il processo di avvio. Dai un'occhiata alle liste nere su /etc/modprobe.d/.


Sembra facile Devo solo aggiungere una riga "sd" in blacklist.conf? Che ne dici dell'SSD che presumo sia stato avviato anche con il modulo SD?
Oliver,

Eheh, ovviamente nella lista nera del modulo SD non è auspicabile. Penso che l'unica speranza sarebbe che il tuo disco rigido richiedesse un modulo specifico per il suo modello. Ma risponde alla domanda "Che cosa fa girare l'HDD?".
djeikyb,

1

Penso che volevi dire di hdparm -sno -B1, il che richiede ai dischi rigidi compatibili APM (che praticamente significano solo quelli per laptop) di restare automaticamente in standby dopo un breve periodo di inattività. Inoltre i dischi Western Digital non sembrano accettare il -scomando di accensione in standby, ma hanno un ponticello sul retro che è possibile utilizzare per abilitarlo.

Il driver kernel sd (scsi disk) avvia il disco al primo accesso, cosa che accade durante l'avvio per scansionare la tabella delle partizioni. Inoltre riavvierà l'unità dopo aver ripristinato la sospensione per impostazione predefinita, ma è possibile disabilitarlo scrivendo 0su /sys/block/sda/device/scsi_disk/*/manage_start_stop.

Di solito lo faccio e quindi sospendo manualmente le unità che non prevedo di utilizzare hdparm -ydopo un riavvio.

Il mio ultimo bios della scheda madre non avrebbe semplicemente rilevato le unità che si accendevano in standby, ma il mio nuovo ponte sabbioso Asus è apparentemente "intelligente" abbastanza da notare che l'unità è in standby e avviarlo.


No, intendevo -B1. L'opzione -s imposta solo il tempo di down down quando è inattivo come descritto. Ad esempio -B255 può impostare le unità su "corsa costante" per impedire spin down, spin up, ... e quindi aumentare la durata dell'HDD su alcuni laptop (afaik anche se si imposta un timer -s questo verrà ignorato allora). Scrivere 0 su / sys / block / sdb / ... funziona come un incantesimo riguardo a riprendere da STR / S3, grazie! Un'unità con spinning si riavvierà di nuovo e un'unità con spinning verrà lasciata su spined al riavvio. Perfetto! :)
Oliver,

Accidenti ... dopo un riavvio / sys / block / sdb / ... mostra di nuovo "1". Pertanto, riprendere da STR / S3 consente comunque di far girare l'HDD in ogni caso.
Oliver,

@Oliver: no che è -S, non -s.
psusi,

oops! Scusa, hai ragione. Ho usato -S per impostare un tempo di spindown. Ricordo di aver usato -s ... inclusa la bandiera -yes-i-so-cosa-sto-facendo. Ma è stato dopo aver usato -B1. L'opzione -s non sembra avere ulteriori effetti sul mio sistema.
Oliver,

0

Vorrei cercare i registri per sdb (1), iniziando con dmesg:

dmesg | grep /dev/sdb

Ho già visto dmesg, ma non so come interpretare le linee (vedi sopra). Qualche idea? Grazie.
Oliver,

No, mi dispiace, non ho idee. Ma non sono nel settore degli hdd, quindi forse qualcun altro ...
Utente sconosciuto il

@Oliver Forse pubblicare le righe su paste.ubuntu.com e fornire un link potrebbe aiutare.
nanofarad,

@ObsessiveFOSS: penso che abbia inserito quelle righe nel suo post.
utente sconosciuto

0

Linux verificherà la presenza di partizioni su tutti i dischi rigidi all'avvio e quindi leggerà la tabella delle partizioni di tutti i dischi rigidi collegati. Questo da solo causerebbe il tuo spin-up, ma potrebbero esserci ulteriori cause.

Per un'analisi approfondita, AFAIK gli strumenti di backend per ureadahead costruiscono un elenco di blocchi di dispositivi letti durante l'avvio. È possibile utilizzare i suoi registri per determinare quali blocchi del disco rigido vengono letti, come primo passo per determinare la causa dei propri spin-up.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.