Rozwiązywanie problemów z wydajnością NAS-a: odczyt i zapis krok po kroku
Wolny odczyt i zapis na NAS-ie może mieć wiele przyczyn: pamięć, która psuje dane albo zawiesza urządzenie, uszkodzony dysk, zły kabel lub backplane, protokół, pofragmentowany albo prawie pełny wolumin, wreszcie sieć. Poradnik sprawdza je po kolei, od sprzętu w górę, za pomocą StorageDiag Workbench & Utilities.
Workbench ma dwa biurka. Utilities pracuje na NAS-ie, na którym jest zainstalowany: DriveTime Analyzer, NetScope, MemHound i logi na żywo. Workbench czyta paczkę diagnostyczną: log jądra i Dr. Trace na logach z tej paczki. Przełączasz je w menu Start (pasek z napisem Workbench | Utilities); po potwierdzeniu strona się przeładowuje.
- PamięćMemHound, przed wszystkim innym
- Logi i SMARTbłędy łącza, kondycja dysków, HCL
- SMB czy iSCSIjeden protokół czy oba
- Skan i mapaDriveTime: prędkość, układ, zajętość
- SiećNetScope i iperf3
01Etap 1: pamięć
Najpierw wyklucz niestabilny sprzęt. Uszkodzony moduł pamięci potrafi psuć przesyłane dane, powodować spadki prędkości, których nic innego nie tłumaczy, albo zawieszać całe urządzenie. Przetestuj RAM tak, jak opisuje pierwszy poradnik: Jak prawidłowo testować pamięć RAM w serwerach QNAP za pomocą MemHound. Benchmark i jakość w MemHound mierzy też przepustowość pamięci względem wartości JEDEC zainstalowanych modułów (punkt 04 tamtego poradnika). Co wyróżnia pamięć w NAS-ie (mieszanie modułów, dual-channel, ECC i to, dlaczego błędy OOM mogą się pojawiać przy pozornie wolnej pamięci), opisuje punkt 05 tamtego poradnika: Pamięć RAM w NAS-ie.
02Etap 2, krok 1: log jądra, SMART i HCL
Log jądra i Dr. Trace
- Na samym NAS-ie przełącz się na Utilities i otwórz Kernel Log · LIVE albo Dr. Trace · LIVE (menu Start, Logi na żywo). Jak dojść do werdyktu i analizy logu, podpowiada samo okno Dr. Trace na żywo: Run Audit, then switch to the Workbench desk, czyli uruchom Audit i przełącz się na biurko Workbench. Jeśli masz logi od klienta, wgraj jego paczkę ZIP na biurku Workbench (Upload Diagnostic ZIP) i otwórz Kernel Log (dmesg) oraz Dr. Trace (Diagnosis).
- W logu jądra przełącz wyszukiwanie na wyrażenie regularne (
abc/.*) i szukaj wierszy psującego się łącza:hard resetting link|10B8B|SError|giving up|link is slow|exception Emask. - Przeczytaj, co Workbench przy nich oznacza. Wyłapuje resety łącza libata (
hard resetting link,link is slow), port, z którego jądro zrezygnowało (reset failed, giving up), błędy warstwy fizycznej i sygnału SATA (10B8B,Dispar,PHYRdyChg), NCQ wyłączone po przekroczeniu czasu oraz łącze SATA pracujące z obniżoną prędkością. - W Dr. Trace otwórz incydent. Powtórzenia jednej usterki, także dysk, który się odłącza i wraca, trafiają do jednego incydentu, a prawdopodobna przyczyna jest rozłożona między dysk, kabel, backplane i ekspander.
SError: { RecovComm PHYRdyChg
10B8B Dispar }, oznaczone jako Backplane Communication Error i SATA 10B8B Signal
Error, a potem hard resetting link. Niżej ata10 kończy się na reset failed, giving
up: jądro odłączyło port. Nazwa urządzenia i numery seryjne są zamaskowane.SMART, HCL i klasa dysku
- Na samym NAS-ie otwórz DriveTime Analyzer (w polskim interfejsie Analizator DriveTime, biurko Utilities). Zakładka Health (Kondycja) trzyma cogodzinną historię SMART/FARM każdego dysku i zamienia ją w werdykty: krytyczny, ostrzeżenie, informacja; lista dysków po lewej oznacza każdy kropką.
- Wybierz dysk i kliknij View SMART (Pokaż SMART). Okno SMART pokazuje każdy atrybut (wartość bieżącą, najgorszą, próg i surową) z werdyktem dla całego dysku: OK, WARNING albo CRITICAL.
- Przeczytaj dwa znaczniki na karcie dysku. Znacznik HCL porównuje dysk z listą zgodności QNAP dla tego modelu NAS-a: HCL ✓ to dysk z listy, HCL ✗ brak na liście dla tego modelu, HCL — brak na liście dla jakiegokolwiek NAS-a. Znacznik klasy mówi Desktop, NAS, Enterprise, Surveillance, Archive albo Blacklist; dysk desktopowy dostaje opis Consumer drive — not recommended for 24/7 NAS use.
Klasa ma znaczenie dla prędkości, nie tylko dla trwałości. Konsumenckie SSD często zapisują szybko tylko do zapełnienia swojej pamięci podręcznej, a pod długotrwałym obciążeniem mocno zwalniają. W NAS-ie stały odczyt i zapis liczy się bardziej niż chwilowy szczyt.
Reallocated_Sector_Ct równym 369.Gdy log pokazuje błędy łącza albo SMART pokazuje ostrzeżenie, zajmij się dyskami przed wszystkim innym: sprawdź, czy są na liście HCL, czy to dyski klasy NAS lub enterprise i czy są sprawne. Dysk potrafi po cichu psuć dane, zanim całkiem przestanie działać, więc nie czekaj, aż wypadnie z macierzy.
03Etap 2, krok 2: SMB czy iSCSI
Gdy sprzęt jest wykluczony, ustal, czy spowolnienie dotyczy jednego protokołu. Występuje tylko przez SMB, tylko przez iSCSI, czy przez oba? Jeśli klient może używać tylko iSCSI, to nie powód, żeby pominąć ten krok: sprawdź też SMB z innego komputera, żeby zawęzić poszukiwania.
- Tylko iSCSI, klient Windows Server: wyłącz na tym serwerze Windows ODX (Offloaded Data Transfer) poleceniami poniżej, uruchom go ponownie i sprawdź jeszcze raz. To najszybszy możliwy test i nie wymaga żadnej analizy. Workbench daje tę samą radę, gdy w paczce są przerwane polecenia celu iSCSI.
- Oba protokoły: przyczyna leży pod protokołami. Przejdź do dysków.
# PowerShell jako administrator. 0 = ODX włączone (domyślnie), 1 = ODX wyłączone Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode # Wyłączenie ODX, potem restart Windows Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 1 # Ponowne włączenie Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name FilterSupportedFeaturesMode -Value 0
04Etap 2, krok 3: Disk Health Scan w DriveTime
Zanim sięgniesz po zewnętrzny benchmark, na przykład CrystalDiskMark, zmierz dyski z poziomu samego NAS-a. Disk Health Scan w DriveTime obciąża dyski pod woluminem i ocenia każdy z nich na tle pozostałych.
- Otwórz DriveTime Analyzer, zakładkę Speed (Prędkość), i wybierz wolumin na pasku tytułu.
- Wybierz test. Testy woluminu (odczyt i zapis sekwencyjny i losowy, mieszanka 50/50 albo FULL REPORT ze wszystkimi czterema fazami i SMART) zapisują plik testowy tylko w tymczasowym folderze na tym woluminie i potem go usuwają. Read-only disk scan (skan tylko do odczytu) czyta surowe dyski, każdy osobno, a potem wszystkie naraz, i niczego nie zapisuje.
- Kliknij ▶ Analyze (Analizuj). Dla każdego dysku skan podaje opóźnienie (medianę, p95, maksimum), wykorzystanie, IOPS i głębokość kolejki, a potem ocenia go jako OK, WATCH albo SUSPECT.
- Kliknij Save report (.md) (Zapisz raport). Raport trafia do udziału Public jako
report-ioutils-storagediag-utilities-<data>-<godzina>.md, obok leży-trace.csv; w menu Start znajdziesz je pod Disk reports (Raporty dysków).
Jak czytać await
Wysoki await na jednym dysku sam w sobie nie oznacza, że ten dysk jest uszkodzony. Await to czas, jaki żądanie spędza w kolejce i w obsłudze. Dysk, który obsługuje większą część ruchu macierzy niż pozostałe, czeka dłużej, bo więcej pracuje, więc skan ocenia go po czasie obsługi i pisze to wprost. W raporcie poniżej zdrowy dysk obok uszkodzonego dostał w fazie odczytu losowego właśnie taką uwagę: carries 62% of the array's I/O (1.6× peer IOPS) — its await and queue are load, not a fault, czyli obsługuje 62% ruchu macierzy i jego await to obciążenie, a nie usterka. Bywa też odwrotnie: dysk ze zwyczajnym await, ale z transferem wyraźnie niższym niż u pozostałych, może mieć ciche uszkodzenie mechaniczne. Dlatego skan tylko do odczytu czyta każdy dysk osobno, a potem wszystkie razem.
Raport i jego werdykt
Raport zaczyna się od werdyktu, który człowiek odczyta od razu: OK, gdy żaden dysk nie odstaje, albo WARNING / CRITICAL ze wskazaniem słabego ogniwa i fazy, w której wypadło najgorzej. Dalej są tabele dla każdego dysku, dowody ze SMART sprzed testu i po nim, użyte progi oraz przebieg sekunda po sekundzie. Prędkość pamięci masowej zmienia się z obciążeniem NAS-a, więc uruchom skan kilka razy i sprawdź, czy anomalia się powtarza; przebieg w każdym raporcie pozwala porównać dwa uruchomienia wiersz po wierszu.
Ciekawostka. Raport to zwykły tekst w Markdown, więc asystent AI przeczyta go bez przeróbek: wklej go i zapytaj, co odstaje, a może wskazać wzorzec, który człowiek przeoczy. Ten sam plik przyda się wsparciu QNAP: pobierz go z okna Reports i dołącz do zgłoszenia razem z paczką diagnostyczną ZIP z NAS-a, w której są odczyty SMART i logi jądra. Do samych logów Workbench ma własną analizę AI (przycisk ✨ w Kernel Log i Dr. Trace): wysyła zapytanie zbudowane z logu do OpenAI, Claude albo Gemini kluczem, który administrator zapisuje w ustawieniach.
05Etap 2, krok 4: fragmentacja, zajętość i możliwości dysku
Na dyskach twardych liczby z karty katalogowej rzadko są osiągalne na co dzień.
- Fragmentacja. Zakładka Disk Map (Mapa dysku) w DriveTime pokazuje, jak ułożone są pliki woluminu lub udziału i jak poszatkowane jest wolne miejsce pod nimi. Wybierz wolumin na pasku tytułu i kliknij Scan: Sample czyta przez ustawiony czas, Full czyta całe drzewo. Wynik Fragmented files od 0 do 30 to brak problemu z fragmentacją, od 31 do 55 umiarkowana fragmentacja, od 56 w górę silna. Skan tylko czyta i nigdy nie przenosi żadnego bloku.
- Zajętość. Trzymaj wolumin poniżej 80% zajętości, licząc razem dane i migawki. Okno Capacity ostrzega, gdy wolumin przekroczy 80%. Na QuTS hero Disk Map zaznacza 80% i 90% na pasku puli: powyżej około 80% ZFS musi się napracować, żeby umieścić każdy zapis, i zapis zwalnia dla wszystkich udziałów w puli.
- Bez defragmentacji. Na woluminie z migawkami każdy blok przeniesiony przez defragmentator zajmuje w puli drugi raz tyle samo miejsca, dopóki nie wygasną migawki trzymające stary blok, więc migawki rosną o wszystko, co przeniesiono. Czas i zużycie dysków też nie są tego warte. Dlatego Workbench nie ma przycisku defragmentacji, a lekarstwem jest utrzymanie woluminu poniżej 80%.
- Możliwości dysku. Najszybsze obecne dyski twarde mają w specyfikacji około 280 MB/s, na zewnętrznych ścieżkach talerzy. Na wewnętrznych ścieżkach albo na pofragmentowanym woluminie często zostaje z tego jedna trzecia, a przy mieszanym odczycie i zapisie 100–120 MB/s na dysk to realna codzienna wartość. Prędkość woluminu zależy od poziomu RAID, zajętości i fragmentacji dysków oraz od ruchów głowic, jakie to wymusza.
Disk Map pokazuje tylko układ danych. Czy dyski nadążają, zobaczysz na zakładce Speed w trakcie pracy, a historię każdego dysku na zakładce Health.
06Etap 3: sieć
Gdy dyski okażą się sprawne i wystarczająco szybkie, wąskim gardłem może być sieć. NetScope mierzy łącze za pomocą iperf3.
- Otwórz NetScope (Utilities), zakładkę Bandwidth (Przepustowość), i kliknij Server. Wybierz interfejs sieciowy. Nasłuch iperf3 startuje sam (port 5201) i kończy się po zamknięciu okna.
- Na drugim NAS-ie z Workbench & Utilities otwórz NetScope, Bandwidth, Client, wybierz ten NAS (albo wpisz jego IP ręcznie) i naciśnij Start Test (Rozpocznij test). Z komputera z Windows użyj klienta NetScope dla Windows: NetScope-latest.exe, do pobrania z paska tytułu NetScope.
- Jeśli test pokaże za małą przepustowość, przestań szukać w pamięci masowej NAS-a i zajmij się siecią: przełącznikami, kablami, kartami sieciowymi i routingiem.
AWiedza podstawowa: dyski w NAS-ie
Nie każdy dysk nadaje się do NAS-a. Klasa dysku decyduje, czy pracuje razem z macierzą RAID, czy ją psuje, a jego atrybuty SMART mówią, jak długo jeszcze pociągnie.
Dlaczego dysk desktopowy nie pasuje do RAID
Dyski desktopowe nie mają TLER/ERC. Gdy trafią na trudny do odczytu blok, próbują go ratować nawet kilka minut, a kontroler RAID czeka tylko około 7 sekund. Po tym czasie uznaje sprawny dysk za uszkodzony i wyrzuca go z macierzy: niepotrzebna degradacja i ryzykowna odbudowa. Do tego brak pracy 24/7, brak czujników drgań (RV) i kilka razy niższe dopuszczalne obciążenie roczne.
SMR a CMR: dlaczego to klucz dla RAID
CMR zapisuje ścieżki obok siebie: zapis jest szybki i przewidywalny, idealny do odbudowy. SMR nakłada je jak dachówki, więc każdy nadpis przepisuje całą strefę. Pod ciągłym zapisem odbudowy pamięć podręczna dysku się zapełnia, dysk zawiesza się na sekundy i przekracza limit czasu kontrolera, który uznaje go za martwy, a odbudowa rozciąga się z godzin na dni. Do RAID i NAS-a używaj wyłącznie dysków CMR.
| Klasa | Do czego | Obroty | Obciążenie roczne | Czujniki RV | TLER | Kieszenie | Do NAS-a |
|---|---|---|---|---|---|---|---|
| NAS | domowe i firmowe NAS-y, praca 24/7, lekkie i średnie obciążenia | 5400 | ~180 TB | ograniczone | tak | do 8 | tak |
| NAS Pro | wielodyskowe NAS-y, wirtualizacja, bazy danych | 7200 | ~300 TB | tak | tak | do 24 | tak |
| Enterprise | serwerownie, macierze 24+ kieszeni, skrajne obciążenie | 7200 | ~550 TB | wieloosiowe | tak | bez limitu | tak |
| Monitoring | rejestratory i CCTV: sekwencyjny zapis wielu strumieni | 5400/7200 | ~180–550 TB | część modeli | tak | NVR | do kamer |
| Archiwum (SMR) | zimne dane, rzadki zapis sekwencyjny | 5400 | niskie | nie | nie | — | tylko backup |
| Desktop | pojedynczy komputer, praca kilka godzin dziennie | 5400/7200 | ~55 TB | nie | nie | 1 | nie |
| ID | Atrybut | Co znaczy | Ostrzeżenie / krytyczny | Co zrobić |
|---|---|---|---|---|
| 5 | Reallocated_Sector_Ct | sektory uszkodzone i przeniesione do zapasu; rośnie, gdy dysk się sypie | ≥ 1 / ≥ 50 | kopia zapasowa; w RAID ryzyko nieudanej odbudowy |
| 197 | Current_Pending_Sector | sektory niestabilne, czekają na realokację | ≥ 1 / ≥ 5 | kopia zapasowa, wymiana; często rośnie razem z 5 i 198 |
| 198 | Offline_Uncorrectable | sektory nieczytelne, nie do odzyskania | ≥ 1 / ≥ 1 | kopia zapasowa od razu, wymiana |
| 187 | Reported_Uncorrect | błędy, których ECC dysku nie naprawił | ≥ 1 / ≥ 10 | mocny sygnał awarii, wymiana |
| 196 | Reallocation_Event_Count | ile razy dysk przenosił sektory | ≥ 1 / ≥ 20 | obserwuj razem z 5 |
| 10 | Spin_Retry_Count | dysk nie rozkręca się za pierwszym razem (silnik, mechanika) | ≥ 1 / ≥ 10 | bliski zacięcia, wymiana |
| 188 | Command_Timeout | polecenia przekraczają limit czasu, dysk się wiesza | ≥ 1 / ≥ 100 | sprawdź kabel i zasilanie; jeśli rośnie, wymiana |
| 199 | UDMA_CRC_Error_Count | błędy transmisji SATA: zwykle kabel albo backplane, nie dysk | ≥ 1 / ≥ 100 | przełóż dysk, wymień kabel; liczy się, czy rośnie |
| 194 | Temperature_Celsius | temperatura dysku | ≥ 55 °C / ≥ 65 °C | popraw chłodzenie i odstępy między dyskami |
| NVMe | Percentage Used | zużyta część deklarowanej wytrzymałości | ≥ 80 % / ≥ 100 % | od 80 % planuj wymianę |
| NVMe | Media and Data Integrity Errors | nieodwracalne błędy nośnika NAND | ≥ 1 / ≥ 10 | kopia zapasowa, wymiana |
| NVMe | Critical Warning | bity alarmu: zapas, temperatura, tryb tylko do odczytu | każdy bit | każdy ustawiony bit to poważny stan |
W macierzy RAID atrybuty 5, 197 i 198 to nie tylko ryzyko jednego dysku: podczas odbudowy obciążenie rośnie i drugi słaby dysk może paść, a wtedy odbudowa się nie udaje i przepada cała pula. Reaguj wcześnie. U Seagate atrybuty 1, 7 i 195 mają surowe wartości w milionach i to jest normalne; patrz na VALUE i WORST wobec THRESH, nie na RAW.
| Tryb | System | Co robi | UPS |
|---|---|---|---|
| Tylko odczyt | QTS | kopiuje często czytane dane na SSD; oryginał zostaje na dyskach | zalecany |
| Read cache (L2ARC) | QuTS hero | SSD jako drugi poziom pamięci podręcznej odczytu | zalecany |
| Write-only / read-write | QTS | zapisy trafiają najpierw na SSD i dopiero później na dyski | krytyczny |
| ZIL (SLOG) | QuTS hero | log zapisów synchronicznych na SSD; zawsze w lustrze | krytyczny |
Praktyczna zasada. Jeśli jakikolwiek zapis czeka w buforze, zanim trafi na dyski (write-back, SLOG, pamięć dysku bez ochrony przed zanikiem zasilania, PLP), UPS jest krytyczny. Jeśli pamięć podręczna służy tylko do odczytu, UPS jest zalecany. Pamięć podręczną z zapisem trzymaj na typie z ochroną (RAID 1, 5, 6 albo 10), nigdy na Single, JBOD ani RAID 0.
O pamięci RAM (dual-channel, ECC, mieszanie modułów, objawy i błędy OOM) jest osobna sekcja w poradniku o teście RAM: Pamięć RAM w NAS-ie.