Adaptec RAID unter VMWare ESXi 5.5 überwachen
Hallo zusammen,
ich bin neulich wieder auf ein „komisches“ Problem gestoßen. Ziel des Ganzen ist, dass wir den RAID Zustand eines Adaptec Controllers aus einer VM überwachen wollen. Der Adaptec selber ist in einem ESXi 5.5 verbaut.
WICHTIG: Es muss natürlich vorab der „scsi-aacraid“ Treiber des jeweiligen Controllers installiert werden.
Laut Dokumentation alles einfach und toll – dazu folgende Schritte auf dem ESXi durchführen:
# CIM-Dienste beenden /etc/init.d/sfcbd-watchdog stop # Prüfen auf vorhandene Software esxcli software vib list | grep arc # ggf. entfernen der vorhandenen Komponenten esxcli software vib remove -n arcconf esxcli software vib remove -n arcsmis # Akzeptieren von Community Software esxcli software acceptance set –-level=CommunitySupported # Installation der VIBs esxcli software vib install -v /tmp/vmware-esxi-provider-arcconf.vib esxcli software vib install -v /tmp/vmware-esxi-provider-arcsmis.vib
Nun sollte der ESXi uns folgende Ausgaben liefern:
~ # esxcli software vib list | grep Adap scsi-aacraid 5.0.5.1.7.29100-1OEM.500.0.0.472560 Adaptec_Inc CommunitySupported 2014-07-21 arcconf 1.00-1 Adaptec unknown 2014-07-21 arcsmis 1.00-1 Adaptec unknown 2014-07-21 ~ #
Wenn Ihr nun mit RemoteARCCONF von einer VM den Status abrufen wollt, funktioniert dies problemlos. Sobald das System nun aber länger läuft, findet die VM den RAID-Controller nicht mehr.
Anfangs reichte mir ein Neustart vom „sfcbd-watchdog“, dann war das Problem – zumindest scheinbar – gelöst. Das eigentliche Problem liegt jedoch an einer anderen Stelle und wird schnell transparent wenn wir uns wieder auf den ESXi begeben:
~ # vdf -h Tardisk Space Used sb.v00 149M 149M s.v00 295M 295M scsi_aac.v00 180K 177K .. ----- Ramdisk Size Used Available Use% Mounted on root 32M 32M 0B 100% -- etc 28M 220K 27M 0% -- tmp 192M 12K 191M 0% -- hostdstats 176M 3M 172M 2% -- snmptraps 1M 0B 1M 0% --
.. die Ramdisk „root“ ist einfach vollgelaufen – aber warum? Na weil Adaptec ein Protokoll bei jeder Kommunikation mit dem Controller unter „/var/log/arcconf.log“ speichert. Doof! Was nun also tun?
Ich bin nun den Weg gegangen und habe die „local.sh“ in „/etc/rc.local.d/“ angepasst:
~ # cat /etc/rc.local.d/local.sh #!/bin/sh # local configuration options # Note: modify at your own risk! If you do/use anything in this # script that is not part of a stable API (relying on files to be in # specific places, specific tools, specific output, etc) there is a # possibility you will end up with a broken system after patching or # upgrading. Changes are not supported unless under direction of # VMware support. echo "*/2 * * * * /bin/echo > /var/log/arcconf.log" >> /var/spool/cron/crontabs/root kill `cat /var/run/crond.pid` crond exit 0 ~ #
… Anschließend funktioniert die Überwachung problemlos und stabil! :-)