Networking Services
4/1.4 Service Location Protocol 4/1.4.1 Inleiding Binnen Open Enterprise Server is het Service Location Protocol (SLP) een essentieel onderdeel. Dit protocol zorgt ervoor dat de clients de servers terug kunnen vinden die eDirectory en andere Novell-services in de aanbieding hebben. Daarnaast wordt het gebruikt door servers onderling om informatie uit te wisselen over services die beschikbaar zijn. Als er zich problemen voordoen met SLP, zullen de gebruikers dat direct merken, want in dat geval zullen er namelijk problemen optreden met het inloggen op servers.
Agents
4/1.4.2 Werking van SLP In een SLP-omgeving wordt gebruikgemaakt van een Service Agent (SA) en een User Agent (UA). De SA is het centrale registratiepunt van services op een server. Dit betekent dat elke service die weet om te gaan met SLP, zich zal registreren bij de SA die op dezelfde server draait. Deze registratie is een proces waarbij geen netwerkverkeer gegenereerd wordt; registratie vindt plaats op dezelfde server als waar de services aanwezig zijn. De service zal dus in principe niet communiceren met andere servers op het netwerk. Op het moment dat een clienttoepassing informatie over services nodig heeft, zal deze met behulp van de User Agent alle SA’s in het netwerk benaderen. Dit kan op basis van broadcast, maar ook op basis van multicast gebeuren. Als elke SA op deze service-request gereageerd heeft, heeft de UA een volledig overzicht van beschikbare services en kan de clienttoepassing een keuze maken met welke server deze wil communiceren om de betreffende service te gebruiken.
Novell Netwerkoplossingen, aanvulling 34
4/1.4-1
IP-services
Het probleempunt in deze wijze van communiceren is dat er bij een toename van het aantal SA’s een behoorlijke hoeveelheid netwerkverkeer zal ontstaan. Denk maar aan een situatie waar honderden SA’s elk individueel moeten antwoorden op de service-requests van duizenden UA’s, en dan ook nog in een wereldwijd netwerk. Om te voorkomen dat het netwerk in een dergelijke situatie dichtslibt, kan gebruikgemaakt worden van twee extra componenten: de Directory Agent (DA) en de scope. Een DA kan worden ingezet als centraal registratiepunt in het netwerk. Dit betekent dat elke SA geconfigureerd wordt om contact op te nemen met een of meer DA’s op het moment dat er iets gewijzigd is aan de services die op die SA beschikbaar zijn. De achterliggende gedachte is dat er niet zo heel snel wijzigingen plaatsvinden in de beschikbare services en dat hierdoor het verkeer beperkt zal blijven. Als nu elke SA contact zoekt met een DA om services te registreren, kunnen de UA’s voortaan op basis van unicast contact opnemen met de DA en zo wordt het verkeer aanzienlijk teruggebracht. Kort samengevat: de server die een service aanbiedt, neemt contact op met de DA om zijn service daar te registreren. Vervolgens is er de client die een service wil gebruiken die op zijn beurt ook weer contact opneemt met de DA om te achterhalen op welke server deze service aangeboden wordt. Als gewerkt wordt met DA’s, kan het de moeite waard zijn meerdere DA’s in te zetten waarbij elke DA een eigen servicedomein krijgt toegewezen. Dit geldt vooral als u een servicesdomein opzet in een grootschalige omgeving. Dit domein van services wordt aangeduid als een scope. Zie de scope voor het gemak maar als een regio waarbinnen services worden ondergebracht. De werking van een scope is op zich vrij eenvoudig: zowel de DA als de SA en de UA wordt 4/1.4-2
Novell Netwerkoplossingen, aanvulling 34
Networking Services
ondergebracht in scopes en het uitwisselen van informatie over beschikbare services zal voortaan alleen plaatsvinden binnen dezelfde scope. Als er een situatie is waarin een van de elementen (dat kan zowel de DA, de SA als de UA zijn) voorkomt op de rand van een scope, kan het betreffende element geconfigureerd worden om te zoeken in meerdere scopes tegelijk. Het gebruik van scopes is vooral interessant in een grootschalige omgeving waar het de moeite waard is op deze wijze verschillende regio’s te definiëren.
Configuratieparameters
4/1.4.3 Configuratie van SLP De configuratie van SLP is in een OES Linux-omgeving vrij eenvoudig. Er is maar één configuratiebestand en in dat configuratiebestand zijn er maar een paar parameters die echt de moeite waard zijn. Alle services die in een eDirectory-context gebruikt worden, zijn zich bewust van SLP. Dit betekent dat de services zelf geen aanvullende configuratie meer nodig hebben. De naam van het configuratiebestand is /etc/slp.conf. Hierna treft u een opsomming en uitleg aan van de meest relevante configuratieparameters. In het voorbeeldbestand ziet u dat deze parameters voorafgegaan worden door een ; als commentaarteken. Om een parameter te activeren volstaat het dit commentaarteken te verwijderen. • Net.slp.useScopes: gebruik deze optie om een lijst scopes te specificeren. Alle onderdelen van de SLPservice die op deze server actief zijn, zullen zichzelf vervolgens alleen nog maar binnen deze scope bekendmaken. • Net.slp.DAAddressess: deze optie kan worden ingezet om een statische lijst op te geven van DA’s die gebruikt moeten worden door de SA- en UA-componenten op deze server. U hoeft deze lijst niet te gebruiken; als u namelijk niets doet, worden DA’s dynamisch opgespoord op het netwerk.
Novell Netwerkoplossingen, aanvulling 34
4/1.4-3
IP-services
•
Net.slp.isDA: standaard is op uw server alleen een SA actief. Wilt u dat de server ook DA-diensten verleent? Wijzig dan deze parameter door hem de waarde true te geven. Na herstart van de SLP-service zal uw server zich voortaan ook als DA bekendmaken.
Nadat u eventuele wijzigingen hebt aangebracht in het SLP-configuratiebestand, moet de SLP-service opnieuw gestart worden. Dit doet u door op de console van de server de opdracht rcslpd restart te geven. 4/1.4.4 SLP monitoren met slptool Naast de SLP-service is er op OES Linux ook een tool beschikbaar waarmee u kunt kijken of SLP naar behoren functioneert. Het betreft hier de vrij complexe utility slptool. Met deze tool kunt u alle mogelijke eigenschappen opvragen van services die met SLP geregistreerd zijn. Als beheerder van eDirectory zijn er echter maar twee zaken echt de moeite waard. Om te beginnen wilt u waarschijnlijk weten welke services allemaal beschikbaar zijn. Dit achterhaalt u met het commando slptool findsrvtypes. In listing 4/1.4-1 ziet u wat het resultaat van deze opdracht is op een vers geïnstalleerde OES-server. oeslin:~ # slptool findsrvtypes service:ntp service:smtp service:smdr.novell service:ldap service:bindery.novell service:ndap.novell service:wbem:https Listing 4/1.4-1 SLP-informatie opvragen met slpool.
4/1.4-4
Novell Netwerkoplossingen, aanvulling 34
Networking Services
Op het moment dat u hiermee achterhaald hebt dat er een eDirectory-service in de lucht is (dit is de service ndap. novell), kunt u met slptool findattrs service:ndap.novell meer informatie over deze service opvragen, zoals u ziet in listing 4/1.4-2. oeslin:~ # slptool findattrs service:ndap.novell (svcname-ws=LIN-TREE.),(svcaddr-ws=2-1-6-c0a801de020c000000000000000000,2-2-17c0a801de020c000000000000000000),(svcid-ws=000b0278-00000000-c000-000000000046),(version-ws=2021655-0),(nds version=2021655),(host-ws=0),(enabledws=TRUE),(scope=default) Listing 4/1.4-2 Attributen van beschikbare services opvragen met slptool.
Ook handig is dat u gewoon kunt opvragen waar op het netwerk een bepaalde service teruggevonden is. Dit doet u met de opdracht slptool findsrvs, zoals u ziet in listing 4/1.4-3. oeslin:~ # slptool findsrvs service:ndap.novell service:ndap.novell:///LIN-TREE.,555 Listing 4/1.4-3 Specifieke services zoeken met slptool.
Zoals u kunt zien als u de opdracht slptool typt zonder verdere argumenten, beschikt slptool over een flink aantal andere mogelijkheden om informatie over services op te vragen. Deze zijn echter voor het werken in een OES-omgeving minder relevant en blijven hier daarom verder buiten beschouwing.
Novell Netwerkoplossingen, aanvulling 34
4/1.4-5
IP-services
4/1.4.5 Services opnieuw registreren Een van de grootste uitdagingen bij het werken met SLP is het opnieuw registreren van services. Dit is met name aan de orde als het registratiepunt van een SLP-service tijdelijk uitgevallen is geweest. Dit kan zich voordoen als de Directory Agent uitvalt en opnieuw opstart; deze zal dan initieel geen services in de aanbieding hebben. Omdat services zelf geen contact onderhouden, zullen ze gewoon niet weten dat de DA tijdelijk uitgevallen is en derhalve ook niet opnieuw contact opnemen. Dit kan betekenen dat een service gedurende enige tijd niet bereikbaar is. Er zijn twee verschillende manieren om met dergelijke problemen om te gaan. U kunt ervoor kiezen gewoon af te wachten, uiteindelijk komen de services allemaal wel weer terug. Dat is echter niet wat u aan uw gebruikers wilt vertellen als deze gedurende langere tijd geen servers terug kunnen vinden waarop ze kunnen inloggen. Voor wat betreft eDirectory, heeft Novell recentelijk een verbetering aangebracht: recente versies van eDirectory zullen zichzelf met regelmaat opnieuw bekendmaken bij SLP. De exacte interval is afhankelijk van de versie eDirectory die u gebruikt, maar ligt in de buurt van de 13 minuten. Mocht dit te lang duren voor u, dan kunt u de betreffende service ook opnieuw opstarten. Voor veel services is dat geen al te groot probleem en weegt het ongemak als een service tijdelijk even niet beschikbaar is, ruimschoots op tegen het voordeel dat de service na korte tijd wel weer teruggevonden kan worden. Houd er rekening mee dat deze problematiek niet alleen speelt in het geval een DA tijdelijk down is geweest, maar ook in een High Availability-clusteromgeving. Het overzetten van een DA tussen twee servers betekent namelijk concreet dat de DA zijn informatie opnieuw moet opbouwen. 4/1.4-6
Novell Netwerkoplossingen, aanvulling 34
Networking Services
Het is dus zaak hier als beheerder rekening mee te houden en bij voorkeur handmatig alle services weer opnieuw te starten. 4/1.4.6 Tot slot In deze paragraaf hebt u geleerd hoe u een omgeving kunt opzetten met SLP. Zoals u ziet, hoeft werken met SLP niet heel erg ingewikkeld te zijn. Wel is het zaak dat uw omgeving op dit gebied goed is opgezet, want een falende SLPomgeving kan voor grote problemen zorgen.
Novell Netwerkoplossingen, aanvulling 34
4/1.4-7
IP-services
4/1.4-8
Novell Netwerkoplossingen, aanvulling 34