Wraz z pojawieniem się 14 generacji serwerów PowerEdge, DELL wprowadził do sprzedaży nową wersję kontrolerów PERC H740P. W porównaniu do poprzedniej generacji H730, nowa seria została wyposażona w 8GB pamięci, co jest znaczącą zmianą w porównaniu do 2 GB spotykanych w starszych kontrolerach. Ze względu na fakt że nowe urządzenia zostały wprowadzone do sprzedaży dość niedawno, do pełnej obsługi w systemie Linux wymagana jest aktualna wersja jądra systemowego (4.11 lub nowsza). Kontroler PERC H740P, może być również obsługiwany w starszych systemach (w tym w Debianie 9 z domyślnym kernelem 4.9.0-6), jednakże wymaga to trochę dodatkowej pracy ze strony administratora.
Kompilacja sterowników dostarczonych przez firmę DELL
Oficjalny instalator systemy Debian 9 zawiera jądro systemowe w wersji 4.9.0-6, które nie zawiera odpowiedniej wersji sterownika megaraid_sas, obsługującej kontroler PERC H740P. Sterowniki można znaleźć na stronie wsparcia technicznego DELL. Niestety nie ma wersji dla Debiana. Należy pobrać paczkę do systemu SUSE Linux.
Na liście należy znaleźć SUSE Linux ES 12 SP3 for Dell PERC …
Następnie należy wyświetlić szczegółowe informacje dotyczące sterownika , gdzie można pobrać archiwum zwierające sterowniki UnifiedDriver_….
Przed użyciem sterowników w systemie docelowym należy jest wcześniej skompilować – WAŻNE !!! w systemie z dokładnie taką samą wersją jądra co system, na którym ma być obsługiwany kontroler PERC H740P. Kompilacji można dokonać np. na maszynie wirtualnej.
W przykładzie sterowniki będą kompilowane dla systemu Debian 9.4 / w systemie Debian 9.4 z kernelem 4.9.0-6-amd64
cat /etc/debian_version 9.4 uname -a Linux di 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux
Przed rozpoczęciem kompilacji sterowników należy doinstalować kilka dodatkowych paczek, umożliwiające zbudowanie sterownika.
apt-get install linux-headers-$(uname -r) build-essential rpm2cpio
Po pobraniu sterowników ze strony DELL’a należy je rozpakować.
tar -xvf UnifiedDriver_7.703.06.00_SLES12SP3.tar.gz UnifiedDriver_7.703.06.00_SLES12SP3/ UnifiedDriver_7.703.06.00_SLES12SP3/lsi-megaraid_sas-07.703.06.00-6.1.src.rpm UnifiedDriver_7.703.06.00_SLES12SP3/lsi-megaraid_sas-kmp-default-07.703.06.00_sl es12-sp3-1.x86_64.rpm UnifiedDriver_7.703.06.00_SLES12SP3/megaraid_sas-07.703.06.00-1-sles12-sp3.x86_6 4.iso.gz
Źródła sterownika znajdują się w pakiecie rpm – UnifiedDriver_7.703.06.00_SLES12SP3/lsi-megaraid_sas-07.703.06.00-6.1.src.rpm
Aby wypakować archiwum ze źródłami z paczki rpm należy użyć następującego polecenia
rpm2cpio lsi-megaraid_sas-07.703.06.00-6.1.src.rpm | cpio -idmv lsi-megaraid_sas.spec megaraid_sas-07.703.06.00.tar.bz2 216 bloków
W kolejnym kroku należy rozpakować archiwum poleceniem
tar -jxvf megaraid_sas-07.703.06.00.tar.bz2 megaraid_sas-07.703.06.00/ megaraid_sas-07.703.06.00/megaraid_sas_fp.c megaraid_sas-07.703.06.00/megaraid_sas_base.c megaraid_sas-07.703.06.00/compile.sh megaraid_sas-07.703.06.00/megaraid_sas_fusion.h megaraid_sas-07.703.06.00/dkms.conf megaraid_sas-07.703.06.00/Makefile.standalone megaraid_sas-07.703.06.00/megaraid_sas_fusion.c megaraid_sas-07.703.06.00/Makefile megaraid_sas-07.703.06.00/megaraid_sas.h
W następnym kroku należy przejść do katalogu z plikami wypakowanymi z archiwum
cd megaraid_sas-07.703.06.00
a następnie rozpocząć kompilację
./compile.sh
Najważniejszym plikiem wynikowym jest plik megaraid_sas.ko
ls -la | grep *.ko -rw-r--r-- 1 root root 2228352 cze 22 12:53 megaraid_sas.ko -rw-r--r-- 1 root root 475 cze 22 12:53 .megaraid_sas.ko.cmd
Należy go skopiować na pendrive lub zamontować jako napęd wirtualny w iDRAC.
Instalacja systemu Debian 9 na serwerze DELL PowerEdge z kontrolerm PERC H740P
Do instalacji Debiana zostanie wykorzystany oficjalny instalator (zawiera on kernel w wersji 4.9.0-6-amd64 czyli taki sam na jakim skompilowany został sterownik w poprzedniej części artykułu).
Instalacja powinna przebiegać normalnie do momentu konfiguracji sieci.
W tym momencie należy przełączyć się na inna konsolę instalatora wydając kombinację klawiszy Ctrl-Alt-F2
W nowej konsoli należy zamontować wcześniej przygotowany pendrive zawierający sterowniki, a następnie przekopiować go w ścieżkę widoczną przez instalator.
mount -t vfat /dev/sda1 /mnt/ cp /mnt/megaraid_sas.ko /lib/modules/$(uname -r)/kernel/drivers/scsi/megaraid/
Po przekopiowaniu sterownika należy go załadować a następnie odmontować pendrive
modprobe megaraid_sas umount /mnt
W kolejnym kroku można powrócić do instalacji systemu wydając kombinację klawiszy Ctrl-Alt-F1
Instalator powinien być już w stanie wykryć oraz obsłużyć kontroler PERC H740P.
Instalację należy kontynuować do momentu pojawienia się prośby o zresetowanie serwera.
W tym momencie należy ponownie przełączyć się na inną konsolę instalatora wydając kombinację klawiszy Ctrl-Alt-F2. W nowej konsoli należy przekopiować aktualnie używany przez instalator sterownik do systemu, który jest właśnie instalowany.
/lib/modules/4.9.0-6-amd64/kernel/drivers/scsi/megaraid/megaraid_sas.ko /target/lib/modules/4.9.0-6-amd64/kernel/drivers/scsi/megaraid/megaraid_sas.ko
W następnym kroku można podmontować dodatkowe systemy plików
mount -o bind /sys/ /target/sys/ mount -o bind /dev/ /target/dev/ mount -o bind /dev/pts /target/dev/pts mount -t proc /proc /target/proc/
Następnie należy użyć polecenia
chroot /target/ /bin/bash
Wywołanie polecenia chroot spowodowało, że zostaliśmy przeniesieni do nowo instalowanego systemu.
W pierwszej kolejności należy dodać sterownik megaraid_sas do modułów, które mają znaleźć w initrd.
echo megaraid_sas >> /etc/initramfs-tools/modules
a następnie uaktualnić initrd
update-initramfs -u
Od tej chwili system Debian 9 powinien poprawnie obsługiwać kontroler PERC H740P, a my możemy wrócić do okna instalatora Ctrl-Alt-F1 i zakończyć instalację.
UWAGA: Należy pamiętać, że po każdej aktualizacji jądra systemu należy ponownie skompilować sterownik megaraid_sas a następnie skopiować do ścieżki: /lib/modules/$(uname -r)/kernel/drivers/scsi/megaraid/
Instalacja jądra systemu z repozytorium Backports
Aby uniknąć konieczności kompilacji sterowników po każdej aktualizacji jądra systemu, można skorzystać z repozytorium Debian Backports, które zawiera bardziej aktualny kernel, obsługujący natywnie kontroler PERC H740P.
W tym celu będąc w systemie (przed powrotem z chroot’a) należy zmodyfikować plik
/etc/apt/sources.list
Dodać repozytorium backports
deb http://deb.debian.org/debian stretch-backports main contrib non-free
Zaktualizować listę pakietów
apt-get update
A następnie zainstalować nowy kernel
apt-get install -t stretch-backports linux-image-amd64
Po powrocie do instalatora oraz restarcie serwera system powinien bezproblemowo współpracować z kontrolerem PERC H740P. Nowe jądra systemu posiadają zaktualizowany sterownik, dzięki czemu nie trzeba go kompilować przy każdej aktualizacji.
2 komentarze
Możesz dodawać komentarze do tego artykułu.
Dzięki za info, przymierzam się do kupna R540, jaka będzie różnica między H330, a H740P? Co praktycznie daje pamięć RAM?
Planuję jednak postawić na nim hyper-v server, a na nim wirtualki z srv 2016 i debian 9 i trochę obawiam się czy jak padnie kontroler della, to co z danymi? Po włożeniu kontrolera zamiennika np. z H330 na H740P dyski zostaną rozpoznane, czy musi być identyczny?
tom 6 lat ago
W niektórych konfiguracjach kontrolery pozbawione własnej pamięci mogą mieć słabszą wydajność. Kontroler podczas zapisu danych dokonuje pewnych kalkulacji, gdy jest pozbawiony cache musi zapisać dane odrazu na dysk, co może powodować spadek wydajności. Kontroler z pamięcią może wrzucić dane do cache i pracować dalej (dane mogą trafić na dysk chwilę później). Nawet DELL o tym wspomina https://www.dell.com/support/article/pl/pl/pldhs1/sln164091/perc-performance-concerns-for-raid-controllers-without-cache-h330-h310-s130-s110-s300-s100-h200-sas-6-ir-sas-5-ir?lang=en Co do samego H330 to ciężko mi się wypowiadać bo do serwerów DELLa zawsze dobierałem coś z cache. Ale mogę potwierdzić, że miałem bardzo podobne objawy w kontrolerach LSI bez cache, jak opisane w artykule. W niektórych sytuacjach zapis danych był na prawdę słaby. Co do przekładania kontrolerów między serwerami udało mi się przekładać bez problemów konfigurację H730P na H740P (https://www.dell.com/support/manuals/pl/pl/pldhs1/poweredge-rc-h840/perc10_ug_pub/virtual-disk-migration?guid=guid-abe33df5-0c80-40cb-94df-1e07636f0ca9&la)
Konrad Kowalski 6 lat ago
Dodaj komentarz