Configure an NFS client for Azure NetApp Files

Az ebben a cikkben ismertetett NFS-ügyfélkonfiguráció része a beállításnak az NFSv4.1 Kerberos-titkosítás konfigurálásakor, vagy kettős protokollú kötet vagy NFSv3/NFSv4.1 LDAP használatával történő létrehozásakor. Az Azure NetApp Fileshoz számos Linux-disztribúció érhető el. Ez a cikk a leggyakrabban használt környezetek két konfigurációját ismerteti: RHEL 8 és Ubuntu 18.04.

Követelmények és szempontok

A használt Linux-íztől függetlenül a következő konfigurációk szükségesek:

  • Konfiguráljon egy NTP-ügyfelet az időeltéréssel kapcsolatos problémák elkerülése érdekében.
  • Konfigurálja a Linux-ügyfél DNS-bejegyzéseit a névfeloldáshoz.
    Ennek a konfigurációnak tartalmaznia kell az "A" (forward) rekordot és a PTR (fordított) rekordot.
  • Tartományhoz való csatlakozáshoz hozzon létre egy számítógépfiókot a Linux-ügyfél számára a cél Active Directoryban (amely a tartományhoz való csatlakozás parancsa során jön létre).

    Megjegyzés:

    Az $SERVICEACCOUNT alábbi parancsokban használt változónak egy olyan felhasználói fióknak kell lennie, amely rendelkezik engedélyekkel vagy delegálással egy számítógépfiók létrehozásához a megcélzott szervezeti egységben.

RHEL 8-konfiguráció

Ez a szakasz az NFSv4.1 Kerberos-titkosításhoz és a kettős protokollhoz szükséges RHEL-konfigurációkat ismerteti.

Az ebben a szakaszban szereplő példák a következő tartománynevet és IP-címet használják:

  • Tartománynév: contoso.com
  • Privát IP-cím: 10.6.1.4

RHEL 8-konfiguráció NFSv4.1 Kerberos-titkosítás használata esetén

  1. Konfigurálja /etc/resolv.conf a megfelelő DNS-kiszolgálóval.

    Például:

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

  2. Adja hozzá az NFS-ügyfélrekordot a DNS-kiszolgálóhoz a DNS-továbbítási és fordított keresési zónához.

  3. A DNS ellenőrzéséhez használja az NFS-ügyfél alábbi parancsait:

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

  4. Csomagok telepítése:

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

  5. Konfigurálja az NTP-ügyfelet.

    Az RHEL 8 alapértelmezés szerint időrendet használ.

  6. Csatlakozzon az Active Directory-tartományhoz:

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

    Például:

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

    Győződjön meg arról, hogy default_realm a megadott tartományra van állítva a következőben /etc/krb5.conf: . Ha nem, adja hozzá a [libdefaults] fájl szakaszához az alábbi példában látható módon:

    [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. Indítsa újra az összes NFS-szolgáltatást:

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

    Az újraindítás megakadályozza a Kerberos-csatlakoztatás során előforduló hibaállapotot “mount.nfs: an incorrect mount option was specified” .

  8. Futtassa a kinit parancsot a felhasználói fiókkal a jegyek lekéréséhez:

    sudo kinit $SERVICEACCOUNT@DOMAIN

    Például:

    sudo kinit ad_admin@CONTOSO.COM

RHEL 8-konfiguráció kettős protokoll használata esetén

Az alábbi lépések nem kötelezőek. A lépéseket csak akkor kell végrehajtania, ha az NFS-ügyfélen használja a felhasználóleképezést:

  1. Ha NFSv4.1 Kerberos titkosítási szakaszt használ, végezze el az RHEL 8 konfigurációban leírt összes lépést.

  2. Adjon hozzá egy statikus DNS-rekordot a /etc/hosts fájlban, hogy teljes tartománynevet (FQDN) használjon az AD-hez az SSSD konfigurációs fájlban lévő IP-cím helyett:

    cat /etc/hosts
    10.6.1.4 winad2016.contoso.com

  3. Adjon hozzá egy további szakaszt a tartományokhoz az AD LDAP-kiszolgáló azonosítóinak feloldásához:

    [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

    A fenti konfigurációban [domain/contoso-ldap] :

    • id_provider értékre van állítva, ldap és nem ad.
    • A konfiguráció keresési alapokat és felhasználói és csoportosztályokat adott meg a keresésekhez.
    • ldap_sasl_authid A számítógépfiók neve a következőből: klist -kte.
    • use_fully_qualified_names beállítás értéke : false. Ez a beállítás azt jelenti, hogy a rendszer ezt a konfigurációt használja rövid név használatakor.
    • ldap_id_mapping NINCS megadva, amely alapértelmezés szerint a false.

    A realm join konfigurációt az ügyfél hozza létre, és így néz ki:

    [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

    A fenti konfigurációban [domain/contoso.com] :

    • id_provider beállítás értéke : ad.
    • ldap_id_mapping beállítás értéke : true. Az SSSD által létrehozott azonosítókat használja. Másik lehetőségként beállíthatja ezt az értéket false , ha POSIX felhasználói azonosítókat szeretne használni minden felhasználónévstílushoz. Az értéket az ügyfélkonfiguráció alapján határozhatja meg.
    • use_fully_qualified_names az true. Ez a beállítás azt jelenti, hogy user@CONTOSO.COM ezt a konfigurációt fogja használni.
  4. Győződjön meg arról, hogy /etc/nsswitch.conf rendelkezik a bejegyzéssel sss :

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

  5. Indítsa újra a szolgáltatást, és törölje a sssd gyorsítótárat:

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

  6. Ellenőrizze, hogy az ügyfél integrálva van-e az LDAP-kiszolgálóval:

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

Ubuntu-konfiguráció

Ez a szakasz az NFSv4.1 Kerberos-titkosításhoz és a kettős protokollhoz szükséges Ubuntu-konfigurációkat ismerteti.

Az ebben a szakaszban szereplő példák a következő tartománynevet és IP-címet használják:

  • Tartománynév: contoso.com
  • Privát IP-cím: 10.6.1.4
  1. Konfigurálás /etc/resolv.conf a megfelelő DNS-kiszolgálóval:

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

  2. Adja hozzá az NFS-ügyfélrekordot a DNS-kiszolgálóhoz a DNS-továbbítási és fordított keresési zónához.

    A DNS ellenőrzéséhez használja az NFS-ügyfél alábbi parancsait:

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

  3. Csomagok telepítése:

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

    Amikor a rendszer kéri, a bemenet $DOMAIN.NAME (például CONTOSO.COMnagybetűvel) az alapértelmezett Kerberos-tartomány.

  4. Indítsa újra a szolgáltatást rpc-gssd.service:

    sudo systemctl start rpc-gssd.service

  5. Az Ubuntu 18.04 alapértelmezés szerint időrendet használ. Az Ubuntu Bionic konfigurációs irányelveit követve: Az NTP konfigurálásának időrendi beállítása.

  6. Csatlakozzon az Active Directory-tartományhoz:

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

    Például:
    sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"

  7. Végezze el kinit a felhasználóval a jegyek lekérését:

    sudo kinit $SERVICEACCOUNT

    Például:
    sudo kinit ad_admin

Ubuntu-konfiguráció kettős protokoll használata esetén

Az alábbi lépések nem kötelezőek. A lépéseket csak akkor kell végrehajtania, ha az NFS-ügyfélen szeretné használni a felhasználóleképezést:

  1. Futtassa a következő parancsot a telepített csomagok frissítéséhez:
    sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscd

    Az alábbi példa mintaértékeket használ. Amikor a parancssor bemenetet kér, a környezete alapján kell megadnia a bemenetet.

    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. Győződjön meg arról, hogy a /etc/nsswitch.conf fájl a következő ldap bejegyzésekkel rendelkezik:
    passwd: compat systemd ldap
    group: compat systemd ldap

  3. Futtassa a következő parancsot a szolgáltatás újraindításához és engedélyezéséhez:

    sudo systemctl restart nscd && sudo systemctl enable nscd

Az alábbi példa lekérdezi az AD LDAP-kiszolgálót az Ubuntu LDAP-ügyfélről egy LDAP-felhasználó ‘hari1’számára:

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

Konfiguráljon két azonos gazdagépnévvel rendelkező virtuális gépet az NFSv4.1 kötetek eléréséhez

Ez a szakasz azt ismerteti, hogyan konfigurálhat két olyan virtuális gépet, amelyek gazdaneve megegyezik az Azure NetApp Files NFSv4.1 köteteinek eléréséhez. Ez az eljárás akkor lehet hasznos, ha vészhelyreállítási (DR) tesztet végez, és olyan tesztrendszert igényel, amelynek gazdaneve megegyezik az elsődleges DR-rendszerrel. Ez az eljárás csak akkor szükséges, ha ugyanazzal a gazdagépnével rendelkezik két olyan virtuális gépen, amelyek ugyanazt az Azure NetApp Files-kötetet érik el.

Az NFSv4.x megköveteli, hogy minden ügyfél egyedi sztringgel azonosítsa magát a kiszolgálókon. Az egy ügyfél és egy kiszolgáló között megosztott fájlmegnyitási és zárolási állapot ehhez az identitáshoz van társítva. A robusztus NFSv4.x állapot-helyreállítás és a transzparens állapotmigrálás támogatása érdekében ez az identitássztring nem változhat az ügyfél újraindítása során.

  1. A következő paranccsal jelenítse meg a nfs4_unique_id sztringet a virtuálisgép-ügyfeleken:

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

    Ha ugyanazt a kötetet egy másik virtuális gépre szeretné csatlakoztatni ugyanazzal a gazdagépnévvel, például a DR-rendszeren, hozzon létre egy olyan kötetet nfs4_unique_id , amely egyedileg azonosítja magát az Azure NetApp Files NFS szolgáltatásban. Ezzel a lépéssel a szolgáltatás különbséget tesz a két azonos gazdagépnévvel rendelkező virtuális gép között, és engedélyezheti az NFSv4.1 kötetek csatlakoztatását mindkét virtuális gépen.

    Ezt a lépést csak a teszt DR rendszeren kell végrehajtania. A konzisztencia érdekében érdemes lehet egyedi beállítást alkalmazni az egyes érintett virtuális gépeken.

  2. A teszt DR rendszeren adja hozzá a következő sort a fájlhoz, amely általában a nfsclient.conf következő helyen /etc/modprobe.d/található:

    options nfs nfs4_unique_id=uniquenfs4-1

    A sztring uniquenfs4-1 bármilyen alfanumerikus sztring lehet, amennyiben egyedi a szolgáltatáshoz csatlakoztatni kívánt virtuális gépeken.

    Tekintse meg a terjesztési dokumentációt az NFS-ügyfélbeállítások konfigurálásáról.

    Indítsa újra a virtuális gépet a módosítás érvénybe lépéséhez.

  3. A teszt DR rendszeren ellenőrizze, hogy nfs4_unique_id a virtuális gép újraindítása után be van-e állítva:

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

  4. Csatlakoztassa az NFSv4.1 kötetet mindkét virtuális gépen a szokásos módon.

    Az azonos gazdagépnévvel rendelkező virtuális gépek mostantól csatlakoztathatják és elérhetik az NFSv4.1 kötetet.

További lépések