Dela via


Konfigurera en NFS-klient för Azure NetApp Files

NFS-klientkonfigurationen som beskrivs i den här artikeln är en del av konfigurationen när du konfigurerar NFSv4.1 Kerberos-kryptering eller skapar en volym med dubbla protokoll eller NFSv3/NFSv4.1 med LDAP. Det finns en mängd olika Linux-distributioner att använda med Azure NetApp Files. I den här artikeln beskrivs konfigurationer för två av de vanligaste miljöerna: RHEL 8 och Ubuntu 18.04.

Krav och överväganden

Oavsett vilken Linux-smak du använder krävs följande konfigurationer:

  • Konfigurera en NTP-klient för att undvika problem med tidsförskjutning.
  • Konfigurera DNS-poster för Linux-klienten för namnmatchning.
    Den här konfigurationen måste innehålla posten "A" (framåt) och PTR-posten (omvänd).
  • För domänanslutning skapar du ett datorkonto för Linux-klienten i active directory-målet (som skapas under kommandot realm join).

    Kommentar

    Variabeln $SERVICEACCOUNT som används i kommandona nedan bör vara ett användarkonto med behörigheter eller delegering för att skapa ett datorkonto i den riktade organisationsenheten.

RHEL 8-konfiguration

I det här avsnittet beskrivs DE RHEL-konfigurationer som krävs för NFSv4.1 Kerberos-kryptering och dubbla protokoll.

Exemplen i det här avsnittet använder följande domännamn och IP-adress:

  • Domännamn: contoso.com
  • Privat IP-adress: 10.6.1.4

RHEL 8-konfiguration om du använder NFSv4.1 Kerberos-kryptering

  1. Konfigurera /etc/resolv.conf med rätt DNS-server.

    Till exempel:

    [root@reddoc cbs]# cat /etc/resolv.conf
    search contoso.com
    nameserver 10.6.1.4(private IP)

  2. Lägg till NFS-klientposten i DNS-servern för dns-zonen vidarebefordran och omvänd sökning.

  3. Kontrollera DNS genom att använda följande kommandon från NFS-klienten:

    # nslookup [hostname/FQDN of NFS client(s)]
    # nslookup [IP address of NFS client(s)]

  4. Installera paket:

    yum update
    sudo yum -y install realmd sssd adcli samba-common krb5-workstation chrony nfs-utils

  5. Konfigurera NTP-klienten.

    RHEL 8 använder krona som standard.

  6. Anslut till Active Directory-domänen:

    sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"

    Till exempel:

    sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"

    Se till att default_realm är inställt på den angivna sfären i /etc/krb5.conf. Annars lägger du till den under [libdefaults] avsnittet i filen enligt följande exempel:

    [libdefaults]
        default_realm = CONTOSO.COM
        default_tkt_enctypes = aes256-cts-hmac-sha1-96
        default_tgs_enctypes = aes256-cts-hmac-sha1-96
        permitted_enctypes = aes256-cts-hmac-sha1-96
    [realms]
        CONTOSO.COM = {
            kdc = dc01.contoso.com
            admin_server = dc01.contoso.com
            master_kdc = dc01.contoso.com
            default_domain = contoso.com
        }
    [domain_realm]
        .contoso.com = CONTOSO.COM
        contoso.com = CONTOSO.COM
    [logging]
        kdc = SYSLOG:INFO
        admin_server = FILE=/var/kadm5.log
    
  7. Starta om alla NFS-tjänster:

    systemctl start nfs-*
    systemctl restart rpc-gssd.service

    Omstarten förhindrar feltillståndet “mount.nfs: an incorrect mount option was specified” under Kerberos-monteringen.

  8. kinit Kör kommandot med användarkontot för att hämta biljetter:

    sudo kinit $SERVICEACCOUNT@DOMAIN

    Till exempel:

    sudo kinit ad_admin@CONTOSO.COM

RHEL 8-konfiguration om du använder dubbla protokoll

Följande steg är valfria. Du behöver bara utföra stegen om du använder användarmappning på NFS-klienten:

  1. Slutför alla steg som beskrivs i RHEL 8-konfigurationen om du använder avsnittet NFSv4.1 Kerberos-kryptering .

  2. Lägg till en statisk DNS-post i filen /etc/hosts för att använda fullständigt kvalificerat domännamn (FQDN) för din AD i stället för att använda IP-adressen i SSSD-konfigurationsfilen:

    cat /etc/hosts
    10.6.1.4 winad2016.contoso.com

  3. Lägg till ett extra avsnitt för domäner för att matcha identifierare från AD LDAP-servern:

    [root@reddoc cbs]# cat /etc/sssd/sssd.conf
    [sssd]
    domains = contoso.com, contoso-ldap (new entry added for LDAP as id_provider)
    config_file_version = 2
    services = nss, pam, ssh, sudo (ensure nss is present in this list)

    [domain/contoso-ldap] (Copy the following lines. Modify as per your domain name.)
    auth_provider = krb5
    chpass_provider = krb5
    id_provider = ldap
    ldap_search_base = dc=contoso,dc=com(your domain)
    ldap_schema = rfc2307bis
    ldap_sasl_mech = GSSAPI
    ldap_user_object_class = user
    ldap_group_object_class = group
    ldap_user_home_directory = unixHomeDirectory
    ldap_user_principal = userPrincipalName
    ldap_account_expire_policy = ad
    ldap_force_upper_case_realm = true
    ldap_user_search_base = cn=Users,dc=contoso,dc=com (based on your domain)
    ldap_group_search_base = cn=Users,dc=contoso,dc=com (based on your domain)
    ldap_sasl_authid = REDDOC$ (ensure $ at the end you can get this from “klist -kte” command)
    krb5_server = winad2016.contoso.com (same as AD address which is added in /etc/hosts)
    krb5_realm = CONTOSO.COM (domain name in caps)
    krb5_kpasswd = winad2016.contoso.com (same as AD address which is added in /etc/hosts)
    use_fully_qualified_names = false

    I konfigurationen [domain/contoso-ldap] ovan:

    • id_provider är inställt på ldap och inte ad.
    • Konfigurationen har angett sökbaser och användar- och gruppklasser för sökningar.
    • ldap_sasl_authid är datorkontonamnet från klist -kte.
    • use_fully_qualified_names är inställt på false. Den här inställningen innebär att den här konfigurationen används när ett kort namn används.
    • ldap_id_mapping har INTE angetts, vilket är standardvärdet false.

    Konfigurationen realm join genereras av klienten och ser ut så här:

    [domain/contoso.com] (Do not edit or remove any of the following information. This information is automatically generated during the realm join process.)
    ad_domain = contoso.com
    krb5_realm = CONTOSO.COM
    realmd_tags = manages-system joined-with-adcli
    cache_credentials = True
    id_provider = ad
    krb5_store_password_if_offline = True
    default_shell = /bin/bash
    ldap_id_mapping = True
    use_fully_qualified_names = True
    fallback_homedir = /home/%u@%d
    access_provider = ad

    I konfigurationen [domain/contoso.com] ovan:

    • id_provider är inställt på ad.
    • ldap_id_mapping är inställt på true. Den använder de SSSD-genererade ID:erna. Alternativt kan du ange det här värdet till false om du vill använda POSIX-användargränssnitt för ALLA format med användarnamn. Du kan fastställa värdet baserat på klientkonfigurationen.
    • use_fully_qualified_names är true. Den här inställningen innebär user@CONTOSO.COM att den här konfigurationen används.
  4. Kontrollera att du /etc/nsswitch.conf har sss posten:

    cat /etc/nsswitch.conf
    passwd: sss files systemd
    group: sss files systemd
    netgroup: sss files

  5. sssd Starta om tjänsten och rensa cacheminnet:

    service sssd stop
    rm -f /var/lib/sss/db/*
    service sssd start

  6. Testa för att säkerställa att klienten är integrerad med LDAP-servern:

    [root@red81 cbs]# id ldapuser1
    uid=1234(ldapuser1) gid=1111(ldapgroup1) groups=1111(ldapgroup1)

Ubuntu-konfiguration

I det här avsnittet beskrivs Ubuntu-konfigurationer som krävs för NFSv4.1 Kerberos-kryptering och dubbla protokoll.

Exemplen i det här avsnittet använder följande domännamn och IP-adress:

  • Domännamn: contoso.com
  • Privat IP-adress: 10.6.1.4
  1. Konfigurera /etc/resolv.conf med rätt DNS-server:

    root@ubuntu-rak:/home/cbs# cat /etc/resolv.conf
    search contoso.com
    nameserver <private IP address of DNS server>

  2. Lägg till NFS-klientpost i DNS-servern för dns-zonen vidarebefordra och omvänd sökning.

    Kontrollera DNS genom att använda följande kommandon från NFS-klienten:

    # nslookup [hostname/FQDN of NFS client(s)]
    # nslookup [IP address of NFS client(s)]

  3. Installera paket:

    apt-get update
    apt-get install -y realmd packagekit sssd adcli samba-common chrony krb5-user nfs-common

    När du uppmanas till det anger du $DOMAIN.NAME (med versaler, CONTOSO.COMtill exempel ) som standard-Kerberos-sfär.

  4. Starta om tjänsten rpc-gssd.service:

    sudo systemctl start rpc-gssd.service

  5. Ubuntu 18.04 använder krona som standard. Följ konfigurationsriktlinjerna i Ubuntu Bionic: Använda chrony för att konfigurera NTP.

  6. Anslut till Active Directory-domänen:

    sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"

    Till exempel:
    sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"

  7. Utför kinit med användaren för att hämta biljetter:

    sudo kinit $SERVICEACCOUNT

    Till exempel:
    sudo kinit ad_admin

Ubuntu-konfiguration om du använder dubbla protokoll

Följande steg är valfria. Du behöver bara utföra stegen om du vill använda användarmappning på NFS-klienten:

  1. Kör följande kommando för att uppgradera de installerade paketen:
    sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

    I följande exempel används exempelvärden. När kommandot frågar efter indata bör du ange indata baserat på din miljö.

    base dc=contoso,dc=com uri ldap://10.20.0.4:389/ ldap_version 3 rootbinddn cn=admin,cn=Users,dc=contoso,dc=com pam_password ad

  2. Kontrollera att /etc/nsswitch.conf filen har följande ldap poster:
    passwd: compat systemd ldap
    group: compat systemd ldap

  3. Kör följande kommando för att starta om och aktivera tjänsten:

    sudo systemctl restart nscd && sudo systemctl enable nscd

Följande exempel frågar AD LDAP-servern från Ubuntu LDAP-klienten för en LDAP-användare ‘hari1’:

root@cbs-k8s-varun4-04:/home/cbs# getent passwd hari1
hari1:*:1237:1237:hari1:/home/hari1:/bin/bash

Konfigurera två virtuella datorer med samma värdnamn för åtkomst till NFSv4.1-volymer

I det här avsnittet beskrivs hur du kan konfigurera två virtuella datorer som har samma värdnamn för åtkomst till Azure NetApp Files NFSv4.1-volymer. Den här proceduren kan vara användbar när du utför ett haveriberedskapstest (DR) och kräver ett testsystem med samma värdnamn som det primära DR-systemet. Den här proceduren krävs bara när du har samma värdnamn på två virtuella datorer som har åtkomst till samma Azure NetApp Files-volymer.

NFSv4.x kräver att varje klient identifierar sig för servrar med en unik sträng. Filöppnings- och låstillstånd som delas mellan en klient och en server är associerat med den här identiteten. För att stödja robust NFSv4.x-tillståndsåterställning och transparent tillståndsmigrering får den här identitetssträngen inte ändras mellan klientomstarter.

  1. Visa strängen nfs4_unique_id på de virtuella datorklienterna med hjälp av följande kommando:

    # systool -v -m nfs | grep -i nfs4_unique
    nfs4_unique_id = ""

    Om du vill montera samma volym på en ytterligare virtuell dator med samma värdnamn, till exempel DR-systemet, skapar du en nfs4_unique_id så att den unikt kan identifiera sig för Azure NetApp Files NFS-tjänsten. Med det här steget kan tjänsten skilja mellan de två virtuella datorerna med samma värdnamn och aktivera montering av NFSv4.1-volymer på båda de virtuella datorerna.

    Du behöver endast utföra det här steget på test-DR-systemet. För konsekvens kan du överväga att tillämpa en unik inställning på varje berörd virtuell dator.

  2. I test-DR-systemet lägger du till följande rad i nfsclient.conf filen, som vanligtvis finns i /etc/modprobe.d/:

    options nfs nfs4_unique_id=uniquenfs4-1

    Strängen uniquenfs4-1 kan vara valfri alfanumerisk sträng, så länge den är unik för de virtuella datorer som ska anslutas till tjänsten.

    Kontrollera distributionens dokumentation om hur du konfigurerar NFS-klientinställningar.

    Starta om den virtuella datorn för att ändringen ska börja gälla.

  3. Kontrollera att nfs4_unique_id har angetts efter omstarten av den virtuella datorn på testdatorn:

    # systool -v -m nfs | grep -i nfs4_unique
    nfs4_unique_id = "uniquenfs4-1"

  4. Montera NFSv4.1-volymen på båda de virtuella datorerna som vanligt.

    Båda de virtuella datorerna med samma värdnamn kan nu montera och komma åt NFSv4.1-volymen.

Nästa steg