可以使用服务器消息块 (SMB) 协议或网络文件系统 (NFS) 协议将 Azure 文件共享装载到 Linux 发行版中。 本文重点介绍如何使用 NFS 进行装载。 有关装载 SMB 文件共享的详细信息,请参阅 将 Azure 文件与 Linux 配合使用。 有关每个可用协议的详细信息,请参阅 Azure 文件共享协议。
适用于
| 管理模型 | 计费模式 | 媒体层 | Redundancy | SMB | NFS |
|---|---|---|---|---|---|
| Microsoft.Storage | 预配 v2 | HDD(标准) | 本地 (LRS) |
|
|
| Microsoft.Storage | 预配 v2 | HDD(标准) | 区域 (ZRS) |
|
|
| Microsoft.Storage | 预配 v2 | HDD(标准) | 异地 (GRS) |
|
|
| Microsoft.Storage | 预配 v2 | HDD(标准) | GeoZone (GZRS) |
|
|
| Microsoft.Storage | 预配版本 v1 | SSD(高级) | 本地 (LRS) |
|
|
| Microsoft.Storage | 预配版本 v1 | SSD(高级) | 区域 (ZRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD(标准) | 本地 (LRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD(标准) | 区域 (ZRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD(标准) | 异地 (GRS) |
|
|
| Microsoft.Storage | Pay-as-you-go | HDD(标准) | GeoZone (GZRS) |
|
|
先决条件:配置网络安全
只能从受信任的网络访问 NFSv4.1 文件共享。 建议使用虚拟网络和其他网络安全设置来保护数据。 Microsoft Entra 安全和访问控制列表(ACL)不能用于授权 NFSv4.1 请求。 若要详细了解如何设置 NFSv4.1 文件共享,请参阅 如何创建经典文件共享。
装载 NFS Azure 文件共享
可以在 Azure 门户中使用 AZNFS 装载助手挂载共享,也可以在 CLI 中使用原生 NFS 挂载命令。 还可以在 /etc/fstab 文件中创建一条记录,以便在 Linux 服务器或 VM 每次启动时自动装载共享。
你可以使用 nconnect Linux 装载选项大规模提高 NFS Azure 文件共享的性能。 有关详细信息,请参阅提高 NFS Azure 文件共享性能。
默认装载说明
经典 NFS 文件共享(Microsoft.Storage)
- 创建文件共享后,选择该共享,然后选择 “从 Linux 进行连接”。
- 输入要使用的装载路径,然后复制脚本并在客户端上运行它。 Azure 门户提供一个分步的现成安装脚本,该脚本专为所选 Linux 分发版定制,用于安装 AZNFS 装载帮助程序包。 脚本中仅包含所需的装载选项,但你可以添加其他建议的装载选项。
使用命令行中的 NFS 客户端装载来装载经典 NFS 共享
还可以在命令行中使用 NFS 客户端装载来装载 Azure 文件共享。 为 Linux 分发版选择以下选项卡以查看需要运行的命令。 将 <YourStorageAccountName> 和 <FileShareName> 替换为你的信息。
sudo apt-get -y update
sudo apt-get install nfs-common
sudo mkdir -p /mount/<YourStorageAccountName>/<FileShareName>
sudo mount -t nfs <YourStorageAccountName>.file.core.chinacloudapi.cn:/<YourStorageAccountName>/<FileShareName> /mount/<YourStorageAccountName>/<FileShareName> -o vers=4,minorversion=1,sec=sys,nconnect=4
使用 /etc/fstab 装载
如果希望在每次 Linux 服务器或 VM 启动时自动装载,请在 /etc/fstab 文件中为 Azure 文件共享创建一条记录。 记录将有所不同,具体取决于你使用的是 AZNFS 装载帮助程序还是本机 NFS 装载命令。
若要确定是否在客户端上安装 AZNFS 装载帮助程序包,请运行以下命令:
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS Mount Helper is installed! \n"
如果已安装该包,则显示消息 AZNFS Mount Helper is installed!。
记住将 <YourStorageAccountName> 和 <FileShareName> 替换为自己的值。 有关详细信息,请从 Linux 命令行输入命令 man fstab。
使用 AZNFS 装载帮助程序进行装载
如果使用 AZNFS 装载帮助程序, 则 /etc/fstab 中的记录应如下所示:
<YourStorageAccountName>.file.core.chinacloudapi.cn:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4,minorversion=1,nolock,proto=tcp,nofail,_netdev,notls 0 2
使用本机装载命令进行装载
如果使用不带 AZNFS 的 NFS 本地装载,则 /etc/fstab 中的记录应如下所示:
<YourStorageAccountName>.file.core.chinacloudapi.cn:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
装载选项
装载 NFS Azure 文件共享时,建议或需要以下装载选项。
| 装载选项 | 建议的值 | Description |
|---|---|---|
vers |
4 | Required. 指定要使用 NFS 协议的哪个版本。 Azure 文件存储仅支持 NFSv4.1。 |
minorversion |
1 | Required. 指定要使用 NFS 协议的次要版本。 某些 Linux 发行版无法识别参数上的 vers 虚线次要版本。 因此不要使用 vers=4.1,应使用 vers=4,minorversion=1。 |
sec |
sys | Required. 指定在对 NFS 连接进行身份验证时要使用的安全类型。 设置“sec=sys”使用本地 UNIX UID 和 GID,它们使用 AUTH_SYS 对 NFS 操作进行身份验证。 |
rsize |
1048576 | Recommended. 设置单个 NFS 读取操作中要传输的最大字节数。 指定最大级别为 1,048,576 字节通常会导致最佳性能。 |
wsize |
1048576 | Recommended. 设置单个 NFS 写入操作中要传输的最大字节数。 指定最大级别为 1,048,576 字节通常会导致最佳性能。 |
noresvport |
n/a | 建议用于低于 5.18 的内核。 告知 NFS 客户端在与装入点的 NFS 服务器通信时使用非特权源端口。 使用 noresvport 装载选项有助于确保在重新连接后 NFS 共享具有不间断的可用性。 建议使用此选项来实现高可用性。 |
actimeo |
30-60 | Recommended. 指定 actimeo 会将所有 acregmin、acregmax、acdirmin 和 acdirmax 设置为相同的值。 使用小于 30 秒的值可能会导致性能下降,因为文件和目录的属性缓存很快就会过期。 建议将 actimeo 设置为 30 到 60 秒。 |
nconnect |
4 | Recommended. Nconnect 通过使用客户端与 NFS 共享之间的多个 TCP 连接来提高性能。 我们建议将装载选项配置为最优设置,即 nconnect=4。 目前,对于 nconnect 的 Azure 文件存储实现来说,超过 4 个通道不会带来增益。 |
clean |
n/a | 如果以前装载到同一服务器的 TLS 装载突然结束,则非 TLS 装载可能会失败,留下过时的条目。 若要解决此问题,请使用 clean 选项重新装载共享,该选项会立即清除任何过时条目。 这仅适用于 AZNFS 挂载。 |
验证连接
如果装载失败,则可能是专用终结点未正确设置或无法访问。 有关确认连接的详细信息,请参阅验证连接。
NFS 文件共享快照
使用 NFS Azure 文件共享的客户可以创建文件共享快照。 借助此功能,用户可以回滚整个文件系统或恢复意外删除或损坏的文件。 请参阅将共享快照与 Azure 文件存储配合使用。
后续步骤
- 如果遇到任何问题,请参阅排查 NFS Azure 文件共享问题。