Pytanie 1:
W odniesieniu do -b
opcji: zależy to od dysku. Nowoczesne, duże dyski mają bloki 4KB, w takim przypadku należy ustawić -b 4096
. Rozmiar bloku można uzyskać z systemu operacyjnego , a zazwyczaj można go również uzyskać, odczytując informacje o dysku z etykiety lub przeglądając numer modelu dysku. Jeśli -b
jest ustawiony na coś większego niż rozmiar twojego bloku, integralność badblocks
wyników może być zagrożona (tzn. Możesz uzyskać fałszywe negatywy: nie znaleziono złych bloków, kiedy mogą jeszcze istnieć). Jeśli -b
jest ustawiony na coś mniejszego niż rozmiar bloku dysku, prędkość badblocks
biegu może zostać obniżona. Nie jestem pewien, ale mogą wystąpić inne problemy z ustawieniem-b
do czegoś mniejszego niż rozmiar bloku, ponieważ nie weryfikuje to integralności całego bloku, nadal może być możliwe uzyskanie fałszywych negatywów, jeśli jest ustawiony zbyt mały.
Do -c
odpowiada ilu bloki powinny być sprawdzane na raz opcji. Zasadniczo czytanie / pisanie partii. Ta opcja nie wpływa na integralność wyników, ale wpływa na szybkość, z jaką badblocks
działa. badblocks
będzie (opcjonalnie) zapisu, a następnie odczytać, bufor, czek, powtórz dla każdego n bloków w sposób określony przez -c
. Jeśli -c
jest ustawiona zbyt nisko, spowoduje to, że twoje działania badblocks
będą trwać znacznie dłużej niż zwykle, ponieważ kolejkowanie i przetwarzanie osobnego żądania IO powoduje obciążenie, a dysk może również nakładać dodatkowe obciążenie na żądanie. Jeśli -c
jest ustawiony zbyt wysoko, badblocks
może zabraknąć pamięci. Jeśli tak się stanie, badblocks
zawiedzie dość szybko po uruchomieniu. Dodatkowe kwestie do rozważenia obejmują równoległe badblocks
uruchamianie: jeśli prowadziszbadblocks
przeciwko wielu partycjom na tym samym dysku (zły pomysł) lub przeciwko wielu dyskom przez ten sam kanał IO, prawdopodobnie będziesz chciał dostroić się -c
do czegoś rozsądnie wysokiego, biorąc pod uwagę dostępną pamięć, aby badblocks
równoległe biegi nie walczyły o przepustowość IO i może zrównoważyć się w rozsądny sposób.
Pytanie 2:
Wbrew temu, co inne odpowiedzi wskazują, próba zapisu tryb nie jest mniej lub bardziej wiarygodne niż nieniszczących testu odczytu i zapisu, ale jest dwa razy szybciej, kosztem bycia destrukcyjne dla wszystkich danych. Wyjaśnię dlaczego:-w
W trybie nieniszczącym badblocks
wykonuje następujące czynności:
- Odczytaj istniejące dane, zsumuj je (w razie potrzeby przeczytaj ponownie) i zapisz w pamięci.
- Napisz
-p
do bloku z góry określony wzór (nadpisywany z opcją, choć zwykle nie jest to konieczne).
- Przeczytaj blok ponownie, sprawdzając, czy odczytane dane są takie same jak wzorzec.
- Zapisz oryginalne dane z powrotem na dysk.
- Nie jestem tego pewien, ale prawdopodobnie ponownie czyta i sprawdza, czy oryginalne dane zostały pomyślnie zapisane i nadal sumy kontrolne na to samo.
W -w
trybie destrukcyjnym ( ) badblocks
wykonuje tylko powyższe kroki 2 i 3. Oznacza to, że liczba operacji odczytu / zapisu potrzebnych do zweryfikowania integralności danych została zmniejszona o połowę. Jeśli blok jest zły, dane będą błędne w obu trybach. Oczywiście, jeśli zależy Ci na danych przechowywanych na dysku, powinieneś użyć trybu nieniszczącego, ponieważ -w
spowoduje to zatarcie wszystkich danych i pozostawienie badblocks
wzorców zapisanych na dysku.
Uwaga: jeśli blok się psuje, ale jeszcze nie został całkowicie usunięty, niektóre pary weryfikacji odczytu / zapisu mogą działać, a niektóre nie. W takim przypadku tryb nieniszczący może dać bardziej wiarygodne wskazanie „mulistości” bloku, ponieważ wykonuje dwa zestawy weryfikacji odczytu / zapisu (być może - patrz punkt pod krok 4). Nawet jeśli tryb nieniszczący jest w ten sposób bardziej niezawodny, jest bardziej niezawodny tylko przez przypadek . Prawidłowym sposobem sprawdzenia bloków, które nie są w pełni złe, ale nie są w stanie wytrzymać wielu operacji odczytu / zapisu, jest badblocks
wielokrotne uruchomienie tych samych danych przy użyciu tej -p
opcji.
Pytanie 3:
Jeśli SMART dokonuje realokacji sektorów, prawdopodobnie powinieneś rozważyć jak najszybszą wymianę dysku. Napędy, które tracą kilka sektorów, nie zawsze je tracą, ale przyczyną jest zwykle mocno używany napęd, który staje się magnetycznie papkowaty lub awarie głowic / silników skutkują niedokładnymi lub błędnymi odczytami / zapisami. Ostateczna decyzja należy do Ciebie: w oparciu o wartość danych na dysku i niezawodność, jakiej potrzebujesz z systemów na nim uruchomionych, możesz zdecydować, aby go utrzymać. Mam kilka dysków ze znanymi uszkodzonymi blokami, które od lat wirują z ostrzeżeniami SMART w moim serwerze plików, ale są one tworzone zgodnie z harmonogramem, dzięki czemu mogłem poradzić sobie z całkowitą awarią bez większego bólu.