====== Fibre Channel von QLogic Corp. ====== QLogic Corp. stellt auf seiner Download-Seite nur Pakete für die Enterprise-Linux-Distributionen bereit, will man eine Fibre Channel - Karte unter Ubuntu nutzen, dann ist schon etwas Handarbeit nötig. ===== SANSurfer FC HBA ===== Das Mediation-System enthält 4 Maschinen mit zwei von einer dieser beiden Karten: # lspci Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA (rev 02) Fibre Channel: QLogic Corp. ISP2312-based 2Gb Fibre Channel to PCI-X HBA (rev 02) # lspci Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) benötigt wird der Treiber **"qla2xxx"**: # lsmod qla2xxx 404541 8 scsi_transport_fc 54395 1 qla2xxx ==== Installation vom Konfigurationswerkzeug ==== * [[https://help.ubuntu.com/community/QLogic-SANsurferCLI]] * [[http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/SearchByProduct.aspx?ProductCategory=39&Product=934&Os=26]] => __"Management Tools"__ => //SANsurfer FC-FCoE CLI (x86)// -> (Command line interface (CLI) management tool for Fibre Channel and Converged Network Adapters.) * [[http://john.parnefjord.se/node/36|SANSurfer CLI on Etch]] **Das Ubuntu-Paket "//scli//" ist etwas ganz anderes!** __Jetzt müssen wir das RPM-Paket auseinandernehmen:__ # mkdir /tmp/qlogic # cd /tmp/qlogic # aptitude install alien # gunzip scli-1.7.3-40.i386.rpm.gz # alien -g scli-1.7.3-40.i386.rpm Warning: Skipping conversion of scripts in package scli: postinst postrm preinst Warning: Use the --scripts parameter to include the scripts. Directories scli-1.7.3 and scli-1.7.3.orig prepared. __jetzt sind noch ein paar Anpassungen notwendig:__ # cd scli-1.7.3 # mv debian DEBIAN # sed -i 's/^KERNEL=.*/KERNEL="2.6"/' usr/local/lib/qlogic/lib/libinstall # echo '#!/bin/bash' > usr/local/bin/scli # echo 'export LD_LIBRARY_PATH="/usr/local/lib/qlogic/lib/ia32/2.6"' >> usr/local/bin/scli # echo '/opt/QLogic_Corporation/SANsurferCLI/scli' >> usr/local/bin/scli # chmod 0755 usr/local/bin/scli # cd .. __DEB-Paket-Control bearbeiten:__ So sieht die Datei noch aus: # vi scli-1.7.3/DEBIAN/control Source: scli Section: alien Priority: extra Maintainer: root Package: scli Architecture: i386 Depends: ${shlibs:Depends} Description: SANsurfer FC HBA CLI QLogic FC HBA Command Line Interface application . (Converted from a rpm package by alien version 8.86.) __Und so soll die Datei aussehen:__ # vi scli-1.7.3/DEBIAN/control Source: scli Section: admin Priority: optional Maintainer: Your Name Version: 1.7.3-40 Package: scli Architecture: i386 Depends: Description: SANsurfer FC HBA CLI QLogic FC HBA Command Line Interface application . (Converted from a rpm package by alien version 8.86.) __DEB-Paket bauen:__ # dpkg -b scli-1.7.3 scli-qla-1.7.3-40.i386.deb dpkg-deb: Paket »scli:i386« wird in »scli-1.7.3-40.i386.deb« gebaut. __DEB-Paket installieren:__ # aptitude install d-shlibs glibc-2.13-1:i386 # aptitude remove scli # dpkg -i scli-1.7.3-40.i386.deb (Lese Datenbank ... 60513 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Ersetzen von scli:i386 1.7.3-40 (durch scli-1.7.3-40.i386.deb) ... Ersatz für scli:i386 wird entpackt ... scli:i386 (1.7.3-40) wird eingerichtet ... ==== Anwendung vom Konfigurationswerkzeug ==== * {{:quick_start_guide_-_qlogic_2gb_4gb_8gb_fc_hba_standard_e.pdf|}} * {{:readme_sansurfer_cli_173b32.pdf|}} # scli Scanning QLogic FC HBA(s) and device(s), please wait... - SANsurfer FC/CNA HBA CLI v1.7.3 Build 40 Main Menu 1: General Information 2: HBA Information 3: HBA Parameters 4: Target/LUN List 5: iiDMA Settings 6: Boot Device 7: Utilities 8: Beacon 9: Diagnostics 10: Statistics 11: Help 12: Exit Enter Selection: 2 # multipath -ll 3600508b4000e419b00006000008e0000 dm-3 HP,HSV400 size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=50 status=active | |- 7:0:2:1 sdd 8:48 active ready running | `- 7:0:3:1 sde 8:64 active ready running `-+- policy='round-robin 0' prio=10 status=enabled |- 7:0:0:1 sdb 8:16 active ready running `- 7:0:1:1 sdc 8:32 active ready running # sg_map -x /dev/sg0 6 2 0 0 0 /dev/sda /dev/sg1 7 0 0 0 12 /dev/sg2 7 0 0 1 0 /dev/sdb /dev/sg3 7 0 1 0 12 /dev/sg4 7 0 1 1 0 /dev/sdc /dev/sg5 7 0 2 0 12 /dev/sg6 7 0 2 1 0 /dev/sdd /dev/sg7 7 0 3 0 12 /dev/sg8 7 0 3 1 0 /dev/sde # /lib/udev/scsi_id -g -u -d /dev/mapper/* 3600508b4000e419b00006000008e0000 # ls -la /dev/mapper/ lrwxrwxrwx 1 root root 7 Jun 19 12:24 3600508b4000e419b00006000008e0000 -> ../dm-3 eigentlich gehört hier noch eine "device"-Sektion rein: # vi /etc/multipath.conf # # multipath.conf file generated by mkmpconf # # MAKE EDITS WHERE APPROPRIATE BEFORE PLACING IN SERVICE! # Look for the "EDIT_ME" string for appropriate places to change # defaults { udev_dir /dev polling_interval 10 selector "round-robin 0" path_grouping_policy multibus #getuid_callout "/sbin/scsi_id -g -u -s /block/%n" getuid_callout "/lib/udev/scsi_id -g -u -d /dev/mapper/*" prio_callout /bin/true path_checker readsector0 rr_min_io 100 rr_weight priorities failback immediate no_path_retry fail user_friendly_name yes multipath_tool "/sbin/multipath -v0" } devnode_blacklist { # Standard "defaults" #devnode "^sda$" # EDIT_ME: Insert internal disk and virtual floppy devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]\" devnode "^cciss!c[0-9]d[0-9]*" } multipaths { multipath { # 100GB-Vol auf dem SAN wwid 3600508b4000e419b00006000008e0000 alias san_vol_01 } } # /etc/init.d/multipath-tools reload * Reloading multipath daemon multipathd jetzt (aber spätestens nach einem Reboot) ist hier das neue Gerät zu sehen: # ls -la /dev/mapper/ lrwxrwxrwx 1 root root 7 Jun 19 13:22 san_vol_01 -> ../dm-2 weitere Kommandos zur Anzeige der SAN-Volumen: # dmsetup -v deps # dmsetup -v table # dmsetup status -v # dmsetup ls ==== SAN-Volumen nutzen ==== partitionieren: # fdisk /dev/mapper/san_vol_01 formatieren: # mkfs -t ext4 -m 0 /dev/mapper/san_vol_01-part1