OpenBSD sur carte Alix 2D3
Installation par flashdist (version modifiée ici) d’un OpenBSD sur une carte flash 1Go.
Les points de montage /dev et /tmp sont montés sur des disques RAM (commande mount_mfs), /var est un lien symbolique sur /tmp/var et l’ensemble de la carte flash est en read-only.
Un graphique Cacti permet de s’assurer de l’espace disponible en disque RAM.
Collecte des logs de connexions
Lancement du syslogd avec le paramètre -u permettant la collecte des logs des passerelles; ces logs sont filtrées par un script Perl éliminant les éléments inutiles, ce qui donnent des fichiers plus compacts.
La commande newsyslog, lancée toutes les heures par cron, assure toutes les nuits la rotation des logs, qui sont alors archivées et sauvegardées sur une machine distante par un script de sauvegarde, lancé également par cron.
Installation de la surveillance de l’onduleur
Le package nut permet le monitoring de l’onduleur, dans notre cas un MGE Ellipse 1500 ASR.
Il n’est pas possible d’utiliser le cordon USB, l’onduleur n’étant pas reconnu par le système comme un device hiddev0 mais comme ugen0, ce qui ne permet pas le fonctionnement de nut.
ohci0 at pci0 dev 15 function 4 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 15 function 5 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
...
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
...
ugen0 at uhub1 port 2 "MGE UPS SYSTEMS ELLIPSE" rev 1.10/42.41 addr 2
Ce qui donne le message d’erreur suivant au lancemant de nut :
Network UPS Tools: 0.29 USB communication driver - core 0.32 ()
No matching HID UPS found
Driver failed to start (exit status=1)
Il faut donc utiliser le cable série, en désactivant la console dans /etc/ttys
... # tty00 "/usr/libexec/getty std.19200" vt100 on secure tty00 "/usr/libexec/getty std.9600" unknown off ...
Correctif : le driver usbhid-ups fonctionne sous OpenBSD, voir cet article.
Utilisation des leds
Les ports gpio doivent être initialisés au démarrage avant de d’établir le securelevel à 1, en rajoutant les lignes ci-dessous dans le script /etc/rc (extrait d’un OpenBSD 4.5) :
echo -n "Configuring the leds : " /usr/sbin/gpioctl gpio0 25 set out led2 echo -n " " /usr/sbin/gpioctl gpio0 27 set out led3
juste avant la ligne
[ -f /etc/rc.securelevel ] && . /etc/rc.securelevel
Un exemple d’utilisation, faire clignoter la led 2 à la seconde si la gateway est accessible :
#!/bin/sh GATEWAY=$(/sbin/route -n show -inet | /usr/bin/sed -ne 's/^default *\([0-9\.]*\).*$/\1/p') DELAI=1 if [ "x$GATEWAY" != "x" ]; then while : ; do gpioctl -q gpio0 led2 on ping -c 1 -t 1 $GATEWAY > /dev/null 2>&1 ERR=$? sleep $DELAI if [ $ERR -eq 0 ]; then gpioctl -q gpio0 led2 off fi sleep $DELAI done else echo "Gateway not found" fi