Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Konfigurace klienta NFS popsaná v tomto článku je součástí nastavení při konfiguraci šifrování Kerberos NFSv4.1 nebo vytvoření svazku s duálním protokolem nebo NFSv3/NFSv4.1 s protokolem LDAP. Pro použití se službou Azure NetApp Files je k dispozici široká škála linuxových distribucí. Tento článek popisuje konfigurace pro dvě z běžně používaných prostředí: RHEL 8 a Ubuntu 18.04.
Požadavky a důležité informace
Bez ohledu na to, kterou variantu Linuxu používáte, jsou vyžadovány následující konfigurace:
- Nakonfigurujte klienta NTP, aby nedocházelo k problémům se nerovnoměrnou distribuci času.
- Nakonfigurujte položky DNS klienta Linuxu pro rozlišení názvů.
Tato konfigurace musí obsahovat záznam "A" (forward) a záznam PTR (reverse). - Pro připojení k doméně vytvořte účet počítače pro klienta s Linuxem v cílové službě Active Directory (který se vytvoří během příkazu připojení k sférě).
Poznámka:
Proměnná
$SERVICEACCOUNTpoužitá v následujících příkazech by měla být uživatelský účet s oprávněními nebo delegováním k vytvoření účtu počítače v cílové organizační jednotce.
Konfigurace RHEL 8
Tato část popisuje konfigurace RHEL vyžadované pro šifrování Kerberos NFSv4.1 a duální protokol.
Příklady v této části používají následující název domény a IP adresu:
- Název domény:
contoso.com - Privátní IP adresa:
10.6.1.4
Konfigurace RHEL 8, pokud používáte šifrování Kerberos NFSv4.1
Nakonfigurujte
/etc/resolv.confs vhodným serverem DNS.Příklad:
[root@reddoc cbs]# cat /etc/resolv.conf
search contoso.com
nameserver 10.6.1.4(private IP)Přidejte záznam NFS klienta na server DNS pro zónu předávání a zpětného vyhledávání DNS.
K ověření DNS použijte následující příkazy z klienta systému souborů NFS:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Instalační balíčky:
yum update
sudo yum -y install realmd sssd adcli samba-common krb5-workstation chrony nfs-utilsNakonfigurujte klienta NTP.
RHEL 8 používá
chronyve výchozím nastavení.Připojte se k doméně služby Active Directory:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Příklad:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Ujistěte se, že
default_realmje nastavená na zadanou sféru v/etc/krb5.conf. Pokud ne, přidejte ho do oddílu[libdefaults]v souboru, jak je znázorněno v následujícím příkladu:[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.logRestartujte všechny služby NFS:
systemctl start nfs-*
systemctl restart rpc-gssd.serviceRestartování zabraňuje chybovému stavu
“mount.nfs: an incorrect mount option was specified”během připojení Kerberos.Spuštěním
kinitpříkazu s uživatelským účtem získejte lístky:sudo kinit $SERVICEACCOUNT@DOMAINPříklad:
sudo kinit ad_admin@CONTOSO.COM
Konfigurace RHEL 8, pokud používáte duální protokol
Následující kroky jsou volitelné. Tento postup je potřeba provést pouze v případě, že v klientovi NFS používáte mapování uživatelů:
Pokud používáte část šifrování Kerberos NFSv4.1, proveďte všechny kroky popsané v konfiguraci RHEL 8.
Přidejte do souboru /etc/hosts statický záznam DNS pro použití plně kvalifikovaného názvu domény (FQDN) pro vaši službu AD místo použití IP adresy v konfiguračním souboru SSSD:
cat /etc/hosts
10.6.1.4 winad2016.contoso.comPřidejte další sekci pro domény k vyřešení identifikátorů ze serveru AD LDAP.
[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[domain/contoso-ldap]V konfiguraci výše:-
id_providerje nastavena naldapa nikoliad. - Konfigurace určila vyhledávací základny a třídy uživatelů a skupin pro vyhledávání.
-
ldap_sasl_authidje název účtu počítače zklist -kte. -
use_fully_qualified_namesje nastaveno nafalse. Toto nastavení znamená, že se tato konfigurace používá při použití krátkého názvu. -
ldap_id_mappingnení zadáno, což je výchozí hodnotafalse.
Konfigurace
realm joinse vygeneruje klientem a vypadá takto:[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[domain/contoso.com]V konfiguraci výše:-
id_providerje nastaveno naad. -
ldap_id_mappingje nastaveno natrue. Používá ID vygenerovaná SSSD. Tuto hodnotufalsemůžete také nastavit, pokud chcete pro všechny styly uživatelských jmen použít identifikátory UŽIVATELSKÉHO rozhraní POSIX. Hodnotu můžete určit na základě konfigurace klienta. -
use_fully_qualified_namesjetrue. Toto nastavení znamenáuser@CONTOSO.COM, že tuto konfiguraci použije.
-
Ujistěte se, že
/etc/nsswitch.confmá položkusss:cat /etc/nsswitch.conf
passwd: sss files systemd
group: sss files systemd
netgroup: sss filessssdRestartujte službu a vymažte mezipaměť:service sssd stop
rm -f /var/lib/sss/db/*
service sssd startOtestujte, jestli je váš klient integrovaný se serverem LDAP:
[root@red81 cbs]# id ldapuser1
uid=1234(ldapuser1) gid=1111(ldapgroup1) groups=1111(ldapgroup1)
Konfigurace Ubuntu
Tato část popisuje konfigurace Ubuntu vyžadované pro šifrování Kerberos NFSv4.1 a duální protokol.
Příklady v této části používají následující název domény a IP adresu:
- Název domény:
contoso.com - Privátní IP adresa:
10.6.1.4
Nakonfigurujte
/etc/resolv.confsprávný server DNS:root@ubuntu-rak:/home/cbs# cat /etc/resolv.conf
search contoso.com
nameserver <private IP address of DNS server>Přidejte záznam klienta NFS na server DNS pro zónu předávání a zpětného vyhledávání DNS.
K ověření DNS použijte následující příkazy z klienta systému souborů NFS:
# nslookup [hostname/FQDN of NFS client(s)]
# nslookup [IP address of NFS client(s)]Instalační balíčky:
apt-get update
apt-get install -y realmd packagekit sssd adcli samba-common chrony krb5-user nfs-commonPo zobrazení výzvy zadejte jako výchozí sféru Kerberos (
$DOMAIN.NAMEnapříkladCONTOSO.COMvelká písmena).Restartujte službu
rpc-gssd.service:sudo systemctl start rpc-gssd.serviceUbuntu 18.04 používá
chronyve výchozím nastavení. Postupujte podle pokynů konfigurace v Ubuntu Bionic: Použití chrony ke konfiguraci NTP.Připojte se k doméně služby Active Directory:
sudo realm join $DOMAIN.NAME -U $SERVICEACCOUNT --computer-ou="OU=$YOUROU"Příklad:
sudo realm join CONTOSO.COM -U ad_admin --computer-ou="CN=Computers"Pokud chcete získat lístky, proveďte
kinits uživatelem:sudo kinit $SERVICEACCOUNTPříklad:
sudo kinit ad_admin
Konfigurace Ubuntu, pokud používáte duální protokol
Následující kroky jsou volitelné. Tento postup je potřeba provést pouze v případě, že chcete použít mapování uživatelů v klientovi NFS:
Spuštěním následujícího příkazu upgradujte nainstalované balíčky:
sudo apt update && sudo apt install libnss-ldap libpam-ldap ldap-utils nscdNásledující příklad používá ukázkové hodnoty. Když vás příkaz vyzve k zadání, měli byste zadat vstup na základě vašeho prostředí.
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 adUjistěte se, že soubor
/etc/nsswitch.confobsahuje následujícíldappoložky:
passwd: compat systemd ldap
group: compat systemd ldapSpuštěním následujícího příkazu restartujte službu a povolte ji:
sudo systemctl restart nscd && sudo systemctl enable nscd
Následující příklad se dotazuje na server AD LDAP z klienta Ubuntu LDAP pro uživatele LDAP ‘hari1’:
root@cbs-k8s-varun4-04:/home/cbs# getent passwd hari1
hari1:*:1237:1237:hari1:/home/hari1:/bin/bash
Konfigurace dvou virtuálních počítačů se stejným názvem hostitele pro přístup ke svazkům NFSv4.1
Tato část vysvětluje, jak nakonfigurovat dva virtuální počítače se stejným názvem hostitele pro přístup ke svazkům Azure NetApp Files NFSv4.1. Tento postup může být užitečný při provádění testu zotavení po havárii (DR) a vyžaduje testovací systém se stejným názvem hostitele jako primární systém zotavení po havárii. Tento postup se vyžaduje jenom v případě, že máte stejný název hostitele na dvou virtuálních počítačích, které přistupují ke stejným svazkům Azure NetApp Files.
NFSv4.x vyžaduje, aby se každý klient identifikoval na servery s jedinečným řetězcem. K této identitě je přidružen stav otevření a uzamčení souboru sdílený mezi jedním klientem a jedním serverem. Aby bylo možné podporovat robustní obnovení stavu NFSv4.x a transparentní migraci stavu, nesmí se tento řetězec identity během restartování klienta měnit.
Zobrazte řetězec
nfs4_unique_idna klientech virtuálních počítačů pomocí následujícího příkazu:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = ""Pokud chcete připojit stejný svazek k dalšímu virtuálnímu počítači se stejným názvem hostitele, například systém pro obnovu po havárii, vytvořte
nfs4_unique_id, aby se mohl službě Azure NetApp Files NFS jednoznačně identifikovat. Tento krok umožňuje službě rozlišovat mezi těmito dvěma virtuálními počítači se stejným názvem hostitele a povolit připojení svazků NFSv4.1 na obou virtuálních počítačích.Tento krok musíte provést pouze v testovacím systému zotavení po havárii. Pro konzistenci můžete zvážit použití jedinečného nastavení na každém zapojeném virtuálním počítači.
V testovacím DR systému přidejte do souboru
nfsclient.confnásledující řádek, obvykle umístěný v/etc/modprobe.d/:options nfs nfs4_unique_id=uniquenfs4-1Řetězec
uniquenfs4-1může být libovolný alfanumerický řetězec, pokud je jedinečný napříč virtuálními počítači, které se mají ke službě připojit.Projděte si dokumentaci k distribuci o tom, jak nakonfigurovat nastavení klienta NFS.
Restartujte virtuální počítač, aby se změna projevila.
V testovacím DR systému ověřte, že
nfs4_unique_idje nastaven po restartu VM:# systool -v -m nfs | grep -i nfs4_unique
nfs4_unique_id = "uniquenfs4-1"Připojte svazek NFSv4.1 k oběma virtuálním počítačům obvyklým způsobem.
Oba virtuální počítače se stejným názvem hostitele teď můžou připojit a přistupovat ke svazku NFSv4.1.