PowerScale OneFS: rozwiązywanie problemów z wydajnością
Summary: Rozwiąż problem z niską wydajnością systemu PowerScale OneFS za pomocą kompleksowego przewodnika na temat konfiguracji sieci, obciążeń przetwarzania i monitorowania za pomocą InsightIQ w celu poprawy wydajności klastra. ...
Symptoms
Komputery klienckie działają powoli. Niektóre zadania, zwłaszcza te, które działają w klastrze, kończą się niepowodzeniem lub trwają dłużej niż oczekiwano.
Cause
Problemy z wydajnością są zazwyczaj spowodowane przez ruch w sieci, problemy z konfiguracją sieci, obciążenie przetwarzania klienta lub klastra lub połączenie powyższych. W tym artykule opisano kilka skutecznych sposobów rozwiązywania problemów z wydajnością.
Resolution
Rozwiązywanie problemów z InsightIQ
Spis treści:
- Korzystanie z Isilon InsightIQ
- Rozwiązywanie problemów bez InsightIQ
- Przepływność sieci
- Dystrybucja połączeń klienckich
- Przepływność klastra
- Przetwarzanie klastrów
- Operacje w kolejce
- Procesor
Korzystanie z Isilon InsightIQ
Korzystanie z Isilon InsightIQ to najlepszy sposób monitorowania i rozwiązywania problemów z wydajnością.
Urządzenie wirtualne Isilon InsightIQ umożliwia monitorowanie i analizowanie aktywności klastra Isilon za pomocą elastycznych, konfigurowalnych widoków wykresów w aplikacji internetowej InsightIQ. Te wykresy zawierają szczegółowe informacje na temat sprzętu klastra, oprogramowania oraz operacji systemu plików i protokołu. InsightIQ przekształca dane w informacje wizualne, które kładą nacisk na wszelkie czynniki odstające w przypadku wydajności, umożliwiając szybką diagnostykę wąskich gardeł lub optymalizację przepływów pracy.
Szczegółowe informacje na temat korzystania z InsightIQ można znaleźć w Centrum informacji PowerScale InsightIQ.
Rozwiązywanie problemów bez InsightIQ
Jeśli nie korzystasz z InsightIQ, możesz uruchomić różne polecenia w celu zbadania problemów z wydajnością. Rozwiązywanie problemów z wydajnością najpierw przez zbadanie przepływności sieci i klastra, następnie przetwarzania klastra, a na końcu szybkości procesora poszczególnych węzłów.
Przepływność sieci
Użyj narzędzia do testowania sieci, takiego jak Iperf lub Iperf3 , aby określić możliwości przepływności klastra i komputerów klienckich w sieci.
Sposób użycia IperfKorzystając z narzędzia Iperf, uruchom następujące polecenia w klastrze i kliencie. Te polecenia definiują rozmiar okna, które jest wystarczająco duże, aby ujawnić, czy łącze sieciowe jest potencjalną przyczyną problemów z opóźnieniami.
- Klaster:
iperf -s -w 262144 - Wersja Client
iperf -c <cluster IP> -w 262144
Korzystanie z Iperf3Korzystając z narzędzia Iperf, uruchom następujące polecenia w klastrze i kliencie. Te polecenia definiują rozmiar okna, które jest wystarczająco duże, aby ujawnić, czy łącze sieciowe jest potencjalną przyczyną problemów z opóźnieniami.
- Klaster:
iperf3 -s -w 262144 Wersja Clientiperf3 -c <cluster IP> -w 262144
Dystrybucja połączeń klienckich
Sprawdź liczbę klientów NFS i SMB podłączonych do klastra, aby upewnić się, że nie preferują jednego węzła.
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
rootAccount: - Uruchom polecenie
, aby sprawdzić klienty NFS.isi statistics query current list --nodes=all --keys=node.clientstats.connected.nfs,node.clientstats.active.nfs -d
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfs Dane wyjściowe wyświetlają liczbę połączonych klientów na węzeł i ile z tych klientów jest aktywnych w każdym węźle. - Uruchom polecenie
isi statistics query - nodes=all --stats=node.clientstats.connected.nfs,node.clientstats.active.nfsisi statistics query current list --keys=node.clientstats.connected.smb,node.clientstats.active.smb1,node.clientstats.active.smb2 -n all -d
Dane wyjściowe wyświetlają liczbę połączonych klientów na węzeł i ile z tych klientów jest aktywnych w każdym węźle.
Przepływność klastra
Oceń przepływność klastra poprzez przeprowadzenie kilku testów, które mierzą czas potrzebny na odczyt i zapis do pliku. Wykonaj co najmniej jeden test zapisu i jeden test odczytu, zgodnie z poniższymi instrukcjami.
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
rootAccount: - Zmień na
/ifs.cd /ifs - W interfejsie wiersza poleceń w klastrze lub na komputerze klienckim UNIX lub Linux użyj
ddpolecenia zapisu nowego pliku do klastra.
Uruchom następujące polecenie:dd if=/dev/zero of=1GBfile bs=1024k count=1024
To polecenie tworzy przykładowy plik o rozmiarze 1 GB i zgłasza czas potrzebny do zapisania go na dysku. - Z danych wyjściowych tego polecenia należy oszacować liczbę MB na sekundę, które można zapisać na dysku w jednostrumieniowych przepływach pracy.
- Jeśli masz klienta Mac i chcesz przeprowadzić dalszą analizę:
- Uruchom monitor aktywności.
- Uruchom polecenie
cat /dev/zero > /pathToFilepolecenie, gdziepathToFileto ścieżka pliku docelowego.
To polecenie pomaga mierzyć przepływność operacji zapisu w klastrze Isilon. (Chociaż możliwe jest uruchomienieddpolecenia klienta Mac, wyniki mogą być niespójne). - Monitorowanie wyników polecenia na karcie Sieć monitora aktywności.
Podczas pomiaru przepływności operacji odczytu należy pamiętać, aby nie przeprowadzać testów odczytu pliku utworzonego podczas testu zapisu. Ponieważ ten plik został zapisany w pamięci podręcznej, wyniki testów odczytu będą niedokładne. Zamiast tego przetestuj operację odczytu pliku, który nie został zapisany w pamięci podręcznej. Znajdź plik w klastrze większym niż 1 GB i sprawdź ten plik w teście odczytu.
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
rootAccount: - W interfejsie wiersza poleceń w klastrze lub na komputerze klienckim UNIX lub Linux użyj
ddpolecenia odczytu pliku w klastrze.
Uruchom poleceniedd if=/pathToLargeFile of=/dev/null bs=1024kPolecenie, gdziepathToFileto ścieżka pliku docelowego.
To polecenie odczytuje plik docelowy i zgłasza czas potrzebny do jego odczytania. - Jeśli masz klienta Mac i chcesz przeprowadzić dalszą analizę:
- Uruchom monitor aktywności.
- Uruchom polecenie
time cp /pathToLargeFile > /dev/nullPolecenie, gdziepathToFileto ścieżka pliku docelowego.
To polecenie pomaga mierzyć przepływność operacji odczytu w klastrze Isilon. (Chociaż możliwe jest uruchomienieddpolecenia klienta Mac, wyniki mogą być niespójne). - Monitorowanie wyników polecenia na karcie Sieć monitora aktywności.
Przetwarzanie klastrów
Przed zbadaniem operacji wejścia/wyjścia (IOPs) klastra:
- Określ, które zadania są uruchomione w klastrze. Jeżeli działają zadania ponownego rozłożenia, takie jak AutoBalance, Collect lub MultiScan, należy zastanowić się, dlaczego działają i czy nadal powinny działać.
- Te zadania mogą generować zdarzenie klastra: Zdarzenie 400100008: "Operacje na plikach trwały dłużej niż oczekiwano".
- Należy wziąć pod uwagę rodzaj używanych danych. Jeśli komputery klienckie pracują z dużymi plikami wideo lub maszynami wirtualnymi (VM), zadanie ponownego rozłożenia wymaga większej ilości IOPs dysku niż zwykle.
- Rozważ tymczasowe wstrzymanie zadania ponownego rozłożenia. Może to znacznie poprawić wydajność i być opłacalnym krótkoterminowym rozwiązaniem problemu z wydajnością.
Zadania SmartPools.
Wydajność klientów NFS i SMB może ulec pogorszeniu podczas wykonywania zadania:
- Określanie priorytetu zadania SmartPools
isi job status
-
- Zmniejsz wpływ polityki
isi job types modify SmartPools --policy LOW
-
- Dostosuj priorytet
isi job types modify SmartPools --priority 7
-
- Zaplanuj zasady dla osób poza godzinami pracy
isi job types modify SmartPools --policy OFF_HOURS
-
- Przejrzyj konfigurację warstw, utrzymując liczbę warstw poniżej 5
Dysk we/wy
Weryfikacja we/wy dysku może pomóc w określeniu, czy niektóre dyski są nadużywane.
Według klastra
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
- Uruchom polecenie
komenda do ustalenia we/wy dysku.isi statistics pstat Na podstawie danych wyjściowych tego polecenia podziel IOPs dysku przez łączną liczbę dysków w klastrze. Na przykład w przypadku klastra 8-węzłowego korzystającego z węzłów Isilon IQ 12000x, w którym znajduje się 12 dysków na węzeł, IOPs dysku należy podzielić przez 96.
W przypadku węzłów serii X i węzłów serii NL należy oczekiwać, że liczba operacji we/wy na sekundę dysku wyniesie 70 lub mniej dla 100% losowych przepływów pracy lub liczba operacji we/wy na sekundę dysku wynosząca 140 lub mniej dla 100% sekwencyjnych przepływów pracy. Ponieważ węzły serii NL mają mniej pamięci RAM i mniejsze prędkości procesora niż węzły z serii X, węzły z serii X mogą obsługiwać wyższe IOPs dysków.
Według węzła i według dysku
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
- Uruchom polecenie
polecenie ustalania IOPs dysku według węzła, co może pomóc w wykryciu dysków, które są nadmiernie niewykorzystane.isi statistics query current --nodes=all --stats=node.disk.xfers.rate.sum --format=top - Uruchom polecenie
, aby określić sposób wysyłania zapytań o statystyki dla poszczególnych dysków.isi_stats_tool -a get_key_info|grep node.disk.xfer
Operacje w kolejce
Innym sposobem ustalenia, czy dyski nie są nadmiernie używane, jest określenie liczby operacji w kolejce dla każdego dysku w klastrze. W przypadku jednostrumieniowego przepływu pracy opartego na SMB kolejka 4 może wskazywać na problem, podczas gdy w przypadku operacji w przestrzeni nazw NFS o wysokiej współbieżności kolejka może być znacznie większa.
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
rootAccount: - Uruchom polecenie
, aby określić liczbę operacji w kolejce dla każdego dysku w klastrze.isi statistics drive list --nodes=all --sort=queued -d - Określ, jak długo operacja znajdowała się w kolejce:
isi statistics drive list --nodes=all --sort=queued -d
Procesor
Problemy z procesorem są często śledzone do operacji wykonywanych przez klienty w klastrze. Korzystając z polecenia isi statistics można określić operacje wykonywane w klastrze, katalogowane za pomocą protokołu sieciowego lub komputera klienckiego.
- Otwórz połączenie SSH w węźle w klastrze i zaloguj się przy użyciu konta „root”.
rootAccount: - Uruchom polecenie
Określ, które operacje są wykonywane w sieci i sprawdź, które z tych operacji trwa najczęściej, uruchamiając następujące polecenie:isi statistics protocol list --long --totalby Op,proto -d --sort TimeAvg --format top
Dane wyjściowe polecenia zawierają szczegółowe statystyki dla wszystkich protokołów sieciowych, uporządkowane według czasu potrzebnego klastrowi na odpowiedź klientom. Wyniki tego polecenia mogą nie określać, która operacja jest najwolniejsza, ale mogą wskazać użytkownikowi odpowiedni kierunek. - Uruchom polecenie
, aby uzyskać więcej informacji na temat przetwarzania procesora, na przykład które procesory węzłów są najczęściej używane.isi statistics system --nodes all --format top - Uruchom polecenie
Aby uzyskać cztery procesy w każdym węźle, które zużywają najwięcej zasobów procesora, uruchom następujące polecenie:isi_for_array -sX 'top -u -n |grep PID -A4'
Additional Information
Poniżej przedstawiono zalecane zasoby związane z tym tematem, które mogą Cię zainteresować: