Powiadomienie klienta pamięci masowej SC: Linux duże rozmiary we/wy mogą mieć wpływ na dostępność woluminu iSCSI

Zusammenfassung: Wprowadzono ostatnią zmianę jądra do dystrybucji Oracle Enterprise Linux, która zmienia zachowanie sposobu obliczania limitów we/wy przez urządzenia blokujące.

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

Alert:

Zmiany te zostały opisane poniżej.

Oracle Linux 6/7:

 

ELSA-2015-3098-nierozdzielne zabezpieczenia jądra i aktualizacja bugfixa

http://linux.oracle.com/errata/ELSA-2015-3098.html

Data wydania/ 2015-11-13

[3.8.13-100.el6uek/3.8.13-100.el7uek]

Zablokuj: Usuń Artifical max_hw_sectors Cap (Christoph Hellwig) [Orabug: 21511611]

 

 

Oracle Linux 5:

 

Elba-2015-3076 — aktualizacja usterek jądra dla przedsiębiorstw rozwiązanych

http://linux.oracle.com/errata/ELBA-2015-3076.html

Data wydania/ 2015-08-27

[2.6.39-400.260.1.el5uek]

Block: Remove Artifical max_hw_sectors Cap (Janusz Jin) [Orabug: 21455630]

 

 

 

Omówienie:

Każde urządzenie blokujące istniejące w systemie Linux jest przydzielone katalogiem kolejki (znajdującym się w lokalizacji /sys/Block/XXX/Queue/). Ten katalog zawiera szereg plików konfiguracyjnych. Szczegóły dotyczące tych plików można znaleźć w witrynie internetowej:

 

https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt

 

Dwa parametry związane z tym CSTA:

 

max_hw_sectors_kb

Maksymalna liczba kilobajtów obsługiwana w jednym transferze danych.

Ten parametr jest przeznaczony tylko do odczytu i dostarczany przez docelowe urządzenie pamięci masowej za pomocą SCSI odpowiedzi na zapytanie. Podsystem docelowa SCSI w ramach systemu operacyjnego centrum pamięci masowej (SCOS) odpowiada obecnie zerując się z zerem. Oznacza to brak limitu, więc serwer ustawia wartość na maksymalną dozwoloną w ramach tej wersji jądra systemu Linux (32MB).

 

max_sectors_kb

Maksymalna liczba kilobajtów, jaką może mieć warstwa bloku dla żądania system plików.

Ta wartość to odczyt-zapis. Wartość ta musi być mniejsza lub równa wartości max_hw_sectors_kb.

 

Zmiany Oracle jądra Linux wprowadzone w jądra 2.6.39-400.260.1. el5uek, 3.8.13-100. el6uek i 3.8.13-100. el7uek zmieniły sposób obliczania max_sectors_kb . W poprzednich wersjach jądra wartość była zawsze ustawiona na 512KB. Po wprowadzeniu tej zmiany wartość max_sectors_kb jest ustawiana na wartość max_hw_sectors_kb. W ten sposób można w istocie zwiększyć maksymalny rozmiar pojedynczego transferu we/wy do danego urządzenia bloku z 512KB na 32MB.

 

Ta zmiana naraża problem z sterownikiem centrum pamięci masowej 10Gb iSCSI dla wielkości we/wy większych niż ~ 8 MB. Proces serwera z dużym stanem IO może ulec zawieszeniu lub wolumin może stać się niedostępny z powodu dużego rozmiaru we/wy. Ponadto problem ze sterownikiem 10 GB iSCSI może spowodować, że kontroler będzie korzystał z pamięci wymaganej przez inne podsystemy centrum pamięci masowej, co może doprowadzić do większego wpływu.

 

 

 

Obejście problemu:

Aby uniknąć tego problemu, max_sectors_kb dla każdego urządzenia blokującego muszą być dynamicznie zmieniane na serwerze Linux. Poniżej zamieszczono przykładowe polecenia dla urządzenia wielościeżkowego, podłączonego do Linux systemu:

 

#mpath1:

echo 512 >/sys/Block/DM-6/Queue/max_sectors_kb

echo 512 >/sys/Block/SDC/Queue/max_sectors_kb

echo 512 >/sys/Block/SDE/Queue/max_sectors_kb

echo 512 >/sys/Block/SDK/Queue/max_sectors_kb

echo 512 >/sys/Block/SDM/Queue/max_sectors_kb

 

Zmiany te nie są trwałe przy ponownym uruchomieniu komputera. Skrypt init można zaimplementować w celu uruchomienia, kiedy zostanie uruchomiony dany serwer, który zmodyfikuje ten parametr dla wszystkich urządzeń blokujących iSCSI. Skontaktuj się z administratorem Linux lub Oracle, aby dowiedzieć się, jak najlepiej zaimplementować tę trwałość dla każdego środowiska klienta.

 

Poniższy skrypt (reguła udev) ustawi max_sectors_kb każdego iSCSI dołączonego woluminu Compellent do 512KB. Należy korzystać z tego skryptu według własnego uznania, ponieważ nie są implikowane żadne gwarancje anigwarancje. Zaleca się przetestowanie skryptu, ale powinien on działać bez problemu.

 

Utwórz plik 99-CML-iSCSI. reguły w katalogu /etc/udev/rules.d/ pod następującą zawartością:

[root@localhost/] # kot/etc/udev/rules.d/99-CML-iSCSI.rules

# Modify max_sectors_kb dla Dell Storage Center iSCSI mapowanych woluminów

ACTION = = "Dodaj", \

ENV = = "*-iSCSI-* Compellent *", \

RUN + = "/bin/sh-c" Echo 512 >/sys $ DEVPATH/Queue/max_sectors_kb ""

 

 

Wersje, których dotyczy alert:

Wszystkie wersje SCOS są zagrożone przy korzystaniu z interfejsów 10 GB iSCSI. Nie wpływa to na Standard Fibre Channel, iSCSI 1 GB i FCoE.

 

 

Rozwiązanie:

Problem max_sectors_kbzostał rozwiązany w SCOS wersjach 7.01.12, 7.02.01, 7.03.01 i nowszych.

 

Zmiany są dostępne w SCOS 6.07.03 i nowszym w celu rozwiązania problemu z użyciem pamięci przez sterownik iSCSI 10Gb.

Ursache

 

Lösung

 

Betroffene Produkte

Entry Level & Midrange, Compellent (SC, SCv & FS Series), Dell Compellent SC4020, Dell Storage SC8000, Dell Compellent Series 40, Dell Storage SCv2000, Dell Storage SCv2020, Dell Storage SCv2080, Dell Storage SC9000
Artikeleigenschaften
Artikelnummer: 000137348
Artikeltyp: Solution
Zuletzt geändert: 03 Mai 2021
Version:  4
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.