Inleiding
Seriële consoles bestaan al zolang er computers bestaan. Alhoewel de gemiddelde computereigenaar er geen in huis zal hebben, worden ze nog steeds gebruikt in bijvoorbeeld grote bedrijfsnetwerken of, zoals in ons geval, bij het op afstand beheren van de servers.
Omdat het nogal een omslachtige klus is om alle servers te voorzien van een seriële verbinding naar een andere server, met alle nadelen van dien (zoals het goed bijhouden van welke servers met elkaar verbonden zijn) levert het ook een grote extra kabelbrij op in het serverrack. Vandaar dat het serverbeheerteam van Tweakers.net al een tijdje op zoek was naar een manier om dit goed te regelen. De oplossing waar we uiteindelijk voor gekozen hebben, is de 16 poorts AlterPath Advanced Console Server (ACS) van Cyclades. Dit Amerikaanse bedrijf is op het gebied van console servers de marktleider, en de AlterPath barst dan ook van de features waardoor de server niet alleen geschikt is voor ons (relatief) simpele rack, maar ook voor netwerken met duizenden systemen. Onder de klanten van Cyclades bevinden zich veel grote bedrijven zoals Intel, Google, Yahoo, Apple, Dell, IBM.
In dit artikel willen we de Cyclades Alterpath ACS-16 bespreken. Is een console server een overbodige luxe of een nuttige investering?
Specificaties
Console servers als de AlterPath ACS zijn in wezen een eenvoudige server met een groot aantal seriële poorten. Op dit apparaat draait Linux (met een aangepaste 2.4.17 kernel) die de aansturing en configuratie verzorgt. Hieronder een overzicht van de specificaties van de AlterPath ACS-16 die op dit moment in ons rack hangt.
- Processor: 48MHz MPC855T (PowerPc dual-cpu)
- Aantal seriële poorten: 16
- Aantal PCMCIA slots: 2
- Aantal power supplies: één
- Netwerkinterface: Cyclades 10/100 NIC
- IDE Flashcard: 16MB SanDisk
- Geheugen: 128MB
Met deze hardware heeft Cyclades een product gemaakt dat zeer veel features heeft en zelfs met behulp van de omvangrijke handleiding is het niet mogelijk een complete opsomming hiervan te geven. De belangrijkste features staan hieronder:
Toegang tot de server
- Ethernet en Out-band (Dial-up modem)
- PCMCIA voor apparaten als GSM modems, CDMA, V.90 modem, ISDN en wireless Ethernet
Beveiligingen
- SSH v1 en v2
- Lokaal, RADIUS, TACACS+, LDAP, NIS, en Kerberos authenticatie
- Token-based strong authenticatie (SecurID)
- Local backup user -authenticatie
- PAP/CHAP authenticatie (voor dial-up lijnen)
- Dial back
- IPTables filtering en beveiliging
- Gebruikersauthenticatielijsten per poort
- System event syslog (remote)
- IPSec
Configuratie van de server met behulp van
- Teksteditor (vi)
- Wizards (tekst interface)
- Web
- SNMP
- Command line interface
Console Management
- Break Over SSH
- Windows Server 2003 EMS
- Offline data buffering - lokaal of met remote naar NFS-mount
- Tijdindicatie voor data buffering
- Geen limiet op het aantal simultane sessies
- Simultane sessies per poort (sniffing)
- Clustering (koppelen van console servers, waardoor je met één interface tot 1024 poorten kan beheren)
- Event notification (email, pager, SNMP trap)
Toegang tot de poorten
- Direct naar een TCP-poort, IP-adres of servernaam
- Telnet/SSH via een menu
- Webinterface (experimenteel)
Upgraden van de software
- Upgrades via FTP
- Flash vervangbaar
- TFTP netwerk boot support

De achterkant van de AlterPath Console server
Zoals je hierboven kan zien worden er UTP-ingangen gebruikt voor de seriële kabels. Hier zijn een aantal eenvoudige redenen voor: UTP-kabels zijn makkelijk op maat te maken en erg goedkoop in productie, dit in tegenstelling tot seriële (nullmodem) kabels. UTP is compacter dan de (standaard) 9 pins stekker die normale seriële kabels gebruiken. Een groot aantal verschillende verloopstekkers kan aan de UTP-aansluiting gehangen worden, hierdoor is ook exotische hardware vrij eenvoudig aan te sluiten. Aan deze UTP-kabels hangt een UTP <> Seriëel converter die vervolgens in de seriële poort van de server gestoken kan worden. De schema's voor deze converters zijn ook allemaal op de Cyclades-website te vinden.
Installatie, software en beheer
De hardwarematige instalatie van de AlterPath is redelijk standaard. Het behelst niet meer dan de server in het rack hangen, de powersupply aansluiten, een netwerkkabel aansluiten en de seriële poorten met de servers verbinden.

De console server hangt in het rack
Daarna komt de softwarematige installatie. Deze is zeer uitgebreid, en het duurt dan ook even voor je doorhebt waar je alle opties kan vinden die je wilt gebruiken. Er is een aantal mogelijkheden om de AlterPath te configureren. Voor de basisinstellingen is een command line interface via de seriële poort het meest gebruikelijk. Hiermee is de netwerkconfiguratie met behulp van een wizard eenvoudig in te stellen. Als dat eenmaal is gedaan kun je elke willekeurige methode gebruiken om de verschillende instellingen te wijzigen. De webinterface is hiervoor het meest eenvoudig, hierin zijn vrijwel alle settings inclusief een omschrijving terug te vinden.
Open Source, Linux en Cyclades
Ondanks dat het geheel op een 16MB flash-kaartje past, is er een uitgebreid aanbod van software. Cyclades maakt gebruik van Linux, en heeft (geheel in stijl) al zijn software onder een open-sourcelicentie uitgegeven. Dat ze bij Cyclades open source serieus nemen blijkt ook uit het feit dat de 2.4 kernel maintainer, Marcelo Tosatti, bij Cyclades op de loonlijst staat.
De volledige sourcecode is van de Cyclades-website neer te halen, inclusief alle libs en een crosscompiler. Doordat de sourcecode beschikbaar is, is het mogelijk om, als je nog een optie mist, deze zelf toe te voegen aan de code. Dit standpunt inzake open source heeft er wel toe geleid, dat zodra Cyclades nieuwe opties in hun console server bouwde, de concurentie redelijk snel dezelfde functionaliteit had. Om dit tegen te gaan moet je eerst een registratieformulier invullen voor je de software development kit kan downloaden.
Instellingen
De AlterPath is behoorlijk uitgebreid, zo is het mogelijk om via DHCP en NTP de netwerkinstellingen respectievelijk de tijd op te halen. Met iptables kun je eenvoudig NAT of een firewall opzetten en is er ondersteuning voor beveiligde IPsec-connecties. Met syslog-ng is het mogelijk om op een remote server te loggen in plaats van het lokale geheugen te vullen met logfiles. Ook kan je met SNMP de console server bedienen. Verder kun je (uiteraard) statische routes aanmaken, de host table bijhouden, systeemgebruikers en -groepen wijzigen, enzovoorts.
Van de seriële poorten kun je uiteraard de standaard instellingen als snelheid, data size, stop bit, parity en flow control wijzigen. Ook kan de toegang tot een poort voor elke poort afzonderlijk ingesteld worden. Om een gebruiker te authenticeren kan gebruik worden gemaakt van een veelvoud aan methodes en protocollen. Verder kan worden aangegeven hoe een gebruiker de seriële poort mag benaderen. Dit kan op een groot aantal manieren: lokaal via de CLI of een menu, via de webinterface, telnetten naar een bepaalde poort. Ook kan je elke poort een apart IP geven zodat je direct met SSH of telnet naar de seriële poort van een server kan connecten. Verder kun je aangeven of een sessie gesnift mag worden, en welke gebruiker dat mag doen. Zo kun je met meerdere personen tegelijkertijd op dezelfde poort (door elkaar) werken. Uiteraard kan het ook de andere kant op. Een gebruiker kan ook vanaf een server inbellen op de console server en zo andere poorten benaderen, of via NAT met het internet verbonden worden.
Een handige feature is offline data buffering. Hiermee kun je de data die over de seriële lijn gestuurd wordt, zonder dat er een user verbonden is aan die poort, in een lokale of remote file opslaan. In het geval van Linux is het erg eenvoudig om logberichten niet alleen naar het beeldscherm, maar ook over de seriële lijn naar de console server te sturen. Op deze manier kan je bijvoorbeeld de bootlog bekijken van een server die een reboot kreeg zonder dat er iemand op de seriële poort mee zat te kijken.
Remote server managament
De bekendste manier om een server op afstand te bedienen is via een remote shell (bijvoorbeeld via SSH of telnet). Dit heeft echter, naast de voordelen, een aantal nadelen. Zo is het bijvoorbeeld pas mogelijk om een server te bereiken als de netwerkkaart geïnstalleerd en geconfigureerd is. Maar als je een setting in het BIOS wil veranderen, of de boot sequence wil zien, dan kan je telnet of SSH niet meer gebruiken. Er zit dan weinig anders op om de fiets of auto te pakken en naar de serverruimte te rijden. Een seriële console kan echter vaak al door de BIOS aangestuurd worden. De meeste BIOS'en van servermoederborden bevatten een optie om de boot sequence via een seriële poort te volgen en te bedienen. Op deze manier is het mogelijk om met de console server, een seriële kabel en een internet verbinding de servers van afstand compleet te beheren. Voor een simpele powercycle hangt er tenslotte al een tijd lang een APC Masterswitch in ons rack (Cyclades verkoopt overigens een soortgelijk product die goed samen kan werken met de console server).
De boot en BIOS van een dual Xeon 2400 - in screenshots, geen digitale foto's
In theorie hoef je met een console server en een op afstand bedienbare powerswitch alleen nog maar naar het datacenter om de servers hardwarematig te onderhouden. Verkeerd geboote kernels, een BIOS die op een aanslag van de F1-toets staat te wachten, een typefoutje in het IP van de server, het is allemaal via een console op de seriële poort op te lossen. Alleen zaken als hardwarematige upgrades en/of vervanging van kapotte hardware zijn dan aanleiding om het datacenter weer eens van binnen te bezien.

De hele bootprocedure van Linux is te volgen. Van het selecteren van een kernel in Lilo tot de login prompt. In het geval van een foutmelding is deze nu eenvoudig te copy-pasten hetgeen een grote vooruitgang is ten opzichte van het overtypen of overschrijven.
Conclusie
In vroegere tijden had je dure apparatuur nodig om op afstand een server compleet te beheren. Zo werd het al snel een kostbare zaak als je op afstand iets in het BIOS van een server wilde wijzigen. Met een console server, zoals de AlterPath, en een modern bios dat 'Console Redirect' ondersteunt is het een fluitje van een cent geworden. Tevens zal de AlterPath ons lange downtimes besparen als een server na een crash niet gewoon wil booten, bijvoorbeeld omdat er gewacht wordt op het rootpassword om een filecheck uit te kunnen voeren.

De AlterPath is een uniek product, door al de functionaliteit die het apparaat biedt. Helaas is het daardoor in het begin wel even zoeken naar wat je waar moet veranderen om iets te laten werken. Het gaat het doel van deze review voorbij om alles op te sommen wat de AlterPath kan, helemaal in combinatie met power management en/of een alterpath manager.
De AlterPath is een nuttige aanwinst voor elk serverpark, ondanks dat je nog niet de helft van de functionaliteit nodig hebt voor de voorbeeldtoepassingen die in het plaatje hierboven staan aangegeven. In ons geval zullen we de AlterPath vooral gebruiken om de servers in de gaten te houden en in te kunnen grijpen op het moment dat de standaardmethodes, via een netwerkverbinding, niet werken.