poniedziałek, 4 marca 2013

Instalacja karty Fibre Channel Qlogic QLE220 w ESXi 5.x


Obsługa różnych dziwnych urządzeń w ESXi nie zawsze jest idealna. Od kiedy VMWare zrezygnowało z tradycyjnego linuksowego kernela na rzecz swojego VKernel, utracono wsparcie potężnej grupy użytkowników, skazując się głównie na łaskę korporacji wspierających hypervisory vmware.

Ostatnio po aktualizacji VMware z wersji 4.x do 5.x zastała nas taka sytuacja - zniknęły nam urządzenia FC. Problemem był brak rozpoznania "zabytkowej" już karty FC, przez hypervisor.



Solucja okazała się niezbyt skomplikowana i sprowadza się do pewnej sztuczki o czym poniżej:

Zaczynamy od dobrania się do plików odpowiedzialnych za obsługę urządzenia, w tym celu wykonujemy następujące polecenia:
cd /tmp/
cp /bootbank/scsi_qla.v01 /tmp/scsi_qla.gz
gunzip scsi_qla.gz
vmtar -x scsi_qla -o scsi_qla.tar
mkdir /tmp/qla
tar xvf scsi_qla.tar -C /tmp/qla/
W efekcie rozpakowane archiwum wygląda następująco:
etc/
etc/vmware/
etc/vmware/driver.map.d/
etc/vmware/driver.map.d/qla2xxx.map
usr/
usr/lib/
usr/lib/vmware/
usr/lib/vmware/vmkmod/
usr/lib/vmware/vmkmod/qla2xxx
usr/share/
usr/share/hwdata/
usr/share/hwdata/driver.pciids.d/
usr/share/hwdata/driver.pciids.d/qla2xxx.ids  
Rozwiązaniem jest edycja dwóch plików, aby dopisać w nich odpowiednie ścieżki. Prawidłowe ścieżki możemy podejrzeć poleceniem lspci -v. W moim wypadku brakująca linijka została wyboldowana.

Przystępujemy do edycji:
vi /tmp/qla/etc/vmware/driver.map.d/qla2xxx.map
i dopisujemy:
regtype=linux,bus=pci,id=1077:2031 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:2400 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:2422 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:2432 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:2532 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:5432 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:8001 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:8021 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:8031 0000:0000,driver=qla2xxx,class=storage
regtype=linux,bus=pci,id=1077:8432 0000:0000,driver=qla2xxx,class=storage
Następnie edytujemy drugi plik:

vi /tmp/qla/usr/share/hwdata/driver.pciids.d/qla2xxx.ids

# This file is automatically generated by pciidlib.py
# Any changes you make manually will be lost at the next build.
# Please edit <driver>.xml for permanent changes.
#
1077  QLogic Corp
        2031  2600 Series 16Gb Fibre Channel to PCI Express HBA
        2400  QLA2400
        2422  ISP2422-based 4Gb Fibre Channel to PCI-X HBA
        2432  ISP2432-based 4Gb Fibre Channel to PCI Express HBA
        2532  ISP2532-based 8Gb Fibre Channel to PCI Express HBA
        5432  QLE220 4Gb Fibre Channel to PCI Express HBA
        8001  ISP81xx-based 10 GbE FCoE to PCI Express CNA
        8021  8200 Series 10GbE Converged Network Adapter (FCoE)
W tym momencie, zakończyliśmy modyfikacje plików na potrzeby działania urządzenia.

W sposób odwrotny przygotowujemy rozpakowane pliki do skompresowanej formy, aby wprowadzić je do bootbanku:
cd /tmp/qla
tar -cf scsi_qla.tar *
vmtar -c scsi_qla.tar -o scsi_qla
gzip scsi_qla
mv scsi_qla.gz scsi_qla.v01
cp scsi_qla.v01 /bootbank/scsi_qla.v
Po tak wykonanych poleceniach, serwer gotowy jest do rebootu. W moim wypadku po restarcie urządzenie zaczęło być prawidłowo widoczne w systemie. Życzę wam tego samego :-)

Brak komentarzy:

Prześlij komentarz