Risoluzione dei problemi di prestazione del NAS: velocità di lettura e scrittura, passo dopo passo
Letture e scritture lente su un NAS hanno molteplici cause possibili: una memoria che corrompe i dati o blocca l'unità, un disco in avaria, un cavo o un backplane difettoso, il protocollo, un volume frammentato o quasi pieno, oppure la rete. Questa guida le controlla in quest'ordine, dall'hardware in su, con StorageDiag Workbench & Utilities.
Workbench si divide in due scrivanie. Utilities opera sul NAS su cui è installato: DriveTime Analyzer, NetScope, MemHound e i log in diretta (live logs). Workbench analizza un pacchetto diagnostico (bundle): il log del kernel e Dr. Trace sui log di quel bundle. Per passare dall'una all'altra usa il menu Start (la striscia che indica Workbench | Utilities); la pagina si ricarica.
- MemoriaMemHound, prima di tutto il resto
- Log & SMARTerrori di link, salute del disco, HCL
- SMB o iSCSIun protocollo o entrambi
- Scansione & mappa discoDriveTime: velocità, disposizione, riempimento
- ReteNetScope e iperf3
01Fase 1: la memoria
Escludi prima di tutto l'hardware instabile. Un modulo di memoria difettoso può corrompere i dati in transito, causare cali di velocità che non hanno altra spiegazione, o bloccare l'intera unità. Testa la RAM come descritto nel primo articolo: Come testare correttamente la RAM sui server QNAP usando MemHound. Il pulsante Benchmark and Quality di MemHound misura anche la larghezza di banda della memoria confrontandola con il valore JEDEC dei moduli installati (sezione 04 di quell'articolo). Le particolarità della memoria in un NAS (mischiare i moduli, dual channel, ECC e perché gli errori OOM possono verificarsi mentre la memoria sembra libera) sono descritte nella sezione 05 di quell'articolo: La RAM in un NAS.
02Fase 2, passo 1: il log del kernel, SMART e l'HCL
Il log del kernel e Dr. Trace
- Sul NAS stesso, passa a Utilities e apri Kernel Log · LIVE o Dr. Trace · LIVE (menu Start, Live logs). Per il verdetto e l'analisi dei log, la finestra live di Dr. Trace indica cosa fare: Run Audit, then switch to the Workbench desk. Se hai a che fare con i log inviati da un cliente, carica il suo file ZIP diagnostico sulla scrivania Workbench (Upload Diagnostic ZIP) e apri Kernel Log (dmesg) e Dr. Trace (Diagnosis).
- Nel log del kernel, imposta la ricerca su regex (
abc/.*) e cerca le righe relative a un link in avaria:hard resetting link|10B8B|SError|giving up|link is slow|exception Emask. - Leggi cosa evidenzia Workbench su di esse. Contrassegna i reset del link libata (
hard resetting link,link is slow), una porta che il kernel ha abbandonato (reset failed, giving up), errori di segnale e SATA PHY (10B8B,Dispar,PHYRdyChg), l'NCQ disattivato dopo un timeout e un link SATA in esecuzione a velocità ridotta. - In Dr. Trace, apri un incidente (incident). Un incidente raccoglie in una sola voce le ripetizioni di un singolo guasto, anche quelle di un'unità che si disconnette e si riconnette, e ripartisce la causa probabile tra l'unità, il cavo, il backplane e un expander.
SError: { RecovComm PHYRdyChg 10B8B Dispar }, contrassegnata come Backplane Communication Error e SATA 10B8B Signal Error, quindi hard resetting link. Più in basso, ata10 termina in reset failed, giving up: il kernel ha scartato la porta. Il nome e i numeri di serie dell'unità sono oscurati.SMART, l'HCL e la classe del disco
- Sul NAS stesso, apri DriveTime Analyzer (Utilities). La scheda Health conserva una cronologia oraria SMART/FARM di ogni disco e la converte in verdetti di tipo Critical, Warning e Info; l'elenco della flotta sulla sinistra contrassegna ogni disco con un punto.
- Seleziona un disco e fai clic su View SMART. La finestra SMART elenca ogni attributo (Current, Worst, Threshold, Raw value) accompagnato da un verdetto per l'intero disco: OK, WARNING o CRITICAL.
- Leggi i due chip presenti sulla scheda del disco. Il chip HCL confronta il disco con l'elenco di compatibilità di QNAP per questo modello di NAS: HCL ✓ significa che è in elenco, HCL ✗ che non è in elenco per questo modello, HCL — che non è nell'elenco di nessun NAS. Il chip della classe indica Desktop, NAS, Enterprise, Surveillance, Archive o Blacklist; un disco desktop è contrassegnato con Consumer drive — not recommended for 24/7 NAS use.
La classe è determinante sia per la velocità che per la durata nel tempo. Spesso le unità SSD consumer scrivono velocemente solo finché la loro cache non si riempie, per poi rallentare drasticamente sotto un carico continuo. Su un NAS, letture e scritture costanti contano più di un picco di velocità.
Reallocated_Sector_Ct a 369.Quando il log mostra errori di link o SMART visualizza un avviso, occupati dei dischi prima di qualsiasi altra cosa: verifica che siano presenti nell'HCL, che siano unità NAS o enterprise e che siano in buone condizioni. Un disco può corrompere silenziosamente i dati prima di guastarsi del tutto, quindi non aspettare che si disconnetta definitivamente.
03Fase 2, passo 2: SMB o iSCSI
Una volta escluso l'hardware, scopri se il rallentamento è circoscritto a un solo protocollo. Si verifica solo tramite SMB, solo tramite iSCSI o su entrambi? Se un client può utilizzare solo iSCSI, non è un motivo valido per saltare il controllo: fai un test anche da un altro client tramite SMB, in modo da restringere il campo della ricerca.
- Solo iSCSI, con un client Windows Server: disattiva ODX (Offloaded Data Transfer) su tale host Windows con i comandi qui sotto, riavvialo ed esegui nuovamente il test. È il controllo più rapido in assoluto e non necessita di analisi. Workbench fornisce lo stesso suggerimento quando un pacchetto mostra abort (interruzioni) di comandi target iSCSI.
- Entrambi i protocolli: la causa va ricercata a un livello inferiore rispetto ai protocolli. Passa all'analisi dei dischi.
# PowerShell come amministratore. 0 = ODX attivato (impostazione predefinita), 1 = ODX disattivato Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode # Disattiva ODX, quindi riavvia Windows Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 1 # Riattivalo Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 0
04Fase 2, passo 3: il Disk Health Scan in DriveTime
Prima di usare un benchmark esterno come CrystalDiskMark, misura i dischi dal NAS stesso. Il Disk Health Scan di DriveTime mette sotto carico i dischi di un volume e valuta ciascun disco confrontandolo con gli altri.
- Apri DriveTime Analyzer, scheda Speed, e seleziona il volume nella barra del titolo.
- Scegli il test. I test sul volume (letture e scritture sequenziali e casuali, il mix 50/50, o il FULL REPORT con tutte e quattro le fasi e lo SMART) scrivono il file di test esclusivamente all'interno di una cartella temporanea su quel volume e lo eliminano successivamente. Read-only disk scan legge i dischi raw, prima singolarmente e poi tutti assieme, e non esegue alcuna scrittura.
- Fai clic su ▶ Analyze. Per ogni disco la scansione riporta la latenza (mediana, p95, max), l'utilizzo, gli IOPS e la profondità della coda (queue depth), contrassegnandolo come OK, WATCH o SUSPECT.
- Fai clic su Save report (.md). Il report viene salvato nella condivisione Public come
report-ioutils-storagediag-utilities-<date>-<time>.md, affiancato da un file-trace.csv; l'elenco Disk reports nel menu Start permette di visualizzarli.
Leggere l'await
Un await elevato su un singolo disco non significa necessariamente che quel disco stia per guastarsi. L'await è il tempo che una richiesta trascorre in coda e per essere servita. Un disco che si fa carico di una porzione maggiore di I/O dell'array rispetto agli altri dischi attende più a lungo perché lavora di più, pertanto la scansione giudica tale disco in base al suo service time e lo segnala esplicitamente. Nel report mostrato di seguito, il disco sano situato accanto a quello in avaria ha ricevuto esattamente questa nota nella fase di lettura casuale: carries 62% of the array's I/O (1.6× peer IOPS) — its await and queue are load, not a fault. Accade anche l'inverso: un disco con un await normale ma con un transfer rate notevolmente inferiore a quello degli altri dischi potrebbe essere quello affetto da un guasto meccanico silenzioso. Questo è il motivo per cui la scansione in sola lettura legge ogni disco sia individualmente che tutti insieme.
Il report e il suo verdetto
Il report si apre con un verdetto immediatamente comprensibile: OK se nessun disco presenta anomalie, oppure WARNING / CRITICAL indicando l'anello debole (weak link) e la fase in cui ha ottenuto il risultato peggiore. Seguono poi le tabelle specifiche per ogni disco, le evidenze SMART prima e dopo l'esecuzione, le soglie (thresholds) impiegate e un tracciamento (trace) secondo per secondo. La velocità di archiviazione varia in base al carico sul NAS, pertanto esegui la scansione più volte per verificare se un'anomalia si ripete; il tracciamento presente in ogni report ti consente di confrontare due esecuzioni riga per riga.
Buono a sapersi. Il report è in puro testo Markdown, quindi un assistente IA può leggerlo così com'è: incollalo e chiedi cosa emerge, e potrebbe individuare uno schema che a un occhio umano sfuggirebbe. Questo stesso file è ciò che serve al Supporto QNAP: scaricalo dalla finestra Reports e allegalo al ticket assieme al pacchetto ZIP diagnostico del NAS, che contiene le letture SMART e i log del kernel. Per quanto riguarda i log, Workbench dispone di una propria analisi dei log basata su IA (il pulsante ✨ in Kernel Log e Dr. Trace), che invia un prompt generato a partire dal log a OpenAI, Claude o Gemini utilizzando una chiave salvata dall'amministratore in Settings.
05Fase 2, passo 4: frammentazione, grado di riempimento e capacità di un disco
Sugli hard disk, i valori riportati in una scheda tecnica vengono raramente raggiunti nell'uso quotidiano.
- Frammentazione. La scheda Disk Map di DriveTime mostra la disposizione dei file di un volume o di una condivisione e quanto è frammentato lo spazio libero sottostante. Seleziona il volume nella barra del titolo e fai clic su Scan: Sample effettua la lettura per il limite di tempo impostato, Full legge l'intero albero (tree). Il punteggio Fragmented files va letto così: 0–30 nessun problema di frammentazione, 31–55 leggermente frammentato, 56 e oltre pesantemente frammentato. La scansione si limita a leggere; non sposta mai alcun blocco.
- Grado di riempimento. Mantieni un volume al di sotto dell'80% di riempimento, contando insieme i dati correnti (live) e gli snapshot. La finestra Capacity genera un avviso quando un volume supera l'80%. Su QuTS hero la Disk Map contrassegna l'80% e il 90% sulla barra del pool: al di sopra di circa l'80% ZFS fatica maggiormente a posizionare ogni scrittura, e le scritture rallentano per ogni condivisione presente sul pool.
- Nessuna deframmentazione. Su un volume con snapshot, ogni blocco spostato da un programma di deframmentazione costa nuovamente spazio al pool di archiviazione fino alla scadenza degli snapshot che trattengono il blocco originale, cosicché gli snapshot cresceranno di una quantità pari ai dati spostati. Inoltre non ne valgono la pena né il tempo né l'usura dei dischi. Per questo motivo Workbench non ha un pulsante per deframmentare, e la vera soluzione è mantenere il volume al di sotto dell'80%.
- Cosa può fare un disco. Secondo le specifiche, gli hard disk odierni più veloci arrivano a circa 280 MB/s, sulle tracce esterne. Sulle tracce interne, o su un volume frammentato, è normale ottenere un terzo di tale valore, e in presenza di letture e scritture miste, 100-120 MB/s per disco è un dato realistico nell'uso quotidiano. La velocità di un volume dipende dal livello RAID, da quanto sono pieni e frammentati i dischi, e dai movimenti delle testine che questo comporta.
Disk Map mostra unicamente la disposizione. Per verificare se i dischi riescono a tenere il passo, osserva la scheda Speed mentre il carico di lavoro è in esecuzione, e controlla la cronologia di ogni unità nella scheda Health.
06Fase 3: la rete
Se i dischi si dimostrano sani e sufficientemente veloci, il collo di bottiglia potrebbe risiedere nella rete. NetScope misura la capacità del collegamento (link) con iperf3.
- Apri NetScope (Utilities), scheda Bandwidth, e fai clic su Server. Scegli l'interfaccia di rete. Il listener iperf3 si avvia da solo (porta 5201) e si ferma quando chiudi la finestra.
- Su un secondo NAS che esegue Workbench & Utilities, apri NetScope, Bandwidth, Client, seleziona questo NAS (oppure digita il suo IP in Manual) e premi Start Test. Da un PC Windows, usa il client NetScope per Windows: NetScope-latest.exe, con il link nella barra del titolo di NetScope.
- Se il test evidenzia una larghezza di banda insufficiente, smetti di concentrarti sull'archiviazione del NAS ed esamina la rete: gli switch, i cavi, le schede di rete e il routing.
AConoscenze di base: i dischi in un NAS
Non tutti i dischi sono adatti a un NAS. La classe di un disco decide se funziona bene in un array RAID o se lo fa degradare, e i suoi attributi SMART dicono quanto durerà ancora.
Perché un disco desktop non è adatto al RAID
I dischi desktop sono sprovvisti di TLER/ERC. Quando incontrano un blocco difficile da leggere, continuano a tentare di recuperarlo anche per diversi minuti, mentre il controller RAID attende solo per circa 7 secondi. Passato quel tempo considera guasto un disco che in realtà è sano e lo espelle dall'array: si verifica così un degrado inutile e un rebuild rischioso. A questo si aggiunge: nessuna certificazione per operatività 24/7, assenza di sensori di vibrazione (RV) e un carico di lavoro annuo nettamente inferiore.
SMR contro CMR: perché è importante per il RAID
La tecnologia CMR scrive le tracce l'una di fianco all'altra: la scrittura è rapida e prevedibile, ed è proprio ciò che serve a un rebuild. SMR le sovrappone come le tegole di un tetto, quindi ogni sovrascrittura comporta la riscrittura di un'intera zona. Con le scritture continue di un rebuild la cache del disco si riempie, il disco si blocca per alcuni secondi e supera il timeout del controller, che lo considera morto: così un rebuild passa da ore a giorni interi. Per il RAID e per un NAS usa esclusivamente dischi CMR.
| Classe | Realizzato per | RPM | Carico di lavoro annuo | Sensori RV | TLER | Alloggiamenti (bays) | Per un NAS |
|---|---|---|---|---|---|---|---|
| NAS | unità NAS per casa e piccoli uffici, 24/7, carichi leggeri e medi | 5400 | ~180 TB | limitato | sì | fino a 8 | sì |
| NAS Pro | unità NAS multi-bay, virtualizzazione, database | 7200 | ~300 TB | sì | sì | fino a 24 | sì |
| Enterprise | sale server, array da oltre 24 alloggiamenti, carichi estremi | 7200 | ~550 TB | multi-asse | sì | senza limiti | sì |
| Surveillance | registratori e CCTV: scrittura sequenziale di molteplici flussi video | 5400/7200 | ~180–550 TB | alcuni modelli | sì | NVR | per videocamere |
| Archive (SMR) | cold data (dati a basso accesso), rara scrittura sequenziale | 5400 | bassi | no | no | — | solo backup |
| Desktop | un singolo PC, poche ore al giorno | 5400/7200 | ~55 TB | no | no | 1 | no |
| ID | Attributo | Cosa significa | Avviso / critico | Cosa fare |
|---|---|---|---|---|
| 5 | Reallocated_Sector_Ct | settori danneggiati spostati nell'area di riserva; aumenta man mano che il disco si guasta | ≥ 1 / ≥ 50 | fai un backup; in un RAID un rebuild potrebbe fallire |
| 197 | Current_Pending_Sector | settori instabili in attesa di essere riallocati | ≥ 1 / ≥ 5 | fai un backup, sostituisci; spesso cresce insieme a 5 e 198 |
| 198 | Offline_Uncorrectable | settori illeggibili, non più recuperabili | ≥ 1 / ≥ 1 | fai un backup immediatamente, sostituisci |
| 187 | Reported_Uncorrect | errori che l'ECC del disco non è riuscito a correggere | ≥ 1 / ≥ 10 | un forte segnale di avaria, sostituisci |
| 196 | Reallocation_Event_Count | quante volte il disco ha spostato settori | ≥ 1 / ≥ 20 | da monitorare insieme al 5 |
| 10 | Spin_Retry_Count | il disco non riesce ad avviarsi al primo tentativo (motore, meccanica) | ≥ 1 / ≥ 10 | vicino al blocco (grippaggio), sostituisci |
| 188 | Command_Timeout | i comandi superano il loro limite di tempo, il disco si blocca | ≥ 1 / ≥ 100 | controlla il cavo e l'alimentazione; sostituisci se continua a crescere |
| 199 | UDMA_CRC_Error_Count | errori di trasferimento SATA: solitamente il cavo o il backplane, non il disco | ≥ 1 / ≥ 100 | reinserisci il disco, cambia il cavo; ciò che conta è se il valore aumenta |
| 194 | Temperature_Celsius | la temperatura del disco | ≥ 55 °C / ≥ 65 °C | migliora il raffreddamento e la spaziatura |
| NVMe | Percentage Used | la percentuale della vita utile (endurance) stimata consumata finora | ≥ 80 % / ≥ 100 % | pianifica una sostituzione a partire dall'80% |
| NVMe | Media and Data Integrity Errors | errori irreversibili del supporto NAND | ≥ 1 / ≥ 10 | fai un backup, sostituisci |
| NVMe | Critical Warning | bit di allarme: riserva, temperatura, modalità sola lettura | qualsiasi bit | ogni bit attivato rappresenta un problema serio |
In un array RAID gli attributi 5, 197 e 198 non rappresentano un rischio per un solo disco: un rebuild incrementa il carico, un secondo disco debole può guastarsi, e a quel punto il rebuild fallisce e l'intero pool va perso. Reagisci per tempo. Sui dischi Seagate gli attributi 1, 7 e 195 riportano valori RAW nell'ordine dei milioni, il che è normale; guarda a VALUE e WORST rispetto a THRESH, non a RAW.
| Modalità | Sistema | Cosa fa | UPS |
|---|---|---|---|
| Read-only (Sola lettura) | QTS | copia i dati letti di frequente sull'SSD; l'originale rimane sui dischi | consigliato |
| Read cache (L2ARC) | QuTS hero | l'SSD fa da secondo livello della cache di lettura | consigliato |
| Write-only / read-write | QTS | le scritture arrivano prima sull'SSD e solo dopo sui dischi | critico |
| ZIL (SLOG) | QuTS hero | un log (registro) delle scritture sincrone sull'SSD; sempre in mirroring | critico |
Regola pratica. Se una scrittura resta in attesa in un buffer prima di raggiungere i dischi (write-back, SLOG, una cache del disco senza protezione contro la perdita di alimentazione, PLP), un UPS è essenziale. Se la cache gestisce solo le letture, un UPS è consigliato. Mantieni una cache di scrittura su un tipo di configurazione protetta (RAID 1, 5, 6 o 10), mai su Single, JBOD o RAID 0.
La memoria (dual channel, ECC, mischiare moduli, sintomi ed errori OOM) ha una sua sezione dedicata nella guida alla RAM: La RAM in un NAS.