Czy mogę wykryć infekcje sprzętowe RAID z poziomu systemu Linux?

15

Gdy jestem w systemie Linux, mogę uzyskać następujące informacje lsblk(niepotrzebne dyski usunięte z danych wyjściowych):

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

Kiedy ręcznie wyciągam dyski z serwera, mogę stwierdzić, że fizycznie korzystam z następujących dysków:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

Ponieważ na serwerze jest więcej pamięci fizycznej niż dostępna przestrzeń w systemie Linux, oznacza to, że oczywiście używam jakiejś formy systemu RAID. Przy odrobinie matematyki często mogę dowiedzieć się, jaki typ systemu RAID jest używany.

Czy jest sposób, bym mógł wykryć, czy używam sprzętowej macierzy RAID z poziomu systemu Linux , i dowiedzieć się o niej wszystkich informacji (takich jak rodzaj macierzy RAID, dostępnych dysków) bez wyłączania serwera, fizycznego wyciągania dysków, i czytając ich etykiety?

Czy te informacje mogą być gromadzone z poziomu systemu Linux, czy też sens sprzętowej macierzy RAID sprawia, że ​​system podstawowy jest „niewidoczny” dla systemu operacyjnego?

IQAndreas
źródło
Zależy to całkowicie od kontrolera RAID, którego używasz i od tego, jakie wsparcie ma pod Linuksem. Jeśli podasz informacje o kontrolerze, możesz znaleźć pomoc tutaj. Możesz także wyszukać w Internecie „polecenia # model linux”, jeśli nie znajdziesz tutaj potrzebnych informacji.
Gen
@Gene To niefortunne. Znowu miałem nadzieję, że istnieje rozwiązanie, które nie wymaga wyszukiwania konkretnego numeru modelu, ale można go używać niezależnie od używanego sprzętu.
IQAndreas,
Różne urządzenia wykonują RAID inaczej i mają różne sterowniki. W wielu przypadkach nie musisz wyłączać systemu, ale przynajmniej musisz wiedzieć, jaki model kontrolera lub chipsetu masz, aby znaleźć polecenia do zapytania kontrolera z systemu operacyjnego.
Gen
1
Zazwyczaj informacje o kontrolerze lub chipsecie można znaleźć za pomocą dmesg, dmidecode, lspci i innych podobnych narzędzi. Jeśli ma wbudowaną macierz RAID na płycie głównej, znając markę i model płyty głównej, dostaniesz się tam w 99%.
Gen
1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas, ale nie o to chodzi. Odpowiedzi na błąd serwera powinny być odpowiedzią na zadane pytanie. Jeśli masz inne pytanie, edytuj je. Na to pytanie prawie na pewno można odpowiedzieć samemu przez kilka minut w Google. W każdym razie odpowiedź na to pytanie jest lshw.
Zoredache,

Odpowiedzi:

17

Sposób uzyskania informacji o macierzy RAID będzie zależeć wyłącznie od używanego kontrolera RAID. Często producenci będą mieli narzędzia, które można pobrać ze swojej strony internetowej, których można użyć do wysłania zapytania do kontrolera RAID i uzyskania tych informacji.

Aby znaleźć używany kontroler RAID, wypróbuj jedno z następujących poleceń:

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

Informacje, których szukamy, to „3ware Inc 9690SA SAS / SATA-II RAID PCIe” .

lsscsi

Polecenie nie jest dostępne w Debianie i Ubuntu, ale szybkie sudo apt-get install lsscsipobranie go z repozytoriów. Uwaga: jeśli nie używasz kontrolera RAID, zamiast niego wyświetli się producent i numer modelu dysku twardego.

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

Widzimy, że producentem jest „AMCC”, a numer modelu karty RAID to „9690SA-8I” . Szybkie wyszukiwanie w Google pokazuje, że ta karta jest również znana jako „AMCC 3Ware 9690SA-8I” .

lshw

Trzecią metodą (która daje całkiem sporo danych wyjściowych) jest użycie lshwpolecenia. Uruchom lshw -class diskjako root, aby wyświetlić tylko szczegółowe informacje o dyskach twardych (w tym informacje RAID).

Znajdowanie narzędzi kontrolera RAID

Teraz, gdy mamy producenta i numer modelu, powinna istnieć możliwość znalezienia narzędzi na ich stronie internetowej lub przynajmniej umożliwienia Google uzyskania szczegółowych informacji na temat wyszukiwania i używania narzędzi dla tego konkretnego kontrolera.

Jeśli producent pojawia się na tej liście, zapoznaj się z tymi odpowiedziami, aby uzyskać więcej informacji na temat uzyskiwania informacji o macierzy RAID dla karty:

IQAndreas
źródło
5

Uruchom coś takiego lspci -knn | grep 'RAID bus controller'.

Korzystając z tego wyniku, Google (na przykład) dla LSI Logic / Symbios Logic MegaRAID SAS 2208.

Znajdź, używa storclinarzędzia do przesłuchania kontrolera RAID.

Pobierz i zainstaluj.

storcli64 show daje konkretny model kontrolera oraz indeks kontrolera, liczbę grup dysków i dyski wirtualne.

storcli64 /c0/d0 showpokazuje pierwszy kontroler, pierwszą grupę napędów. Informuje o poziomach napadów, w tym zagnieżdżaniu.

storcli64 /c0/eall/sall show all pokazuje wszystkie informacje na wszystkich dyskach.

Dalsze dane referencyjne dla tych poleceń można znaleźć tutaj:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

Powinieneś być wszystkim, co musisz zrobić. Wystarczy użyć zwykłej introspekcji sprzętowej w systemie Linux, a następnie Google, a następnie pobrać i zainstalować narzędzia, które się z nią wiążą.

@ Sugestie i komentarze Gene'a są absolutnie trafne.

Ta odpowiedź jest całkowicie specyficzna dla danych wyjściowych otrzymanych z lspcipolecenia oraz możliwości wyszukiwania w Google w celu zidentyfikowania producenta i pobrania odpowiedniego narzędzia wiersza polecenia.

Ale pokazuje, że możesz to wszystko uzyskać z serwera, w wierszu poleceń, bez zatrzymywania maszyny, otwierania obudowy i wyciągania dysków, co, mam nadzieję, jest pomocne.

Kassandry
źródło
Ponieważ odpowiedź na moje pytanie będzie specyficzna dla sprzętu, dodałem odpowiedź społeczności wiki na temat tego, jak sprawdzić, jakiego kontrolera RAID używasz . Ta odpowiedź następnie prowadzi do odpowiedzi (w tym twojej), które zawierają szczegółowe informacje dla określonych kontrolerów lub producentów.
IQAndreas,
Jeśli chcesz zaktualizować format odpowiedzi, aby to odzwierciedlić, byłoby to miłe, ale nie absolutnie konieczne.
IQAndreas,
2

To nie jest jedna uniwersalna odpowiedź i nie zawiera wszystkich potrzebnych informacji, ale na jednym sprzętowym kontrolerze RAID firmy Adaptec, z którego korzystaliśmy, dał on dostęp do samych dysków za pośrednictwem specjalnych urządzeń / urządzeń / sg1 / dev / sg2 itp. Możemy uruchomić smartctl -a / dev / sg1, aby uzyskać wiele informacji na temat tego dysku fizycznego, w tym producenta, numer modelu, interfejs, numer seryjny, rozmiar i inne dane.

Jeśli chodzi o ustalenie, który kontroler jest używany, zgadzam się z komentarzem Gene'a dotyczącym dmidecode, dmesg i lspci - to byłyby moje, które również spróbują najpierw.

sa289
źródło
1

Aby utworzyć profil magazynu, wykonaj następujące czynności przed uruchomieniem lspcilub pobraniem czegokolwiek.

# cat /etc/fstab         What partitions get mounted at boot?

# sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
północny
źródło
0

3ware

Zostało to przetestowane na następujących kontrolerach RAID: 9690SA-8I

Daj mi znać w komentarzach, jeśli zadziałało to dla konkretnego kontrolera lub jeśli instrukcje wymagają aktualizacji dla twojego modelu.

Ściąganie

Najpierw musisz pobrać narzędzie tw_cli. Można to znaleźć na stronie internetowej Avago Technologies *:

* Nie martw się, to nie jest strona internetowa osoby trzeciej; 3ware zostało zakupione przez AMCC, a następnie sprzedane firmie LSI Corporation, która później stała się częścią Avago [ źródło ]. Aby to zrobić , pamiętaj, że 3ware.com przekierowuje na odpowiednią stronę avagotech.com .

Wpisz tw_cliw pasek wyszukiwania, a następnie nawiguj, aż znajdziesz plik do pobrania o nazwie CLI Linux - from the 10.2.2.1/9.5.5.1 code sets(najnowszy numer wersji może być inny niż podany tutaj)

Rozpakuj plik zip, a albo w x86albo x86_64znajdziesz tw_cliplik binarny, którego potrzebujesz. Zapisz ten plik binarny na serwerze lub komputerze.

Uruchamianie tw_cli

UWAGA: (1) Narzędzie wiersza polecenia może wymagać uruchomienia jako root. (2) Uruchom go tak jak każdy inny plik binarny, dodając go do ścieżki lub uruchamiając bezpośrednio z bieżącego katalogu za pomocą ./tw_cli.

Najpierw uruchom, tw_cli showaby wyświetlić listę kontrolerów RAID dostępnych w twoim systemie:

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

Tutaj widzimy, że jest podłączony jeden kontroler o identyfikatorze c2(zapamiętaj ten identyfikator!), Do którego podłączono 6 dysków fizycznych. Aby uzyskać więcej informacji o tym, które dyski są podłączone do urządzenia, uruchom tw_cli /c2 show(zastępując /c2identyfikator kontrolera):

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

Pierwsza grupa pokazuje używane ustawienia RAID. Druga grupa pokazuje, które dyski są obecnie fizycznie podłączone do serwera.

W tym konkretnym przypadku mam dwie konfiguracje RAID:

  • u0-> Dyski p0i p1oba dyski o pojemności 300 GB tego samego producenta, skonfigurowane do korzystania z RAID-1 (dokładne kopie lustrzane)
  • u1-> Mam cztery dyski Hitachi o pojemności 1 TB ( p2przelotowe p5) skonfigurowane za pomocą RAID-5 („jeden z dysków” służy do zabezpieczenia danych na wypadek awarii jednego z pozostałych dysków). Oznacza to (jak widzimy z góry), że u1ma 3 TB (a raczej 2793.94 GB) użytecznych danych.

Jeszcze więcej informacji o stanie i kondycji dysków można znaleźć, uruchamiając tw_cli /c2/u0 showlub tw_cli /c2/p0 show. Więcej szczegółów i poleceń można znaleźć na stronach podręcznika .

IQAndreas
źródło