Udostępnij za pośrednictwem


Błędy podczas instalowania udziału plików platformy Azure

Ten artykuł zawiera możliwe przyczyny i rozwiązania błędów powodujących niepowodzenie instalowania udziału plików platformy Azure.

Symptomy

Wdrożenie zasobu Kubernetes, takiego jak Deployment lub StatefulSet, odbywa się w środowisku Azure Kubernetes Service (AKS). Wdrożenie spowoduje utworzenie zasobnika, który instaluje element PersistentVolumeClaim (PVC) odwołujący się do udziału pliku na platformie Azure.

Jednak zasobnik pozostaje w stanie ContainerCreating. Po uruchomieniu kubectl describe pods polecenia może zostać wyświetlony jeden z następujących błędów w danych wyjściowych polecenia, co powoduje niepowodzenie operacji instalowania:

Zapoznaj się z następującymi przykładowymi danymi wyjściowymi:

MountVolume.MountDevice failed for volume "\<pv-fileshare-name>"
rpc error: code = Internal desc =
volume(\<storage-account's-resource-group>#\<storage-account-name>#\<pv/fileshare-name>#) > mount "//\<storage-account-name>.file.core.windows.net/\<pv-fileshare-name>" on "/var/lib/kubelet/plugins/kubernetes.io/csi/pv/\<pv-fileshare-name>/globalmount" failed with
mount failed: exit status 32
Mounting command: mount
Mounting arguments: -t cifs -o dir_mode=0777,file_mode=0777,uid=0,gid=0,mfsymlinks,cache=strict,actimeo=30,\<masked> //\<storage-account-name>.file.core.windows.net/\<pv-name> /var/lib/kubelet/plugins/kubernetes.io/csi/pv/\<pv-name>/globalmount
Output: mount error(\<error-id>): \<error-description>
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

Uwaga 16.

  • Jeśli konto magazynu jest publicznie dostępne, nazwa hosta wyświetlana w danych wyjściowych będzie mieć wartość storage-account-name.file.core.windows.net>.<
  • Jeśli konto magazynu jest skonfigurowane prywatnie przy użyciu łącza prywatnego, punktu końcowego lub strefy DNS, nazwa hosta będzie mieć nazwę-konta magazynu.privatelink.file.core.windows.net>.<

Przed rozpoczęciem rozwiązywania problemów

Zgodnie z informacjami w danych wyjściowych, jak pokazano w tym przykładzie, zidentyfikuj konto magazynu i udział plików — te wartości będą używane w kolejnych krokach rozwiązywania problemów.

zainstaluj plik "//<storage-account-name.file.core.windows.net/>< pv-fileshare-name>"

Zapoznaj się z poniższymi sekcjami, aby uzyskać informacje o możliwych przyczynach i rozwiązaniach.

Błąd instalacji (2): Nie ma takiego pliku lub katalogu

Ten błąd wskazuje, że nie ma łączności między klastrem usługi AKS a kontem magazynu.

Początkowe rozwiązywanie problemów

Usługa Azure Files bazuje na protokole SMB (port 445). Upewnij się, że port 445 i/lub adres IP konta magazynu nie są blokowane.

Aby sprawdzić adres IP konta magazynu, uruchom polecenie systemu nazw domen (DNS) takie jak nslookup, dig lub host. Na przykład:

nslookup <storage-account-name>.file.core.windows.net

Aby sprawdzić, czy istnieje łączność między klastrem usługi AKS a kontem magazynu, przejdź do węzła lub zasobnika i uruchom następujące polecenie nc lub telnet:

nc -v -w 2 <storage-account-name>.file.core.windows.net 445
telnet <storage-account-name>.file.core.windows.net 445

Możliwe przyczyny błędu instalacji (2)

Uwaga 16.

  • Przyczyny 1, 2 i 4 dotyczą scenariuszy z publicznymi i prywatnymi kontami magazynu.
  • Przyczyna 3 dotyczy tylko scenariusza z dostępem publicznym.

Przyczyna 1: Udział plików nie istnieje

Aby sprawdzić, czy udział plików istnieje, wykonaj następujące kroki:

  1. Wyszukaj konta usługi Storage w witrynie Azure Portal i uzyskaj dostęp do konta magazynu.

    Zrzut ekranu przedstawiający listę kont magazynu w witrynie Azure Portal.

  2. Wybierz pozycję Udziały plików w obszarze Magazyn danych na koncie magazynu i sprawdź, czy skojarzony plik PersistentVolumeClaim w pliku yaml zasobnika, wdrożenia lub stanu istnieje w udziałach plików.

    Zrzut ekranu przedstawiający wybieranie udziałów plików na koncie magazynu.

Rozwiązanie: Upewnij się, że udział plików istnieje

Aby rozwiązać ten problem, upewnij się, że udział plików skojarzony z woluminem trwałym/oświadczeniem woluminu trwałego istnieje.

Przyczyna 2: Sieciowa grupa zabezpieczeń blokuje ruch między usługą AKS a kontem magazynu

Sprawdź dane wyjściowe nc polecenia lub telnet wymienione w sekcji Początkowe rozwiązywanie problemów. Jeśli zostanie wyświetlone przekroczenie limitu czasu, sprawdź sieciową grupę zabezpieczeń i upewnij się, że adres IP konta magazynu nie jest zablokowany.

Aby sprawdzić, czy sieciowa grupa zabezpieczeń blokuje adres IP konta magazynu, wykonaj następujące kroki:

  1. W witrynie Azure Portal przejdź do usługi Network Watcher i wybierz pozycję Diagnostyka sieciowej grupy zabezpieczeń.

  2. Wypełnij pola przy użyciu następujących wartości:

    • Protokół: dowolny
    • Kierunek: Wychodzący
    • Typ źródła: adres IPv4/CIDR
    • Adres IPv4/CIDR: adres IP wystąpienia skojarzonego z węzłem usługi AKS
    • Docelowy adres IP: adres IP konta magazynu
    • Port docelowy: 445
  3. Wybierz przycisk Sprawdź i sprawdź stan ruchu.

Stan ruchu może mieć wartość Dozwolone lub Odrzucone. Stan Odmowa oznacza, że sieciowa grupa zabezpieczeń blokuje ruch między klastrem AKS a kontem magazynu. Jeśli stan zostanie odrzucony, zostanie wyświetlona nazwa sieciowej grupy zabezpieczeń.

Rozwiązanie: Zezwól na łączność między usługą AKS a kontem magazynu

Aby rozwiązać ten problem, wprowadź odpowiednie zmiany na poziomie sieciowej grupy zabezpieczeń w celu umożliwienia łączności między klastrem usługi AKS a kontem magazynu na porcie 445.

Przyczyna 3: Urządzenie wirtualne blokuje ruch między usługą AKS a kontem magazynu

Jeśli używasz urządzenia wirtualnego (zwykle zapory) do kontrolowania ruchu wychodzącego klastra usługi AKS (np. urządzenie wirtualne ma tabelę routingu zastosowaną w podsieci klastra usługi AKS, a tabela ta zawiera trasy wysyłające ruch do urządzenia wirtualnego), urządzenie wirtualne może blokować ruch między klastrem usługi AKS a kontem magazynu.

Aby odizolować problem, dodaj trasę w tabeli routingu dla adresu IP konta magazynu w celu wysłania ruchu do Internetu.

Aby ustalić, która tabela routingu steruje ruchem klastra usługi AKS, wykonaj następujące kroki:

  1. Przejdź do klastra usługi AKS w witrynie Azure Portal i wybierz pozycję Właściwości>Grupa zasobów infrastruktury.
  2. Uzyskaj dostęp do zestawu skalowania maszyn wirtualnych (VMSS) lub maszyny wirtualnej w zestawie dostępności, jeśli używasz takiego typu zestawu maszyn wirtualnych.
  3. Wybierz pozycję Sieć wirtualna/podsieci>Podsieci i zidentyfikuj podsieć klastra usługi AKS. Po prawej stronie zobaczysz tabelę routingu.

Aby dodać trasę w tabeli routingu, wykonaj kroki opisane w temacie Tworzenie trasy i wypełnij następujące pola:

  • Prefiks adresu: <storage-account's-public-IP>/32
  • Typ następnego przeskoku:Internet

Ta trasa będzie wysyłać cały ruch między klastrem usługi AKS a kontem magazynu za pośrednictwem publicznego Internetu.

Po dodaniu trasy przetestuj łączność przy użyciu polecenia nc lub telnet i ponownie wykonaj operację instalowania.

Rozwiązanie: Upewnij się, że urządzenie wirtualne zezwala na ruch między usługą AKS a kontem magazynu

Jeśli operacja instalowania zakończy się powodzeniem, zalecamy skontaktowanie się z zespołem ds. sieci, aby upewnić się, że urządzenie wirtualne może zezwalać na ruch między klastrem AKS a kontem magazynu na porcie 445.

Przyczyna 4: Używana jest pula węzłów z włączonym standardem FIPS

Jeśli używasz puli węzłów z włączonym standardem FIPS (Federal Information Processing Standard), operacja instalowania zakończy się niepowodzeniem, ponieważ standard FIPS wyłącza niektóre moduły uwierzytelniania, co uniemożliwia instalowanie udziału CIFS. To zachowanie jest oczekiwane i nie jest specyficzne dla usługi AKS.

Aby rozwiązać ten problem, użyj jednego z następujących rozwiązań:

Rozwiązanie 1: Zaplanuj zasobniki w węzłach w puli węzłów bez standardu FIPS

Standard FIPS jest domyślnie wyłączony w pulach węzłów usługi AKS i można go włączyć tylko podczas tworzenia puli węzłów za pomocą parametru --enable-fips-image.

Aby rozwiązać ten problem, możesz zaplanować zasobniki w węzłach w puli węzłów bez standardu FIPS.

Rozwiązanie 2: Utwórz zasobnik, który można zaplanować w węźle z włączonym standardem FIPS

Aby utworzyć zasobnik, który można zaplanować w węźle z włączonym standardem FIPS, wykonaj następujące kroki:

  1. Użyj sterownika CSI usługi Azure Files, aby utworzyć niestandardową klasę StorageClass korzystającą z protokołu NFS.

    Zapoznaj się z następującym plikiem YAML jako przykładem:

    kind: StorageClass 
    apiVersion: storage.k8s.io/v1 
    metadata: 
      name: azurefile-sc-fips 
    provisioner: file.csi.azure.com 
    reclaimPolicy: Delete 
    volumeBindingMode: Immediate 
    allowVolumeExpansion: true 
    parameters: 
      skuName: Premium_LRS 
      protocol: nfs 
    

    Jednostka SKU jest ustawiona w pliku YAML na Premium_LRS, ponieważ dla systemu plików NFS wymagana jest jednostka SKU w warstwie Premium. Aby uzyskać więcej informacji, zobacz Aprowizacja dynamiczna.

    Ze względu na jednostkę SKU w warstwie Premium minimalny rozmiar udziału plików wynosi 100 GB. Aby uzyskać więcej informacji, zobacz Tworzenie klasy magazynu.

  2. Utwórz element PVC, który odwołuje się do niestandardowej klasy StorageClass azurefile-sc-fips.

    Zapoznaj się z następującym plikiem YAML jako przykładem:

    apiVersion: v1 
    kind: PersistentVolumeClaim 
    metadata: 
      name: azurefile-pvc-fips 
    spec: 
      accessModes: 
        - ReadWriteMany 
      storageClassName: azurefile-sc-fips 
      resources: 
        requests: 
          storage: 100Gi 
    
  3. Utwórz zasobnik, który instaluje plik azurefile-pvc-fips.

    Zapoznaj się z następującym plikiem YAML jako przykładem:

    kind: Pod 
    apiVersion: v1 
    metadata: 
      name: azurefile-pod-fips 
    spec: 
      containers: 
      - name: azurefile-pod-fips 
        image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine 
        resources: 
          requests: 
            cpu: 100m 
            memory: 128Mi 
          limits: 
            cpu: 250m 
            memory: 256Mi 
        volumeMounts: 
        - mountPath: "/mnt/azure" 
          name: volume 
      volumes: 
        - name: volume 
          persistentVolumeClaim: 
            claimName: azurefile-pvc-fips 
    

Błąd instalacji (13): Odmowa uprawnień

Oto możliwe przyczyny tego błędu:

Uwaga 16.

  • Przyczyna 1 dotyczy scenariuszy publicznych i prywatnych.
  • Przyczyna 2 dotyczy tylko scenariusza publicznego.
  • Przyczyna 3 dotyczy tylko scenariusza prywatnego.
  • Przyczyna 4 dotyczy scenariuszy publicznych i prywatnych.
  • Przyczyna 5 dotyczy scenariuszy publicznych i prywatnych.
  • Przyczyna 6 dotyczy scenariuszy publicznych i prywatnych.

Przyczyna 1: Wpis tajny platformy Kubernetes nie odwołuje się do poprawnej nazwy ani klucza konta magazynu

Jeśli udział plików jest tworzony dynamicznie, zasób tajny kubernetes jest tworzony automatycznie z nazwą "azure-storage-account-storage-account-account-name-secret<".>

Jeśli udział plików zostanie utworzony ręcznie, wpis tajny platformy Kubernetes powinien zostać utworzony ręcznie.

Niezależnie od metody tworzenia, jeśli nazwa lub klucz konta magazynu, do którego odwołuje się wpis tajny platformy Kubernetes, są niezgodne z wartością rzeczywistą, operacja instalowania zakończy się niepowodzeniem z powodu błędu „Odmowa uprawnień”.

Możliwe przyczyny niezgodności

  • Jeśli wpis tajny platformy Kubernetes jest tworzony ręcznie, podczas tworzenia może wystąpić literówka.

  • Jeśli operacja rotacji klucza jest wykonywana na poziomie konta magazynu, zmiany nie będą odzwierciedlane na poziomie wpisu tajnego platformy Kubernetes. Spowoduje to niezgodność między wartością klucza na poziomie konta magazynu a wartością na poziomie wpisu tajnego platformy Kubernetes.

    Jeśli wystąpi operacja rotacji klucza, w dzienniku aktywności konta magazynu pojawi się operacja o nazwie „Ponowne generowanie kluczy konta magazynu”. Pamiętaj o 90-dniowym okresie przechowywania dziennika aktywności.

Weryfikowanie niezgodności

Aby zweryfikować niezgodność, wykonaj następujące kroki:

  1. Wyszukaj i uzyskaj dostęp do konta magazynu w witrynie Azure Portal. Wybierz pozycję Klucze>dostępu Pokaż klucze na koncie magazynu. Zobaczysz nazwę konta magazynu i skojarzone klucze.

    Zrzut ekranu przedstawiający nazwę i klucze konta magazynu.

  2. Przejdź do klastra usługi AKS, wybierz pozycję Wpisy tajne konfiguracji>, a następnie wyszukaj i uzyskaj dostęp do skojarzonego wpisu tajnego.

    Zrzut ekranu przedstawiający wyszukiwanie i wybieranie konta magazynu.

  3. Wybierz pozycję Pokaż (ikonę oka) i porównaj wartości nazwy konta magazynu i skojarzonego klucza z wartościami w kroku 1.

    Zrzut ekranu przedstawiający nazwę i klucz konta magazynu w kluczu tajnym.

    Przed wybraniem pozycji Pokaż wartości nazwy konta magazynu i skojarzonego klucza są kodowane w ciągach base64. Po wybraniu pozycji Pokaż wartości zostaną zdekodowane.

Jeśli nie masz dostępu do klastra usługi AKS w witrynie Azure Portal, wykonaj krok 2 na poziomie narzędzia kubectl:

  1. Pobierz plik YAML wpisu tajnego kubernetes, a następnie uruchom następujące polecenie, aby uzyskać wartości nazwy konta magazynu i klucza z danych wyjściowych:

    kubectl get secret <secret-name> -n <secret-namespace> -o <yaml-file-name>
    
  2. Użyj polecenia echo, aby odkodować wartości nazwy konta magazynu i klucza oraz porównać je z wartościami na poziomie konta magazynu.

    Oto przykład dekodowania nazwy konta magazynu:

    echo -n '<storage account name>' | base64 --decode ;echo
    

    Zrzut ekranu przedstawiający polecenie, które dekoduje nazwę konta magazynu.

Rozwiązanie: Dostosuj wpis tajny platformy Kubernetes i ponowne tworzenie zasobników

Jeśli wartość nazwy lub klucza konta magazynu w kluczu tajnym kubernetes nie jest zgodna z wartością w kluczach dostępu na koncie magazynu, dostosuj wpis tajny Kubernetes na poziomie wpisu tajnego Kubernetes, uruchamiając następujące polecenie:

kubectl edit secret <secret-name> -n <secret-namespace>

Wartość nazwy lub klucza konta magazynu dodanych w konfiguracji wpisu tajnego platformy Kubernetes powinna być wartością zakodowaną w formacie base64. Aby uzyskać zakodowaną wartość, użyj polecenia echo.

Oto przykład kodowania nazwy konta magazynu:

echo -n '<storage account name>'| base64 | tr -d '\n' ; echo

Aby uzyskać więcej informacji, zobacz Zarządzanie wpisami tajnymi przy użyciu narzędzia kubectl.

Gdy wpis tajny platformy Kubernetes azure-storage-account-<storage-account-name>-secret ma odpowiednie wartości, utwórz ponownie zasobniki. W przeciwnym razie te zasobniki będą nadal używać starych wartości, które nie są już prawidłowe.

Przyczyna 2: Sieć wirtualna i podsieć usługi AKS nie są dozwolone dla konta magazynu

Jeśli sieć konta magazynu jest ograniczona do wybranych sieci, ale sieć wirtualna i podsieć klastra usługi AKS nie są dodane do wybranych sieci, operacja instalowania zakończy się niepowodzeniem z powodu błędu „Odmowa uprawnień”.

Rozwiązanie: Zezwól na sieć wirtualną i podsieć usługi AKS dla konta magazynu

  1. Zidentyfikuj węzeł hostujący uszkodzony zasobnik, uruchamiając następujące polecenie:

    kubectl get pod <pod-name> -n <namespace> -o wide
    

    Sprawdź węzeł z danych wyjściowych polecenia:

    Zrzut ekranu przedstawiający polecenie umożliwiające tożsamość węzła i danych wyjściowych.

  2. Przejdź do klastra usługi AKS w witrynie Azure Portal, wybierz pozycję Właściwości>Grupa zasobów infrastruktury, uzyskaj dostęp do zestawu skalowania maszyn wirtualnych skojarzonych z węzłem, a następnie sprawdź pozycję Sieć wirtualna/podsieć, aby zidentyfikować sieć wirtualną i podsieć.

    Zrzut ekranu przedstawiający wartość sieci wirtualnej/podsieci.

  3. Uzyskaj dostęp do konta magazynu w witrynie Azure Portal. Wybierz pozycję Sieć. Jeśli pozycja Zezwalaj na dostęp z ma ustawioną wartość Wybrane sieci, sprawdź, czy dodano sieć wirtualną i podsieć klastra usługi AKS.

    Zrzut ekranu przedstawiający pustą listę wybranych sieci.

    Jeśli sieć wirtualna i podsieć klastra usługi AKS nie zostaną dodane, wybierz pozycję Dodaj istniejącą sieć wirtualną. Na stronie Dodawanie sieci wpisz sieć wirtualną i podsieć klastra usługi AKS, a następnie wybierz pozycję Dodaj>zapisz.

    Zrzut ekranu przedstawiający dodawanie sieci do konta magazynu.

    Zastosowanie zmian może potrwać kilka chwil. Po dodaniu sieci wirtualnej i podsieci sprawdź, czy stan zasobnika zmieni się z ContainerCreating na Running (Uruchomione).

    Zrzut ekranu przedstawiający dane wyjściowe polecenia z bieżącym stanem zasobnika.

Przyczyna 3: Łączność następuje za pośrednictwem łącza prywatnego, ale węzły i prywatny punkt końcowy znajdują się w różnych sieciach wirtualnych

Gdy klaster usługi AKS i konto magazynu są połączone za pośrednictwem łącza prywatnego, używane jest zatwierdzone połączenie prywatnego punktu końcowego.

Zrzut ekranu przedstawiający połączenie prywatnego punktu końcowego.

W tym scenariuszu, jeśli prywatny punkt końcowy i węzeł usługi AKS znajdują się w tej samej sieci wirtualnej, będzie można zainstalować udział plików platformy Azure.

Jeśli prywatny punkt końcowy i klaster usługi AKS znajdują się w różnych sieciach wirtualnych, operacja instalowania zakończy się niepowodzeniem z powodu błędu „Odmowa uprawnień”.

Wejdź do węzła i sprawdź, czy w pełni kwalifikowana nazwa domeny (FQDN) jest rozpoznawana za pośrednictwem publicznego lub prywatnego adresu IP. Aby to zrobić, uruchom następujące polecenie:

nslookup <storage-account-name>.privatelink.file.core.windows.net

Jeśli nazwa FQDN jest rozpoznawana za pośrednictwem publicznego adresu IP (zobacz poniższy zrzut ekranu), utwórz link sieci wirtualnej dla sieci wirtualnej klastra usługi AKS na poziomie prywatnej strefy DNS („privatelink.file.core.windows.net”). Pamiętaj, że link do sieci wirtualnej jest już automatycznie tworzony dla sieci wirtualnej prywatnego punktu końcowego konta magazynu.

Zrzut ekranu przedstawiający nazwę FQDN jest rozpoznawany przez publiczny adres IP.

Aby utworzyć link do sieci wirtualnej, wykonaj następujące kroki:

  1. Uzyskaj dostęp do strefy Prywatna strefa DNS i wybierz pozycję Łącza>sieci wirtualnej Dodaj.

    Zrzut ekranu przedstawia link sieci wirtualnej dodany do konta magazynu.

  2. Wypełnij pola i wybierz sieć wirtualną klastra usługi AKS dla sieci wirtualnych. Aby uzyskać informacje o sposobie identyfikowania sieci wirtualnej klastra usługi AKS, zobacz Rozwiązanie: zezwalaj na sieć wirtualną i podsieć usługi AKS dla konta magazynu.

    Zrzut ekranu przedstawia sposób dodawania linku sieci wirtualnej.

  3. Wybierz przycisk OK.

Po dodaniu łącza sieci wirtualnej nazwa FQDN powinna zostać rozpoznana za pośrednictwem prywatnego adresu IP, a operacja instalowania powinna zakończyć się pomyślnie. Zobacz następujący zrzut ekranu, aby zapoznać się z przykładem:

Zrzut ekranu przedstawia rozpoznany prywatny adres IP.

Przyczyna 4: Konto magazynu jest ustawione tak, aby wymagać szyfrowania, którego klient nie obsługuje

Ustawienia zabezpieczeń usługi Azure Files zawierają szereg opcji kontrolowania ustawień zabezpieczeń i szyfrowania na kontach magazynu. Ograniczanie dozwolonych metod i algorytmów może uniemożliwić klientom nawiązanie połączenia.

Wersje usługi AKS starsze niż 1.25 są oparte na systemie Ubuntu 18.04 LTS, który używa jądra systemu Linux 5.4 i obsługuje tylko algorytmy szyfrowania AES-128-CCM i AES-128-GCM. Maksymalny profil zabezpieczeń lub profil niestandardowy, który wyłącza algorytm AES-128-GCM, spowoduje błędy mapowania udziału.

Usługa AKS w wersji 1.25 lub nowszej jest oparta na systemie Ubuntu 22.04, który korzysta z jądra systemu Linux 5.15 i obsługuje algorytm AES-256-GCM.

Rozwiązanie: Zezwalaj na używanie algorytmu szyfrowania AES-128-GCM

Włącz algorytm AES-128-GCM przy użyciu profilu maksymalnej zgodności lub profilu niestandardowego, który włącza algorytm AES-128-GCM. Aby uzyskać więcej informacji, zobacz Ustawienia zabezpieczeń usługi Azure Files.

Przyczyna 5. Minimalne wymaganie szyfrowania dla konta magazynu nie jest spełnione

Rozwiązanie: Włączanie algorytmu szyfrowania AES-128-GCM dla wszystkich kont magazynu

Aby pomyślnie zainstalować lub uzyskać dostęp do udziału plików, algorytm szyfrowania AES-128-GCM powinien być włączony dla wszystkich kont magazynu.

Jeśli chcesz użyć tylko szyfrowania AES-256-GCM, wykonaj następujące czynności:

Linux

Użyj następującego skryptu, aby sprawdzić, czy klient obsługuje usługę AES-256-GCM i wymusić ją tylko wtedy, gdy:

cifsConfPath="/etc/modprobe.d/cifs.conf"
echo "$(date) before change ${cifsConfPath}:"
cat ${cifsConfPath}

# Check if 'require_gcm_256' is already present in the configuration file
if ! grep -q "require_gcm_256" "${cifsConfPath}"; then

    # Load the CIFS module
    modprobe cifs

    # Set the parameter at runtime
    echo 1 > /sys/module/cifs/parameters/require_gcm_256

    # Persist the configuration
    echo "options cifs require_gcm_256=1" >> "${cifsConfPath}"

    echo "$(date) after changing ${cifsConfPath}:"
    cat "${cifsConfPath}"
else
    echo "require_gcm_256 is already set in ${cifsConfPath}"
fi

Można również użyć zestawu DaemonSet platformy Kubernetes, aby wymusić AES-256 na każdym węźle. Zobacz poniższy przykład:

support-cifs-aes-256-gcm.yaml

Windows

Użyj polecenia Set-SmbClientConfiguration programu PowerShell, aby określić szyfry szyfrowania używane przez klienta SMB i preferowany typ szyfrowania bez potwierdzenia użytkownika:

Set-SmbClientConfiguration -EncryptionCiphers "AES_256_GCM" -Confirm:$false

Uwaga 16.

Parametr EncryptionCiphers jest dostępny od aktualizacji zbiorczej 2022-06 dla systemu Windows Server w wersji 21H2 dla systemów opartych na x64 (KB5014665) i aktualizacji zbiorczej dla systemu Windows 11 w wersji 22H2 (KB5014668).

Przyczyna 6. Profil zabezpieczeń jest używany bez włączonego uwierzytelniania NTLM w wersji 2

W przypadku korzystania z profilu maksymalnego zabezpieczeń lub niestandardowego profilu zabezpieczeń bez włączonego mechanizmu uwierzytelniania NTLM w wersji 2 operacja instalowania zakończy się niepowodzeniem z powodu błędu "Błąd instalacji (13): Odmowa uprawnień".

Rozwiązanie: Włącz uwierzytelnianie NTLM w wersji 2 lub użyj profilu "Maksymalna zgodność"

Aby zainstalować go prawidłowo w usłudze AKS, należy włączyć mechanizm uwierzytelniania NTLM w wersji 2 dla niestandardowego profilu zabezpieczeń lub użyć profilu zabezpieczeń Maksymalna zgodność.

Więcej informacji

Jeśli wystąpią inne błędy instalacji, zobacz Rozwiązywanie problemów z usługą Azure Files w systemie Linux.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.