GNU/Linux >> Linux Esercitazione >  >> Debian

Debian – I dischi rigidi vengono spinti da processi/applicazioni che ottengono semplicemente un elenco di dischi? Come prevenire?

Ho un server domestico senza testa basato su Debian Jessie sempre attivo 24 ore su 24, 7 giorni su 7, che ha un grande SSD da 1 TB per il sistema operativo e tutti i miei file a cui si accede di frequente. Questo stesso sistema ha 4 unità disco rigido più grandi in un array SnapRAID. Questi sono principalmente per l'archiviazione di Blu-ray a cui si accede raramente e vogliono che quelle unità rimangano spente in standby a meno che non le leggo o scrivo effettivamente. Sono tutti formattati come ext4 e montati con noatime e nodiratime abilitati.

Quindi, anche se nessun processo o programma dovrebbe accedere regolarmente a tali unità in alcun modo diretto, i dischi rigidi vengono costantemente avviati dallo standby. Sembra essere correlato a programmi grafici che forniscono un browser di file gui, anche qualcosa come Chromium. Se non sfoglio nemmeno quelle unità, penso che questi processi semplicemente ottenendo un elenco di unità disponibili facciano girare i dischi rigidi. Proprio come fa blkid. Il problema è che è difficile determinare la causa principale di ciò poiché nessuno di questi processi sta effettivamente leggendo o scrivendo il filesystem su quelle unità, quindi nessun file viene effettivamente modificato o toccato. Esiste una sorta di cache che posso popolare o un buffer per impedire a questi programmi di avviare il disco rigido semplicemente ottenendo un elenco di dischi disponibili? Questo onestamente mi sta facendo impazzire, dal momento che non riesco a trovare un modo affidabile per mantenere questi dischi bloccati anche se non c'è accesso diretto al filesystem.

AGGIORNAMENTO :Grazie alla risposta di Stephen, sono stato in grado di tracciare l'attività del disco su gvfs e udisk . È un vero peccato che questi processi insistano nel riattivare i dischi in standby quando non sono effettivamente accessibili per eseguire un vero I/O con il filesystem. Finora li ho appena disinstallati, sapendo che rimuoveranno alcune funzionalità da PCManFM e simili.

Risposta accettata:

Puoi usare blktrace (disponibile in Debian) per tracciare tutta l'attività su un determinato dispositivo; per esempio

sudo blktrace -d /dev/sda -o - | blkparse -i -

o semplicemente

sudo btrace /dev/sda

mostrerà tutte le attività su /dev/sda . L'output è simile a

  8,0    3       51   135.424002054 16857  D  WM 167775248 + 8 [kworker/u16:0]
  8,0    3       52   135.424011323 16857  I  WM 209718336 + 8 [kworker/u16:0]
  8,0    3        0   135.424011659     0  m   N cfq496A  / insert_request

La quinta colonna è l'identificatore del processo e l'ultima fornisce il nome del processo quando ce n'è uno.

È inoltre possibile memorizzare tracce per analisi successive; blktrace include una serie di strumenti di analisi come il summenzionato blkparse e btt . blktrace è uno strumento di livello molto basso, quindi potrebbe non essere così facile capire cosa ha causato l'attività in primo luogo, ma con l'aiuto della documentazione inclusa (vedi /usr/share/doc/blktrace se hai installato il pacchetto Debian) e blktrace carta dovrebbe essere possibile capire cosa sta causando gli spin-up.

Correlati:'rm .*' elimina mai la directory principale?
Debian
  1. Come ottenere gli aggiornamenti LTS per Debian 6 (Squeeze)

  2. Espandere un RAID software su Debian tramite la migrazione a nuovi dischi rigidi di grandi dimensioni

  3. Come elencare tutti i pacchetti in un repository su Ubuntu, Debian o Linux Mint [APT]

  4. Come elencare i processi collegati a un segmento di memoria condivisa in Linux?

  5. Come installare Mono 4.0.1 su Debian 8?

Come rendere Debian Linux più veloce

Come installare Wine per eseguire applicazioni Windows su Debian

Come elencare i dischi su Linux

Come ottenere un elenco di applicazioni installate in Ubuntu Dash?

Come installare e gestire Java su Debian 11

Come ottenere un elenco di collegamenti simbolici su Linux