Verwenden von Azure Files mit LinuxUse Azure Files with Linux

Azure Files ist das benutzerfreundliche Clouddateisystem von Microsoft.Azure Files is Microsoft's easy to use cloud file system. Azure-Dateifreigaben können mithilfe des SMB-Kernelclients in Linux-Distributionen eingebunden werden.Azure file shares can be mounted in Linux distributions using the SMB kernel client. Dieser Artikel veranschaulicht zwei Möglichkeiten zum Einbinden einer Azure-Dateifreigabe: bedarfsgesteuert mit dem Befehl mount oder beim Start durch Erstellen eines Eintrags in /etc/fstab.This article shows two ways to mount an Azure file share: on-demand with the mount command and on-boot by creating an entry in /etc/fstab.

Hinweis

Wenn Sie eine Azure-Dateifreigabe außerhalb der Azure-Region einbinden möchten, in der sie gehostet wird (beispielsweise lokal oder in einer anderen Azure-Region), muss das Betriebssystem die Verschlüsselungsfunktionen von SMB 3.0 unterstützen.In order to mount an Azure file share outside of the Azure region it is hosted in, such as on-premises or in a different Azure region, the OS must support the encryption functionality of SMB 3.0.

Voraussetzungen für das Einbinden einer Azure-Dateifreigabe in Linux und das Paket „cifs-utils“Prerequisites for mounting an Azure file share with Linux and the cifs-utils package

  • Ein vorhandenes Azure Storage-Konto und eine Dateifreigabe: Sie benötigen ein Speicherkonto und eine Dateifreigabe, um die Schritte in diesem Artikel ausführen zu können.An existing Azure storage account and file share: In order to complete this article, you need to have a storage account and file share. Falls Sie noch keine erstellt haben, finden Sie Anweisungen in unseren Schnellstarts zum Thema: Erstellen von Dateifreigaben: CLI.If you haven't already created one, see one of our quickstarts on the subject: Create file shares - CLI.

  • Name und Schlüssel Ihres Speicherkontos Sie benötigen den Namen und Schlüssel Ihres Speicherkontos, um die Schritte in diesem Artikel ausführen zu können.Your storage account name and key You will need the storage account name and key in order to complete this article. Falls Sie einen mithilfe des CLI-Schnellstarts erstellt haben, sollten Sie ihn bereits haben. Andernfalls sollten Sie den zuvor verlinkten CLI-Schnellstart konsultieren, um zu erfahren, wie Sie Ihren Speicherkontoschlüssel abrufen können.If you created one using the CLI quickstart you should already have them, otherwise, consult the CLI quickstart that was linked earlier, in order to learn how to retrieve your storage account key.

  • Wählen Sie eine Linux-Distribution gemäß Ihren Anforderungen an die Einbindung aus.Pick a Linux distribution to suit your mounting needs.
    Azure Files kann entweder über SMB 2.1 oder über SMB 3.0 eingebunden werden.Azure Files can be mounted either via SMB 2.1 and SMB 3.0. Bei Verbindungen von lokalen Clients oder von Clients in anderen Azure-Regionen müssen Sie SMB 3.0 verwenden; Azure Files lehnt SMB 2.1 (oder SMB 3.0 ohne Verschlüsselung) ab.For connections coming from clients on-premises or in other Azure regions, you must use SMB 3.0; Azure Files will reject SMB 2.1 (or SMB 3.0 without encryption). Wenn Sie von einem virtuellen Computer in derselben Azure-Region aus auf die Azure-Dateifreigabe zugreifen, können Sie vielleicht mit SMB 2.1 auf Ihre Dateifreigabe zugreifen, wenn und nur dann, wenn Sichere Übertragung erforderlich für das Speicherkonto deaktiviert ist, das die Azure-Dateifreigabe hostet.If you're accessing the Azure file share from a VM within the same Azure region, you may access your file share using SMB 2.1, if and only if, secure transfer required is disabled for the storage account hosting the Azure file share. Es sollte immer die sichere Datenübertragung erforderlich sein und nur SMB 3.0 mit Verschlüsselung verwendet werden dürfen.We always recommend requiring secure transfer and using only SMB 3.0 with encryption.

    Die Unterstützung der SMB 3.0-Verschlüsselung wurde in der Linux-Kernelversion 4.11 eingeführt und nachträglich für ältere Kernelversionen gängiger Linux-Distributionen portiert.SMB 3.0 encryption support was introduced in Linux kernel version 4.11 and has been backported to older kernel versions for popular Linux distributions. Zum Zeitpunkt der Veröffentlichung dieses Dokuments unterstützen die folgenden Distributionen aus dem Azure-Katalog die Einbindungsoption, die in den Tabellenüberschriften angegeben ist.At the time of this document's publication, the following distributions from the Azure gallery support mounting option specified in the table headers.

  • Empfohlene Mindestversionen mit entsprechenden Einbindungsmöglichkeiten (SMB 2.1-Version im Vergleich zur SMB 3.0-Version)Minimum recommended versions with corresponding mount capabilities (SMB version 2.1 vs SMB version 3.0)

    SMB 2.1SMB 2.1
    (Einbindungen auf VMs innerhalb derselben Azure-Region)(Mounts on VMs within same Azure region)
    SMB 3.0SMB 3.0
    (Einbindungen aus einer lokalen Region und regionsübergreifend)(Mounts from on premises and cross-region)
    Ubuntu ServerUbuntu Server 14.04+14.04+ 16.04 und höher16.04+
    RHELRHEL 7 und höher7+ 7.5 und höher7.5+
    CentOSCentOS 7 und höher7+ 7.5 und höher7.5+
    DebianDebian 8 und höher8+
    openSUSEopenSUSE 13.2 und höher13.2+ 42.3 und höher42.3+
    SUSE Linux Enterprise ServerSUSE Linux Enterprise Server 1212 12 SP3 und höher12 SP3+

    Sollte Ihre Linux-Distribution hier nicht aufgeführt sein, können Sie die Linux-Kernelversion mit dem folgenden Befehl ermitteln:If your Linux distribution is not listed here, you can check to see the Linux kernel version with the following command:

    uname -r
    
  • Das Paket „cifs-utils“ ist installiert.The cifs-utils package is installed.
    Das Paket „cifs-utils“ kann mithilfe des Paket-Managers für die Linux-Distribution Ihrer Wahl installiert werden.The cifs-utils package can be installed using the package manager on the Linux distribution of your choice.

    Verwenden Sie bei auf Ubuntu und Debian basierenden Distributionen den Paket-Manager apt-get:On Ubuntu and Debian-based distributions, use the apt-get package manager:

    sudo apt-get update
    sudo apt-get install cifs-utils
    

    Verwenden Sie unter RHEL und CentOSden Paket-Manager yum:On RHEL and CentOS, use the yum package manager:

    sudo yum install cifs-utils
    

    Verwenden Sie unter OpenSUSE den Paket-Manager zypper:On openSUSE, use the zypper package manager:

    sudo zypper install cifs-utils
    

    Verwenden Sie bei anderen Distributionen den entsprechenden Paket-Manager, oder kompilieren Sie den Quellcode.On other distributions, use the appropriate package manager or compile from source

  • Festlegen der Verzeichnis-/Dateiberechtigungen der eingebundenen Freigabe: In den folgenden Beispielen wird die Berechtigung 0777 verwendet, um allen Benutzern die Berechtigungen „Lesen“, „Schreiben“ und „Ausführen“ zu erteilen.Decide on the directory/file permissions of the mounted share: In the examples below, the permission 0777 is used to give read, write, and execute permissions to all users. Sie können dies nach Wunsch durch andere chmod-Berechtigungen ersetzen.You can replace it with other chmod permissions as desired.

  • Stellen Sie sicher, Port 445 geöffnet ist: SMB kommuniziert über den TCP-Port 445. Vergewissern Sie sich, dass der TCP-Port 445 des Clientcomputers nicht durch die Firewall blockiert wird.Ensure port 445 is open: SMB communicates over TCP port 445 - check to see if your firewall is not blocking TCP ports 445 from client machine.

Bedarfsgesteuertes Einbinden der Azure-Dateifreigabe mit mountMount the Azure file share on-demand with mount

  1. Installieren Sie das Paket „cifs-utils“ für Ihre Linux-Distribution.Install the cifs-utils package for your Linux distribution.

  2. Erstellen Sie einen Ordner für den Bereitstellungspunkt: Ein Ordner für einen Bereitstellungspunkt kann zwar an einem beliebigen Ort im Dateisystem erstellt werden, üblicherweise erfolgt die Erstellung jedoch im Ordner /mnt.Create a folder for the mount point: A folder for a mount point can be created anywhere on the file system, but it's common convention to create this under the /mnt folder. Beispiel: For example:

    mkdir /mnt/MyAzureFileShare
    
  3. Verwenden Sie den Einbindungsbefehl, um die Azure-Dateifreigabe einzubinden: Ersetzen Sie <storage-account-name>, <share-name>, <smb-version>, <storage-account-key> und <mount-point> durch die entsprechenden Informationen für Ihre Umgebung.Use the mount command to mount the Azure file share: Remember to replace <storage-account-name>, <share-name>, <smb-version>, <storage-account-key>, and <mount-point> with the appropriate information for your environment. Falls Ihre Linux-Distribution SMB 3.0 mit Verschlüsselung unterstützt (siehe Grundlegendes zu SMB-Clientanforderungen), verwenden Sie 3.0 für <smb-version>.If your Linux distribution supports SMB 3.0 with encryption (see Understand SMB client requirements for more information), use 3.0 for <smb-version>. Bei Linux-Distributionen ohne Unterstützung von SMB 3.0 mit Verschlüsselung muss 2.1 für <smb-version> verwendet werden.For Linux distributions that do not support SMB 3.0 with encryption, use 2.1 for <smb-version>. Eine Azure-Dateifreigabe kann nur außerhalb einer Azure-Region mit SMB 3.0 eingebunden werden (gilt auch in der lokalen Umgebung sowie in einer anderen Azure-Region).An Azure file share can only be mounted outside of an Azure region (including on-premises or in a different Azure region) with SMB 3.0.

    sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<share-name> <mount-point> -o vers=<smb-version>,username=<storage-account-name>,password=<storage-account-key>,dir_mode=0777,file_mode=0777,serverino
    

Hinweis

Wenn Sie die Azure-Dateifreigabe nicht mehr benötigen, können Sie sudo umount <mount-point> verwenden, um die Einbindung der Freigabe aufzuheben.When you are done using the Azure file share, you may use sudo umount <mount-point> to unmount the share.

Erstellen eines permanenten Bereitstellungspunkts für die Azure-Dateifreigabe mit /etc/fstabCreate a persistent mount point for the Azure file share with /etc/fstab

  1. Installieren Sie das Paket „cifs-utils“ für Ihre Linux-Distribution.Install the cifs-utils package for your Linux distribution.

  2. Erstellen Sie einen Ordner für den Bereitstellungspunkt: Ein Ordner für einen Bereitstellungspunkt kann zwar an einem beliebigen Ort im Dateisystem erstellt werden, üblicherweise erfolgt die Erstellung jedoch im Ordner /mnt.Create a folder for the mount point: A folder for a mount point can be created anywhere on the file system, but it's common convention to create this under the /mnt folder. Beachten Sie unabhängig vom Ort der Erstellung den absoluten Pfad des Ordners.Wherever you create this, note the absolute path of the folder. Der folgende Befehl erstellt beispielsweise einen neuen Ordner unter /mnt. (Der Pfad ist ein absoluter Pfad.)For example, the following command creates a new folder under /mnt (the path is an absolute path).

    sudo mkdir /mnt/MyAzureFileShare
    
  3. Erstellen Sie eine Datei mit Anmeldeinformationen, um den Benutzernamen (den Namen des Speicherkontos) und das Kennwort (den Schlüssel des Speicherkontos) für die Dateifreigabe zu speichern.Create a credential file to store the username (the storage account name) and password (the storage account key) for the file share. Ersetzen Sie <storage-account-name> und <storage-account-key> durch die entsprechenden Angaben für Ihre Umgebung.Remember to replace <storage-account-name> and <storage-account-key> with the appropriate information for your environment.

    if [ ! -d "/etc/smbcredentials" ]; then
        sudo mkdir /etc/smbcredentials
    fi
    
    if [ ! -f "/etc/smbcredentials/<storage-account-name>.cred" ]; then
        sudo bash -c 'echo "username=<storage-account-name>" >> /etc/smbcredentials/<storage-account-name>.cred'
        sudo bash -c 'echo "password=<storage-account-key>" >> /etc/smbcredentials/<storage-account-name>.cred'
    fi
    
  4. Ändern Sie die Berechtigungen in der Datei mit den Anmeldeinformationen so, dass nur „root“ die Kennwortdatei lesen oder ändern kann.Change permissions on the credential file so only root can read or modify the password file. Da der Speicherkontoschlüssel eigentlich ein Superadministratorkennwort für das Speicherkonto ist, ist es wichtig, die Berechtigungen für die Datei so festzulegen, dass nur „root“ darauf zugreifen kann, damit Benutzer mit geringeren Rechten den Speicherkontoschlüssel nicht abrufen können.Since the storage account key is essentially a super-administrator password for the storage account, setting the permissions on the file such that only root can access is important so that lower privilege users cannot retrieve the storage account key.

    sudo chmod 600 /etc/smbcredentials/<storage-account-name>.cred
    
  5. Fügen Sie mit dem folgenden Befehl die folgende Zeile an /etc/fstab an: Ersetzen Sie <storage-account-name>, <share-name>, <smb-version> und <mount-point> durch die entsprechenden Angaben für Ihre Umgebung.Use the following command to append the following line to /etc/fstab: Remember to replace <storage-account-name>, <share-name>, <smb-version>, and <mount-point> with the appropriate information for your environment. Falls Ihre Linux-Distribution SMB 3.0 mit Verschlüsselung unterstützt (siehe Grundlegendes zu SMB-Clientanforderungen), verwenden Sie 3.0 für <smb-version>.If your Linux distribution supports SMB 3.0 with encryption (see Understand SMB client requirements for more information), use 3.0 for <smb-version>. Bei Linux-Distributionen ohne Unterstützung von SMB 3.0 mit Verschlüsselung muss 2.1 für <smb-version> verwendet werden.For Linux distributions that do not support SMB 3.0 with encryption, use 2.1 for <smb-version>. Eine Azure-Dateifreigabe kann nur außerhalb einer Azure-Region mit SMB 3.0 eingebunden werden (gilt auch in der lokalen Umgebung sowie in einer anderen Azure-Region).An Azure file share can only be mounted outside of an Azure region (including on-premises or in a different Azure region) with SMB 3.0.

    sudo bash -c 'echo "//<storage-account-name>.file.core.windows.net/<share-name> <mount-point> cifs nofail,vers=<smb-version>,credentials=/etc/smbcredentials/<storage-account-name>.cred,dir_mode=0777,file_mode=0777,serverino" >> /etc/fstab'
    

Hinweis

Mithilfe von sudo mount -a können Sie die Azure-Dateifreigabe nach der Bearbeitung von /etc/fstab einbinden, anstatt einen Neustart durchzuführen.You can use sudo mount -a to mount the Azure file share after editing /etc/fstab instead of rebooting.

FeedbackFeedback

Linux-Benutzer, wir möchten von Ihnen hören!Linux users, we want to hear from you!

Die Benutzergruppe „Azure Files for Linux“ bietet ein Forum, in dem Sie Ihr Feedback zu File Storage für Linux geben können.The Azure Files for Linux users' group provides a forum for you to share feedback as you evaluate and adopt File storage on Linux. Senden Sie eine E-Mail an Azure Files Linux Users, um der Benutzergruppe beizutreten.Email Azure Files Linux Users to join the users' group.

Nächste SchritteNext steps

Weitere Informationen zu Azure Files finden Sie unter diesen Links:See these links for more information about Azure Files: