PowerScale: OneFS: Best practices voor NFS-clientinstellingen
Summary: Dit artikel beschrijft de best practices en aanbevelingen voor instellingen en koppelingsopties aan de clientzijde bij het gebruik van het NFS-protocol (Network File System) om verbinding te maken met een PowerScale cluster en is van toepassing op alle ondersteunde versies van OneFS. ...
Symptoms
OneFS: Best practices voor NFS-clientinstellingen (Network File System)
Cause
Ondersteunde protocolversies
PowerScale OneFS ondersteunt momenteel NFS (Network File System) versie 3 en 4. NFS versie 2 wordt niet ondersteund.
NFSv3
NFS versie 3 is momenteel de meest gebruikte versie van het NFS-protocol en wordt beschouwd als de breedste acceptatie door clients en indieners. Hier volgen enkele belangrijke onderdelen van deze versie:
- Stateless - Een cliënt stelt technisch gezien geen nieuwe sessie vast als hij over de juiste informatie beschikt om bestanden op te vragen, enzovoort. Dit maakt eenvoudige failover tussen OneFS-knooppunten mogelijk met behulp van dynamische IP-pools.
- Gebruikers- en groepsinformatie wordt numeriek weergegeven - Client en Server communiceren gebruikersinformatie door middel van numerieke id's, waardoor dezelfde gebruiker kan worden weergegeven als verschillende namen tussen client en server.
- Bestandsvergrendeling is out-of-band - Versie 3 van NFS gebruikt een hulpprotocol genaamd NLM om vergrendelingen uit te voeren. Hiervoor moet de client reageren op RPC-berichten van de server om te bevestigen dat vergrendelingen zijn verleend.
- Kan worden uitgevoerd via TCP of UDP - Deze versie van het protocol kan worden uitgevoerd via UDP in plaats van TCP, waardoor de afhandeling van verlies en doorgifte aan de software wordt overgelaten in plaats van aan het besturingssysteem. Dell Technologies raadt altijd het gebruik van TCP aan.
NFSv4
NFS versie 4 is de nieuwste grote revisie van het NFS-protocol en wordt steeds meer toegepast. Hier zijn enkele van de belangrijkste verschillen tussen v3 en v4.
- Stateful - NFSv4 gebruikt sessies om communicatie af te handelen, zodat zowel de client als de server de sessiestatus moeten bijhouden om te kunnen blijven communiceren.
- Vóór OneFS 8.X betekende dit dat NFSv4-clients statische IP-pools op de PowerScale nodig hadden of problemen konden ondervinden.
- Gebruikers- en groepsinformatie wordt weergegeven als tekenreeksen: zowel de client als de server moeten de namen van de opgeslagen numerieke gegevens oplossen. De server moet namen opzoeken om te presenteren, terwijl de client deze opnieuw moet toewijzen aan nummers aan zijn kant.
- Bestandsvergrendeling is in band - Versie 4 gebruikt niet langer een apart protocol voor bestandsvergrendeling, maar maakt het een type aanroep dat wordt samengesteld met OPENs, CREATES of WRITES.
- Samengestelde oproepen - Versie 4 kan een reeks oproepen bundelen in een enkel pakket, waardoor de server ze allemaal kan verwerken en aan het einde kan beantwoorden. Dit wordt gebruikt om het aantal oproepen dat betrokken is bij gemeenschappelijke operaties te verminderen.
- Ondersteunt alleen TCP - versie 4 van NFS heeft verlies en herverzending tot aan het onderliggende besturingssysteem overgelaten.
NFSv4.1 en hoger
NFSv4.1 en v4.2 zijn beschikbaar vanaf OneFS versie 9.3.
Hier is de officiële release-informatie voor 9.3:
PowerScale OneFS Info Hubs
Resolution
Montageopties
Hoewel Dell Technologies geen harde vereisten heeft voor montageopties, doet Dell Technologies enkele aanbevelingen voor de manier waarop clients verbinding maken. Dell Technologies heeft geen specifieke koppelreeksen geleverd, omdat de syntaxis die wordt gebruikt om deze opties te definiëren, varieert afhankelijk van het besturingssysteem dat wordt gebruikt. U moet de documentatie van de distributieonderhouders volgen voor de specifieke koppelsyntaxis.
PowerScale Support raadt ook de volgende whitepaper aan als primaire referentie voor NFS-clientconfiguratie met PowerScale, inclusief aanbevolen opties voor wsize/rize, kenmerkcaching en meer:
Overwegingen en best practices
voor het ontwerpen van PowerScale OneFS NFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Lees- en schrijfgrootte (rsize / wsize)
Met betrekking tot de 'wsize/rsize-opties' raadt PowerScale-ondersteuning een 'wsize' en 'rsize' van ten minste 128K aan, die is gebaseerd op onze native blokgrootte.
Voor de meeste moderne distributies van Linux raadt PowerScale Support echter aan om een instelling niet expliciet te configureren (dat wil zeggen, geef geen lees-/schrijfgrootte op in de koppelingsopties van de client) en laat de client opnieuw onderhandelen over de afstemmingen. Moderne Linux-distributies ondersteunen NFS-lees-/schrijfblokgroottes tot 1 MB en onderhandelen automatisch met de PowerScale NFS-server over de optimale blokgrootte. De onderhandelde waarden zijn ideaal voor de meeste correct geconfigureerde netwerken met hoge prestaties en lage latentie. De uitzondering zou zijn, tenzij u een toepassing of leverancier hebt die specifiek het kleinere formaat vereist.
Wanneer dit niet expliciet is ingesteld, gebruikt uw NFS-client de FSINFO-gegevens van de PowerScale NFS-server, zoals gedefinieerd in de NFS-export die is geconfigureerd op uw PowerScale cluster.
De standaardinstellingen die PowerScale biedt, zijn als volgt:
NFSv3: 512KB writes / 1MB readsNFSv4: 1MB writes/ 1MB reads
Zie pagina's 12 en 19 in de onderstaande whitepaper voor meer gedetailleerde informatie over 'rsize' en 'wsize':
Overwegingen en best practices
voor het ontwerpen van PowerScale OneFS NFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Retries en time-outs definiëren
Hoewel de PowerScale over het algemeen snel reageert op clientcommunicatie, kan het enkele seconden duren voordat de IP-adressen van een knooppunt zijn verplaatst naar een functioneel knooppunt, wanneer een knooppunt geen stroom of netwerkverbinding meer heeft. Daarom is het belangrijk om correct gedefinieerde time-outwaarden te hebben en waarden opnieuw te proberen. PowerScale raadt over het algemeen een time-out van 60 seconden aan om rekening te houden met een worst-case failoverscenario, ingesteld om het twee keer opnieuw te proberen voordat een fout wordt gemeld.
Zachte versus harde steunen
Harde bevestigingen zorgen ervoor dat de client zijn bewerkingen voor onbepaalde tijd opnieuw probeert uit te voeren bij een time-out of fout. Dit zorgt ervoor dat de client de koppeling niet loskoppelt in omstandigheden waarin het PowerScale cluster IP-adressen van het ene knooppunt naar het andere verplaatst. Een zachte koppeling zal een fout maken en de koppeling laten verlopen, waardoor een nieuwe koppeling nodig is om de toegang te herstellen nadat het IP-adres is verplaatst.
Interrupt toestaan
Standaard staat de meeste clients niet toe dat u een invoer/uitvoer- of I/O-wachttijd onderbreekt, wat betekent dat u geen gebruik kunt maken van ctrl+c om het wachtproces te beëindigen als het cluster niet meer reageert, inclusief de interrupt Met de montageoptie kunnen die signalen in plaats daarvan normaal worden doorgegeven.
Lokaal versus extern vergrendelen
Bij het koppelen van een NFS-export kunt u opgeven of een client zijn sloten lokaal genereert of met behulp van de slotcoördinator op het cluster. De meeste clients zijn standaard ingesteld op vergrendeling op afstand, en dit is over het algemeen de beste optie wanneer meerdere clients toegang hebben tot dezelfde map, maar er kunnen prestatievoordelen zijn bij het uitvoeren van lokale vergrendeling wanneer een client geen toegang hoeft te delen tot de map waarmee hij werkt. Bovendien zullen sommige databases en software u vragen om lokale vergrendeling te gebruiken, omdat ze hun eigen coördinator hebben.
Attribuutcaching (ac/noac)
Wat betreft "actieve cache-time-outs", dit wordt beschouwd als gedrag aan de clientzijde. Als gevolg hiervan doet PowerScale Support geen aanbevelingen voor deze instellingen, omdat dit afhankelijk is van wat u nodig hebt. Op pagina 22 van de onderstaande whitepaper kunnen klanten echter algemene richtlijnen vinden over deze instellingen:
Overwegingen en best practices
voor het ontwerpen van PowerScale OneFS NFShttps://infohub.delltechnologies.com/en-us/t/powerscale-onefs-nfs-design-considerations-and-best-practices-3/
Per pagina 22 van het bovenstaande:
Attribuut-caching (ac/noac)
Gebruik de noac mount optie om attribuut cachecoherentie te bereiken tussen meerdere clients. Bijna elke bewerking van het bestandssysteem controleert de informatie over bestandskenmerken. De client bewaart deze informatie enige tijd in de cache om de netwerk- en serverbelasting te verminderen. Wanneer noac van kracht is, wordt de bestandsattribuutcache van een client uitgeschakeld, zodat elke bewerking die de attributen van een bestand moet controleren, gedwongen wordt terug te gaan naar de server. Bovendien dwingt de noac-optie applicatieschrijfbewerkingen af om synchroon te worden, zodat een client wijzigingen in een bestand ziet bij het openen, ten koste van veel extra netwerkbewerkingen. Standaard is de kenmerkcaching ingeschakeld bij het koppelen van de NFS. Schakel de kenmerkcaching in om de prestaties van de kenmerkcontrole te verbeteren en de latentie van de NFS-bewerking te verminderen.
Prestaties van NFSv3 versus NFSv4
Op basis van laboratoriumtests heeft PowerScale Support geen waarneembare prestatieverschillen gevonden tussen verschillende versies van NFS in de nieuwste, ondersteunde versies van OneFS.
Additional Information
Om de wsize/rsize-waarden van een bepaalde NFS-export te zien, kunt u de volgende opdrachten uitvoeren op elk PowerScale knooppunt:
# isi nfs exports ls -v --zone <zone name>
Of om te controleren op een specifieke export-id, kunnen klanten het volgende uitvoeren:
# isi nfs export view <export id>
Voorbeeld:
Read Transfer Max Size: 1.00M Read Transfer Size: 128.00k Write Transfer Max Size: 1.00M Write Transfer Size: 512.00k