Programma per vedere il tempo di accesso dei settori
Programma per vedere il tempo di accesso dei settori
Ho da poco fatto il passaggio del sistema da windows a ubuntu e per ora mi trovo molto bene. L'unica cosa che sento la mancanza è un software che usavo per vedere il tempo di accesso dei settori dei dischi. Ho provato a cercare qualcosa del genere per ubuntu ma non sono riuscito a trovare niente di simile.
Il software che usavo su windows si chiama Diskgenius:
https://www.diskgenius.com/manual/img/c ... ors-03.png
Lo trovavo molto indicativo per lo stato di salute di un disco nel caso i settori hanno un tempo di accesso elevato ma non sono ancora danneggiati.
Qualche suggerimento? mi andrebbe bene anche qualcosa da riga di comando se proprio non esiste niente a livello grafico...
Il software che usavo su windows si chiama Diskgenius:
https://www.diskgenius.com/manual/img/c ... ors-03.png
Lo trovavo molto indicativo per lo stato di salute di un disco nel caso i settori hanno un tempo di accesso elevato ma non sono ancora danneggiati.
Qualche suggerimento? mi andrebbe bene anche qualcosa da riga di comando se proprio non esiste niente a livello grafico...
-
Roberto Pontecorvi
- Rampante Reduce

- Messaggi: 6634
- Iscrizione: mercoledì 20 maggio 2009, 22:48
- Distribuzione: 18.4 mate - 22.4 mate
- Sesso: Maschile
- Località: Versilia
Re: Programma per vedere il tempo di accesso dei settori
Non so se ti va bene, prova l'utility -> Dischi -> tasto alto a destra con le tre righe -> Benchmark disco - oppure, sempre nello stesso menù, -> Dati e test SMART.
- Clover
- Scoppiettante Seguace

- Messaggi: 298
- Iscrizione: giovedì 30 agosto 2012, 14:04
- Desktop: KDE
- Distribuzione: Kubuntu x86_64
Re: Programma per vedere il tempo di accesso dei settori
Uhmm, mi pare di capire che più del vedere il tempo di accesso sui settori tu vuoi poter rilevare quelli danneggiati e isolarli...
Dunque, la prima cosa da sapere è che il filesystem EXT4 effettua questa cosa continuamente, ovvero se vede che fa fatica a scrivere dei dati in certi settori o che deve continuamente effettuare operazioni di recupero provvederà da solo ad isolarli in modo da non usarli più in futuro, inoltre se inizi a ricevere notifiche dal kernel di problemi di memoria al disco è meglio che corri subito a sostituire il disco o ancora meglio quando è lo SMART a segnalarlo.
Detto questo, se vuoi forzarlo, questi sono i comandi:
Ricerca di settori danneggiati sola lettura
Ricerca di settori danneggiati lettura-scrittura (va fatto con le partizioni non montate)
Ricerca, recupero ed isolamento settori danneggiati (va fatto con le partizioni non montate)
oppure
Dunque, la prima cosa da sapere è che il filesystem EXT4 effettua questa cosa continuamente, ovvero se vede che fa fatica a scrivere dei dati in certi settori o che deve continuamente effettuare operazioni di recupero provvederà da solo ad isolarli in modo da non usarli più in futuro, inoltre se inizi a ricevere notifiche dal kernel di problemi di memoria al disco è meglio che corri subito a sostituire il disco o ancora meglio quando è lo SMART a segnalarlo.
Detto questo, se vuoi forzarlo, questi sono i comandi:
Ricerca di settori danneggiati sola lettura
Codice: Seleziona tutto
sudo badblocks -sv /dev/[device]Codice: Seleziona tutto
sudo badblocks -nsv /dev/[device]Codice: Seleziona tutto
sudo fsck -vcck /dev/[device-partition]Codice: Seleziona tutto
sudo badblocks -nsv /dev/[device-partition] > bad-blocks && sudo fsck -t [ext-version] -l bad-blocks /dev/[device-partition]Re: Programma per vedere il tempo di accesso dei settori
Il benchmark del programma dischi è ottimo per fare un veloce test generico al disco ma volevo farlo a tutti i settori in modo approfondito
No io cerco proprio il tempo di accesso dei settori in modo da capire in che condizioni è il disco anche se risulta che non ha settori danneggiati: ad esempio se un disco mi da 300 settori con un tempo di accesso superiore ai 500ms significa che in alcune aree inizia ad avere una lettura più difficoltosa e che la memorizzazione non è più tanto affidabile anche se lo stato SMART non segna ancora errori
-
Roberto Pontecorvi
- Rampante Reduce

- Messaggi: 6634
- Iscrizione: mercoledì 20 maggio 2009, 22:48
- Distribuzione: 18.4 mate - 22.4 mate
- Sesso: Maschile
- Località: Versilia
Re: Programma per vedere il tempo di accesso dei settori
idati della seconda opzione non ti sono sufficienti? Fai attenzione al paragone con windows, c'è di mezzo la differente forma di formattazione (ntfs - exat4) e come vengono gestiti i file dal sistema operativo. Da uno sguardo, molto veloce, mi pare che i dati che cerchi siano nel programma -> Dischi.ma volevo farlo a tutti i settori in modo approfondito
secondo come è impostato il bios del hdd (tempo di accesso ai settori), se questo succede automaticamente i dati vengono spostati nei settori disponibili del hdd.significa che in alcune aree inizia ad avere una lettura più difficoltosa
- Clover
- Scoppiettante Seguace

- Messaggi: 298
- Iscrizione: giovedì 30 agosto 2012, 14:04
- Desktop: KDE
- Distribuzione: Kubuntu x86_64
Re: Programma per vedere il tempo di accesso dei settori
I settori non penso sia possibile, dovrebbe essere implementato proprio a livello del kernel cosa che non mi risulta sia presente, o meglio, si potrebbe fare con hdparm ma non mi risulta sia possibile specificare il settore da testare, lo fa in generale.Razer ha scritto: ↑giovedì 11 febbraio 2021, 21:30No io cerco proprio il tempo di accesso dei settori in modo da capire in che condizioni è il disco anche se risulta che non ha settori danneggiati: ad esempio se un disco mi da 300 settori con un tempo di accesso superiore ai 500ms significa che in alcune aree inizia ad avere una lettura più difficoltosa e che la memorizzazione non è più tanto affidabile anche se lo stato SMART non segna ancora errori
A livello di blocchi invece è possibile ottenere la velocità di lettura usando il comando dd ma ho forti dubbi sull'affidabilità del risultato per l'ambito in cui vuoi usarlo tu, perché entrano in gioco molti altri fattori come la cache del disco e altro.
Cmq il comando è questo:
Codice: Seleziona tutto
sudo dd if=/dev/sda bs=512 skip=0 count=1skip: indica quanti blocchi devono essere saltati prima di leggere il blocco desiderato
count: indica quanti blocchi deve mostrare
Volendo fare per i primi 100 settori in un ciclo direttamente da terminale (non uno script)
Codice: Seleziona tutto
sudo su
block=0
until [ $block -gt 100 ]
do
printf "Block " ; printf $block ; printf " > "
dd if=/dev/sda bs=512 skip=${block} count=1 2>&1 | awk '/bytes/{print $(NF-1), $NF}'
((block=block+1))
doneCmq come ti ha scritto "Roberto Pontecorvi" qui sopra, ext4 è fondamentalmente diverso da NTFS e presumibilmente, secondo me, tu stai ancora ragionando come utente Windows... cosa normale dato che scrivi di essere appena passato ad Ubuntu.
Devi quindi abituarti a ragionare in modo differente perché linux è fondamentalmente diverso da windows; in questo specifico caso devi disimparare di fare tu delle verifiche preventive sul disco perché non serve, linux ha già di suo meccanismi di diagnostica interni e farà di tutto per avvisarti in anticipo di un problema hardware e per quanto l'imprevisto possa sempre esserci, non c'è test che ti possa venirti in mente di creare che lo possa prevenire, altrimenti non si chiamerebbe imprevisto (ovvero non prevedibile) e l'unico vero paracadute è il backup su uno o più differenti supporti di archiviazione.
Se ancora però ti crea difficoltà prova a ragionare così: linux è presente su sistemi ad alto rischio (windows di fatto non è considerato affidabile per queste cose), come la stazione spaziale internazionale, dove ci sono si doppi-tripli sistemi di tutto ma i rifornimenti arrivano ogni tot mesi e un fail combinato di più sistemi vitali significa morte certa... quindi se gli astronauti si fidano di linux perché tu non potresti? il codice che c'è sui sistemi linux della ISS sono gli stessi che hai sulla ubuntu che hai installato sul tuo PC! Se non riesci a fidarti di linux, allora puoi fidarti delle persone che lavorano alla NASA, all'ESA, JAXA,...
Se hai il dubbio di aver perso degli avvisi importanti da parte del sistema, basta che provi a chiederli al sistema, per esempio per vedere se da quando hai acceso il PC questa mattina ha generato errori hardware:
Codice: Seleziona tutto
cat /var/log/syslog | grep -i "hardware error"Codice: Seleziona tutto
Feb 13 07:09:58 Lacia kernel: [ 316.349226] mce: [Hardware Error]: Machine check events logged
Feb 13 07:09:58 Lacia kernel: [ 316.349230] [Hardware Error]: Corrected error, no action required.
Feb 13 07:09:58 Lacia kernel: [ 316.349234] [Hardware Error]: CPU:0 (17:71:0) MC25_STATUS[-|CE|MiscV|-|-|-|-|CECC|-|-|-]: 0x98004000003e0000
Feb 13 07:09:58 Lacia kernel: [ 316.349238] [Hardware Error]: IPID: 0x000100ff03830400
Feb 13 07:09:58 Lacia kernel: [ 316.349239] [Hardware Error]: Platform Security Processor Ext. Error Code: 62
Feb 13 07:09:58 Lacia kernel: [ 316.349240] [Hardware Error]: cache level: RESV, tx: INSNRe: Programma per vedere il tempo di accesso dei settori
Vi ringrazio per le risposte, soprattutto quella di Clover che con i comandi che mi hai descritto è stata la chiave che mi ha dato un'idea di una possibile soluzione. Credo di essere riuscito a fare una base di script che mi da i millisecondi di lettura dei settori. Non sono per niente esperto di script e per fare questo di 10 righe sono stato delle ore facendo ricerche per trovare i comandi corretti, comunque alla fine sembra che funzioni:
fa il test ai primi 100 settori e visualizza messaggi che non servono quindi ho ancora tantissimo da studiare per renderlo utilizzabile e completarlo.
Non so quanto precisa possa essere la misurazione ma anche se ha un margine di errore di 10 millisecondi non è grave.
Per precisare non ho dubbi sull'affidabilità di linux o della Nasa ma il test che faccio ai dischi è a livello RAW indipendentemente dal file system utilizzato, anzi, sono preferibilmente dischi cancellati senza partizioni. Prima faccio una verifica dei parametri SMART, e se risulta tutto regolare e con 0 settori riallocati allora procedo con il test dei settori. Se tutti i settori hanno un tempo di accesso inferiore ai 50 millisecondi allora il disco viene etichettato per "daily use" altrimenti viene etichettato per "backup occasionale" o nelle peggiori ipotesi cestinato anche se dallo stato SMART e dal sistema risulta tutto ok.
Aggiornerò il post appena riesco a rendere utilizzabile lo script e a fare qualche test
Codice: Seleziona tutto
#!/bin/bash
for block in $(seq 0 100);
do
start_time="$(date -u +%s%N)"
dd if=/dev/sdb bs=512 skip=${block} count=1 >/dev/null
end_time="$(date -u +%s%N)"
elapsed="$(($end_time-$start_time))"
millisecondi="$(($elapsed/1000000))"
echo "Settore $block letto in $millisecondi millisecondi"
done
Non so quanto precisa possa essere la misurazione ma anche se ha un margine di errore di 10 millisecondi non è grave.
Per precisare non ho dubbi sull'affidabilità di linux o della Nasa ma il test che faccio ai dischi è a livello RAW indipendentemente dal file system utilizzato, anzi, sono preferibilmente dischi cancellati senza partizioni. Prima faccio una verifica dei parametri SMART, e se risulta tutto regolare e con 0 settori riallocati allora procedo con il test dei settori. Se tutti i settori hanno un tempo di accesso inferiore ai 50 millisecondi allora il disco viene etichettato per "daily use" altrimenti viene etichettato per "backup occasionale" o nelle peggiori ipotesi cestinato anche se dallo stato SMART e dal sistema risulta tutto ok.
Aggiornerò il post appena riesco a rendere utilizzabile lo script e a fare qualche test
Re: Programma per vedere il tempo di accesso dei settori
Allora con lo script il test funziona ma per controllare un intero disco ci mette 3 giorni rispetto ad 1 ora e mezza che ci impiega il software su windows. Evidentemente questo tipo di test richiede un algoritmo dedicato e ben ottimizzato per arrivare ad un tempo di esecuzione accettabile, quindi al momento devo scartare questa soluzione.
Chi c’è in linea
Visualizzano questa sezione: unlocked e 10 ospiti