专家解析|如何通过NFS协议访问Azure资源
过去很长时间以来,Azure一直只支持通过SMB协议访问文件共享。然而考虑到有大量客户在Azure平台上运行Linux虚拟机,虽然高版本Linux也可以使用SMB协议,但在权限、配合等方面存在一些不足。此外,一些特殊场合也无法使用SMB,例如SAP的配置文件就只能以NFS协议来访问,不支持SMB。
小知识:SMB和NFS是什么?
这是两种常见的文件共享协议。SMB(Server Message Block,服务器消息块)是Windows操作系统原生实现的一种文件共享协议,而NFS(Network File System,网络文件系统)主要被Linux用于共享文件和文件夹。目前Azure Files服务已经可以全面支持这两种协议,详细信息可参阅这里。
2020年下半年,全球版Azure Files服务开始支持NFS 4.1协议,最近,中国区Azure服务也开始支持NFS。
Azure对NFS的支持有多种模式:NetApp架构、Based on blob、File Storage、vFxt等。目前中国区Azure支持的是FileStorage,NFS版本4.1。下文我们就一起来看看如何在中国区Azure平台上使用NFS。
1.服务注册
要使用NFS,必须先注册NFS服务,具体命令如下:
2.创建存储账户
目前支持NFS的存储账户只有高级版的FileStorage,且只能在东2和北2两个区域使用,所以创建存储账户时要选择对应的参数(红圈部分):
其它按需设置即可。创建完成后,可以看到该存储账户同时支持NFS和SMB:
随后进入文件共享,点击创建:
此处可以选择SMB协议或者NFS协议。
文件共享的各种参数和预配容量相关。例如将容量从1024改为2048,可以看到各项参数都发生了变化,并且收费是按照预配容量收费而非实际使用量:
也可以通过命令行方式创建。在命令行模式下,创建NFS的命令如下:
如图创建了一个容量1024GiB的NFS共享。其中参数–enabled-protocols指定了共享协议,–root-squash指定权限映射。
回到门户中的存储账户,可以看到新创建的共享:
进入共享,可以看到有错误:
这是因为NFS不支持加密,为了安全需要配置网络终结点和禁止加密访问。
首先禁止加密访问:
再创建vnet,然后为存储账户配置网络终结点:
再进入共享,即可看到NFS的连接方式:
总结
在中国区Azure上创建NFS共享的过程就是这么简单。以后如果大家需要使用NFS,终于不再需要开虚拟机了,这也一定程度上避免了虚拟机带来的高可靠性问题。
NFS的应用面比较广泛,除了SAP等需求,在K8S的数据持久化、Tomcat配置等场合都离不开NFS,欢迎大家测试使用。
同时在下期文章中,我们也将介绍如何在AKS服务中使用NFS。敬请期待!