Okna.  Wirusy.  Notatniki.  Internet.  biuro.  Narzędzia.  Kierowcy

Również musiałem zmierzyć się z tym problemem. Mój jedyny przyjaciel, który ma Ubuntu do starego laptopa ASUS'a, a któremu po prostu nie chce się przynajmniej czasem włączyć rozumu, zwrócił się do mnie z takim problemem. Na jego laptopie jest zainstalowane nowe Ubuntu 12.10 i bardzo często system po prostu nie chce się uruchomić, wyrzuca go na czarny ekran lub zawiesza się na fioletowym tle. Ale ostatnio taki komunikat zaczął się pojawiać, coś w stylu „Nie można uruchomić systemu operacyjnego. Wybierz żądany klawisz do dalszych działań ... ”A potem jest opis tego, co należy nacisnąć. Nie pamiętam dokładnie, jakie klawisze system sugeruje naciśnięcie, ale znaczenie jest takie, że aby automatycznie poprawić błędy, naciśnij określony klawisz, aby ręcznie debugować inny i zignorować ten komunikat, sugeruje się naciśnięcie trzeciego przycisku. Automatyczna korekcja błędów do niczego nie doprowadziła, a ładowanie systemu operacyjnego nie zakończyło się logicznie. Postanowiłem więc spróbować słynnego zespołu fsck.

Najpierw musisz uruchomić albo z bootowalny pendrive z Ubuntu (Lubuntu, Xubuntu, Kubuntu itp.) lub z Dysk Ubuntu płyta CD na żywo. Teraz musimy dowiedzieć się dokładnie, którą partycję Ubuntu musimy przeskanować, aby to naprawić. system plików. Uruchom Terminal (Ctrl-Alt-T) i wykonaj polecenie:

sudo fdisk -l

To polecenie pokaże nam wszystkie dyski, dyski flash, które są zamontowane w systemie. Jako przykładu użyję mojego komputera osobistego, a nie laptopa znajomego. Oto, co mi się przydarzyło:

[e-mail chroniony]:~$ sudo fdisk -l

Dysk /dev/sda: 640,1 GB , 640135028736 bajtów
255 głowic, 63 sektory/tor, 77825 cylindrów, łącznie 1250263728 sektorów



Identyfikator dysku: 0x0009d6f7


/dev/sda1 * 2048 61442047 30720000 83 Linux
/dev/sda2 61442048 73730031 6143992 82 Linux swap / Solaris
/dev/sda3 73730048 1250263039 588266496 83 Linux

Dysk /dev/sdb: 500,1 GB , 500107862016 bajtów
255 głowic, 63 sektory/tor, 60801 cylindrów, łącznie 976773168 sektorów
Jednostki = sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny): 512 bajtów / 512 bajtów
Rozmiar we/wy (minimalny/optymalny): 512 bajtów / 512 bajtów
Identyfikator dysku: 0xb9ff6f01

Rozruch urządzenia Początek Koniec Bloki Id System
/dev/sdb1 * 16065 100197404 50090670 83 Linux
/dev/sdb2 105322201 976771071 435724435+ 5 Rozszerzony
/dev/sdb3 100197405 105322139 2562367+ 82 Wymiana Linuksa / Solaris
/dev/sdb5 105322203 832110591 363394194+ 7 HPFS/NTFS/exFAT
/dev/sdb6 832112640 860755218 14321289+ 83 Linux
/dev/sdb7 860758016 862613503 927744 82 Wymiana Linuksa / Solaris
/dev/sdb8 862615552 976771071 57077760 83 Linux

Wpisy w tablicy partycji nie są ułożone w kolejności dysków

Dysk /dev/sdc: 8115 MB , 8115978240 bajtów
250 głowic, 62 sektory/tor, 1022 cylindry, łącznie 15851520 sektorów
Jednostki = sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny): 512 bajtów / 512 bajtów
Rozmiar we/wy (minimalny/optymalny): 512 bajtów / 512 bajtów
Identyfikator dysku: 0xc3072e18

Rozruch urządzenia Początek Koniec Bloki Id System
/dev/sdc1 * 32 15847625 7923797 b W95 FAT32

Jak widać z danych wyjściowych polecenia sudo fdisk -l, mam 2 dyski twarde (sda) 640 GB i (sdb) 500 GB, a także pendrive (sdc) 8 GB, z którego faktycznie uruchomiłem. Wiem, że mój podstawowy system Ubuntu 12.04 znajduje się na dysku sda, a partycja systemu operacyjnego nosi odpowiednio nazwę sda1.

Teraz, gdy znamy sekcję do przeskanowania, możemy zacząć ją sprawdzać. w terminalu:

sudo fsck -y -f -c /dev/sda1

jeśli widzisz błąd, najprawdopodobniej musisz odmontować tę partycję:

sudo umount /dev/sda1

Klawisze poleceń i parametry fsck:

y- zawsze odpowiadaj twierdząco na wszystkie pytania (istnieje alternatywa: klawisz p - uruchamia sprawdzanie w trybie w pełni automatycznym);

F- wymuszone sprawdzenie systemu plików (nawet jeśli system plików jest oznaczony jako w pełni funkcjonalny)

C- szuka uszkodzonych bloków (uszkodzonych bloków), a następnie odpowiednio je oznacza

/dev/sda1- urządzenie lub partycję do sprawdzenia. Chociaż polecenie może mieć inną postać. Na przykład:

sudo fsck -p /dev/sda1

W ta sprawa dodano tylko przełącznik -p. Właśnie przeczytałeś o wszystkich opcjach polecenia fsck i dodajesz dokładnie te opcje, których potrzebujesz. Aby poznać wszystkie funkcje programu wpisz w Terminalu:

człowiek fsck

Oto, co wydał Terminal po sprawdzeniu:

[e-mail chroniony]:~$ sudo fsck -y -f -c /dev/sda1
fsck z util-linux 2.20.1
e2fsck 1.42.5 (29 lipca 2012)
Sprawdzanie uszkodzonych bloków (test tylko do odczytu): wykonano 0,00%, upłynęło 0:00. (0/0/0 pomyłka
/dev/sda1: Aktualizowanie uszkodzonego i-węzła bloku.
Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów
Przejście 2: Sprawdzanie struktury katalogów
Przejście 3: Sprawdzanie łączności z katalogami
Zaliczenie 4: Sprawdzanie liczby referencji
Zaliczenie 5: Sprawdzanie podsumowujących informacji o grupie

Czy Linus Torvalds tworząc swoje potomstwo zakładał, że Linux znajdzie zastosowanie w systemach wbudowanych, nie tylko w tanich routerach domowych, ale także w tak poważnych rozwiązaniach telekomunikacyjnych jak AVAYA PBX?

Ostatnio musiałem przywrócić funkcjonalność centrali AVAYA PBX jednego dużego klienta. To jest brama Avaya G650 (obudowa) z serwerem Avaya S8400 (procesor). Mając na uwadze, że dysk systemowy Użyto nośnika CompactFlash o pojemności 2 GB. które można warunkowo rozważyć Dysk SSD z interfejsem IDE.
I jakie było moje zdziwienie, kiedy podłączyłem dysk CF przez czytnik kart, zobaczyłem znajomą strukturę plik Linuksa systemy. Co oczywiście uprościło procedurę sprawdzania działania napędu CF.

Jak sprawdzić system plików dysku Linux pod kątem błędów

System operacyjny MicroSoft DOS (o tak, pamiętam wersję 5.0, która mieściła się na jednej dyskietce!) miał polecenie sprawdzania dysku CHKDSK. I jest coś podobnego w Linuksie.
Sprawdzić Dysk z Linuksem w przypadku błędów systemu plików musisz znaleźć nazwy systemów plików do sprawdzenia:

# df -h Używany rozmiar systemu plików Dostępność Wykorzystanie % Zamontowano na /dev/sda 20G 4.0G 15G 21% / /dev/sdd1 1G 455M 555M 46% /media/Np%blsl3648B4Jjeiedgyy /dev/sdd6 1G 98M 902M 10% /media/ 10.13-23dd brak 246M 0 246M 0% /dev/shm

Tak jest w przypadku testowanego dysku CF /dev/sdd1 I /dev/sdd6
Następnie musisz odmontować testowane systemy plików:

#sudo umount /dev/sdd1 #sudo umount /dev/sdd6

#fsck -y /dev/sdd1 #fsck -y /dev/sdd6

Parametr -y automatycznie odpowie twierdząco na wszystkie pytania, co z reguły robi większość użytkowników.

Wyniki narzędzia do sprawdzania systemu plików Lunux FSCK

W moim przypadku wystąpiły błędy na jednej z partycji, które naprawiło narzędzie. Następnie dysk CF wrócił na swoje miejsce, a centrala Avaya PBX została przywrócona do pełnej sprawności.

Każdy komputer to złożone urządzenie, które składa się z wielu elementów i nikt nie jest odporny na awarie któregokolwiek z nich. W tym artykule przyjrzymy się, jak rozpoznać jedną z nich poważne problemy z urządzeniami pamięci masowej, czy Dysk twardy lub dysk flash, jak sprawdzić dysk pod kątem uszkodzonych sektorów systemu Linux.

Każdy dysk składa się z wielu małych bloków (sektorów), które przechowują informacje w postaci zer lub jedynek (bitów). Jeśli z jakiegoś powodu system operacyjny nie może napisać trochę informacji do określonego sektora, wtedy można go uznać za „zepsuty”.

Sektor może ulec uszkodzeniu z różnych powodów:

  • Wady produkcyjne
  • Wyłączanie zasilania komputera podczas zapisywania informacji.
  • Fizyczne uszkodzenie dysku.

Niewielka liczba uszkodzonych sektorów znajduje się na prawie każdym dysku. Ale warto zwrócić uwagę, czy ich liczba rośnie z czasem. Może to wskazywać na rychłą fizyczną śmierć dysku i czas pomyśleć o jego wymianie.

Przyjrzyjmy się, jakich narzędzi w systemie Linux możemy użyć do sprawdzenia dysku pod kątem uszkodzonych sektorów systemu Linux.

Sprawdzanie dysku pod kątem uszkodzonych sektorów za pomocą badblocków.

złe bloki- standardowe narzędzie Linux, aby sprawdzić, czy nie ma uszkodzonych sektorów. Jest instalowany domyślnie w prawie każdym zestawie dystrybucyjnym i za jego pomocą można sprawdzić zarówno dysk twardy, jak i dysk zewnętrzny.

Najpierw zobaczmy, jakie dyski są podłączone do naszego systemu i jakie mają partycje. Aby to zrobić, potrzebujemy innego standardowego narzędzia Linux - fdisk.

Oczywiście musisz wykonywać polecenia z uprawnieniami administratora:

Parametr -l mówimy narzędziu fdisk, że musimy pokazać listę partycji i wyjść.

Teraz, gdy wiemy, jakie mamy partycje, możemy sprawdzić je pod kątem uszkodzonych sektorów. Aby to zrobić, użyjemy narzędzia badblocks w następujący sposób:

$ sudo badblocks -v /dev/sda1 > badsectors.txt

W celu weryfikacji określamy następujące parametry:

  • -w- szczegółowe wyjście informacji o wynikach kontroli.
  • /dev/sda1- sekcja, którą chcemy sprawdzić pod kątem uszkodzonych sektorów.
  • >badsectors.txt- wyślij wynik wykonania polecenia do pliku badsectors.txt.

Jeśli w rezultacie znaleziono uszkodzone sektory, musimy poinstruować system operacyjny, aby nie zapisywał do nich informacji w przyszłości. Do tego potrzebujemy Narzędzia Linuksa pracować z systemami plików:

  • e2fsck. Jeśli naprawimy partycję z systemami plików Linux (ext2,ext3,ext4).
  • fsck. Jeśli naprawimy system plików inny niż ext.

Wprowadź następujące polecenia:

$ sudo e2fsck -l badsectors.txt /dev/sda1

Lub, jeśli nasz system plików nie jest ext:

$ sudo fsck -l badsectors.txt /dev/sda1

Parametr -l mówimy narzędziu, aby użyło listy uszkodzonych sektorów z pliku badsectors.txt, który uzyskaliśmy wcześniej podczas sprawdzania za pomocą narzędzia badblocks.

Sprawdzanie dysku pod kątem uszkodzonych sektorów w systemie Linux za pomocą smartmontools

Teraz spójrzmy na bardziej nowoczesny i niezawodny sposób sprawdź dysk pod kątem uszkodzonych sektorów linux. Nowoczesne dyski ATA/SATA, SCSI/SAS, SSD posiadają wbudowany system samokontroli S.M.A.R.T (technologia samokontroli, analizy i raportowania), Self-Monitoring, Analysis, and Reporting Technology), która monitoruje wydajność dysku i pomaga zidentyfikować pogorszenie wydajności dysku na wczesnym etapie. Do pracy ze S.M.A.R.T w systemie Linux dostępne jest narzędzie smartmontools.

Zainstalujmy go najpierw. Jeśli twoja dystrybucja jest oparta na Debian\Ubuntu, wpisz:

$ sudo apt install smartmontools

Jeśli masz zestaw dystrybucyjny oparty na RHEL\CentOS, wpisz:

$ sudo yum zainstaluj smartmontools

przez administratora

Rozważ sposoby sprawdzania i diagnozowania dysku twardego systemy linuxowe. Informacja o działanie dysku twardego pomoże przeanalizować stan iw razie potrzeby wymienić uszkodzony nośnik, zapobiegając w ten sposób awarii systemu lub utracie danych. Dodatkowo do naszego systemu monitoringu zabbix dołączamy monitorowanie smart HDD

Uzyskaj listę podłączonych dysków w systemie

Aby określić, co jest zamontowane i gdzie, uruchom

Patrzeć zajęte miejsce na dowolnym magazynie

Jeśli istnieje soft.ride, sprawdź go za pomocą następującego polecenia

[e-mail chroniony]:~# cat /proc/mdstat
Osobowości:
md1: aktywny raid1 sdb3 sda3
965888832 bloki super 1.2

md0: aktywny raid1 sdb1 sda1
9756544 bloki super 1.2
nieużywane urządzenia:
[e-mail chroniony]:~#

który najazd jest zainstalowany (zbudowany)
md0- nazwa urządzenia rajdowego
sda sdb- uwzględniono urządzenia w tym nalocie
- stan dysków w macierzy RAID

Instalacja wymaganych pakietów

aptitude install hdpparm sysstat smartmontools

Patrzymy na stan prędkości odczytu z dysku

Z pomocą jostat(w ramach sysstat) przeanalizuj obciążenie naszego dysku twardego

Patrzymy na dane wyjściowe na wszystkich dyskach w odstępie 10 sekund

Magazyn do analizy można zdefiniować, dodając

Za pomocą tego narzędzia określimy obciążenie naszych urządzeń, statystyki wejść/wyjść oraz procentowe wykorzystanie.

średni procesor: %użytkownik %Ładny %system %oczekiwania %ukraść %bezczynny
0,16 0,00 1,89 23,75 0,00 74,21

Sprawdzanie stanu dysku

Najpierw sprawdźmy nasz dysk twardy pod kątem uszkodzonych bloków, jeśli to konieczne, wybierz je i oznacz jako ignorowane.

badblocks /dev/sda3 -sv > /root/badblockSDA3
Sprawdzanie uszkodzonych bloków (test tylko do odczytu): wykonano 27,93%, upłynęło 36:12. (0/0/0 błędów)

/dev/sda3- nazwa sprawdzanego urządzenia
S- wyjście informacji procentowej
w- włączyć coś tryb szczegółowy
> /root/badblockSDA3- zapisz uszkodzone sektory do pliku

Oznaczanie uszkodzonych bloków (dalsze zaznaczone bloki będą ignorowane przez system):

e2fsck -l /root/badblockSDA3 /dev/sda3

Uszkodzone bloki są oznaczone, możesz pracować z dyskiem.

UWAGA!!! Tę operację należy wykonać na niezamontowanym nośniku lub w trybie tylko do odczytu.

UWAGA!!! Sprawdzane urządzenie i urządzenie, na którym będą oznaczane uszkodzone bloki, muszą być takie same!

Uzyskiwanie danych S.M.A.R.T na temat działania HDD

Gdzie /dev/sdX to nazwa urządzenia do sprawdzenia.
Otrzymasz dane wyjściowe atrybutów SMART, których znaczenie jest dobrze opisane na wiki

Monitorowanie statusu S.M.A.R.T dysków twardych w Zabbix

Dla każdego z dysków sprawdzamy obsługę SMART

[e-mail chroniony]:~# smartctl -i /dev/sda |grep SMART
Obsługa SMART jest: Dostępna — urządzenie ma funkcję SMART.
Obsługa SMART jest: włączona
[e-mail chroniony]:~#

Jeśli obsługiwane, ale nie włączone, włącz

smartctl -s na -S na -o na /dev/sda

sprawdź stan za pomocą polecenia

smartctl -H /dev/sda |grep "test"| wytnij -f2 -d: |tr -d " "

[e-mail chroniony]:/etc/zabbix# smartctl -H /dev/sda |grep "test"| wytnij -f2 -d: |tr -d " "
PRZESZEDŁ
[e-mail chroniony]:/etc/zabbix#

W plik konfiguracyjny agent zabbix agent włącza opcję inteligentnego sprawdzania dysku

UserParameter=HDD_smart.[*],sudo smartctl -H /dev/$1 |grep "test"| wytnij -f2 -d: |tr -d " "

Gdzie HDD_smart- klucz do elementu zabbix

V Sudoers dodać wpis

zabbix ALL=NOPASSWD:/usr/sbin/smartctl

zrestartuj Sudo i agenta zabbix.

Aby mieć pewność co do poprawności, zaloguj się jako użytkownik zabbix i sprawdź wykonanie naszego polecenia

[e-mail chroniony]:/etc/zabbix# su - zabbix -s /bin/bash
Brakuje katalogu lub jest on niedostępny, zaloguj się za pomocą HOME=/
[e-mail chroniony]:/$ sudo smartctl -H /dev/sda |grep "test"| wytnij -f2 -d: |tr -d " "
PRZESZEDŁ
[e-mail chroniony]:/$

Na serwerze zabbix utwórz agenta zabbix ( Aktywny) element danych

Nazwa- arbitralne
Typ- Agent Zabbix (Aktywny)
Klucz- HDD_smart. - dla pierwszego dysku, odpowiednio dla drugiego ...
Typ- Znak

A po chwili obserwujemy dane

Jeśli podczas ładowania system operacyjny zgłasza błędy w systemie plików na jednej z partycji, należy natychmiast sprawdzić dyski i poprawić błędy systemu plików.

Każdy szanujący się użytkownik nie powinien zapominać o okresowej kontroli dyski twarde szukanie uszkodzonych sektorów i sprawdzanie dysków pod kątem błędów jest przykładem zdrowego rozsądku.

Ważny! Uruchomienie i wykonanie FSCK na zamontowanym systemie plików może prowadzić do uszkodzenia danych, więckorzystasz z tego materiału na własne ryzyko. Autor nie ponosi odpowiedzialności za jakiekolwiek szkody, które możesz wyrządzić.

Aby się zabezpieczyć, musisz:

  • Przejdź do trybu pojedynczego użytkownika i odmontuj system plików
  • Uruchom komputer w trybie odzyskiwania, używając instalacyjnej płyty CD

Musisz więc sprawdzić dyski i naprawić błędy systemu plików, zaczynajmy.

1) Tryb pojedynczego użytkownika

Zmień poziom inicjalizacji i odmontuj system plików:

# początek 1
# zamontuj /dom

Wyszukaj zamontowane partycje:

# fsck /dev/sda1

2) Tryb odzyskiwania z instalacyjnej płyty CD

Włóż instalacyjną płytę CD do napędu i uruchom ponownie system:

Poczekaj chwilę i po uruchomieniu z płyty instalacyjnej uruchom polecenie:

# Linux ratunkowy nomount

Dyrektywa NOMOUNT wyłączy montowanie, więc możesz bezpiecznie używać FSCK.

Następnie uruchom FSCK na partycji z błędami:

# fsck -yvf /dev/sda1

LVM (menedżer woluminów logicznych)

Sytuacja z LVM (menedżer woluminów logicznych) sekcje są trochę trudniejsze. Na początek FSCK Dla LVM sekcje muszą być najpierw znalezione PV (objętość fizyczna), VG (grupa woluminów), LV (rozszerzenie logiczne) i aktywuj je, aby to zrobić, uruchom kolejno następujące polecenia:

# lvm pvscan
# lvm vgscan
# lvm lvchange -ay VolGroup00
# lvm lvscan

# fsck -yfv /dev/VolGroup00/LogVol00

Po wykonaniu FSCK zwróci wynik w postaci kodu, podany kod jest unikalną liczbą reprezentującą sumę następujących wartości:

0 - Brak błędów (Brak błędów);
1 - Poprawione błędy systemu plików;
2 - System powinien zostać zrestartowany;
4 - Błędy systemu plików pozostawione nieskorygowane;
8 - Błąd operacyjny;
16 - Błędy użytkowe lub składniowe;
32 - Fsck anulowane na żądanie użytkownika;
128 — Błąd biblioteki udostępnionej.

Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl + Enter
UDZIAŁ: