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.

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+42.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 sie bei Bedarf durch andere chmod-Berechtigungen ersetzen. Dadurch wird aber möglicherweise der Zugriff eingeschränkt.You can replace it with other chmod permissions as desired, though this will mean potentially restricting access. Wenn Sie andere Berechtigungen verwenden, sollten Sie auch die Verwendung von uid und gid in Betracht ziehen, um den Zugriff für lokale Benutzer und Gruppen Ihrer Wahl beizubehalten.If you do use other permissions, you should consider also using uid and gid in order to retain access for local users and groups of your choice.

Hinweis

Wenn Sie nicht explizit Verzeichnis- und Dateiberechtigungen mit „dir_mode“ und „file_mode“ zuweisen, wird standardmäßig „0755“ verwendet.If you do not explicitly assign directory and file permission with dir_mode and file_mode, they will default to 0755.

  • 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, aber normalerweise erfolgt die Erstellung in einem neuen Ordner.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 a new folder. Mit dem folgenden Befehl wird beispielsweise ein neues Verzeichnis erstellt. Ersetzen Sie <storage_account_name> und <file_share_name> durch die entsprechenden Informationen für Ihre Umgebung:For example, the following command creates a new directory, replace <storage_account_name> and <file_share_name> with the appropriate information for your environment:

    mkdir -p <storage_account_name>/<file_share_name>
    
  3. Verwenden Sie den Einbindungsbefehl, um die Azure-Dateifreigabe einzubinden: Denken Sie daran, die Platzhalter <storage_account_name> , <share_name> , <smb_version> , <storage_account_key> und <mount_point> durch die entsprechenden Informationen für Ihre Umgebung zu ersetzen.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. Wenn Ihre Linux-Distribution SMB 3.0 mit Verschlüsselung unterstützt (siehe Grundlegendes zu SMB-Clientanforderungen), sollten Sie für <smb_version> den Wert 3.0 verwenden.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 für <smb_version> der Wert 2.1 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. Wenn Sie möchten, können Sie die Verzeichnis- und Dateiberechtigungen der eingebundenen Freigabe ändern, dies könnte aber den Zugriff einschränken.If you like, you can change the directory and file permissions of your mounted share but, this would mean restricting access.

    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, aber normalerweise erfolgt die Erstellung in einem neuen Ordner.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 a new 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. Mit dem folgenden Befehl wird beispielsweise ein neues Verzeichnis erstellt. Ersetzen Sie <storage_account_name> und <file_share_name> durch die entsprechenden Informationen für Ihre Umgebung.For example, the following command creates a new directory, replace <storage_account_name> and <file_share_name> with the appropriate information for your environment.

    sudo mkdir -p <storage_account_name>/<file_share_name>
    
  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 Informationen für Ihre Umgebung.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=7wRbLU5ea4mgc<DRIVE LETTER>PIpUCNcuG9gk2W4S2tv7p0cTm62wXTK<DRIVE LETTER>CgJlBJPKYc4VMnwhyQd<DRIVE LETTER>UT<DRIVE LETTER>yR5/RtEHyT/EHtg2Q==" >> /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. 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: Denken Sie daran, die Platzhalter <storage_account_name> , <share_name> , <smb_version> und <mount_point> durch die entsprechenden Informationen für Ihre Umgebung zu ersetzen.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. Wenn Ihre Linux-Distribution SMB 3.0 mit Verschlüsselung unterstützt (siehe Grundlegendes zu SMB-Clientanforderungen), sollten Sie für <smb_version> den Wert 3.0 verwenden.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 für <smb_version> der Wert 2.1 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/<FILE SHARE NAME> /mount/<STORAGE ACCOUNT NAME>/<FILE SHARE NAME> cifs _netdev,nofail,vers=3.0,credentials=/etc/smbcredentials/<STORAGE ACCOUNT NAME>.cred,dir_mode=0777,file_mode=0777,serverino" >> /etc/fstab'
    
    sudo mount /mount/<STORAGE ACCOUNT NAME>/<FILE SHARE NAME>
    

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: