Azure上的文件共享协议,Azure一直只支持自家的smb。虽然高版本的Linux也可以使用smb,但是在权限、配额等方面有一定缺陷;并且一些特殊场合,例如SAP的config文件,只支持存放在NFS。
终于继Azure Global支持NFS后,Azure China(Mooncake)也开始NFS Preview,今天就先睹为快。
Azure对NFS的有多种模式:NetApp架构、based on blob、File Storage、vFxt等。目前Azure支持的是FileStorage,NFS版本4.1。下边就演示如何在Mooncake上创建NFS。
服务注册
要使用NFS,必须先注册NFS服务,具体命令如下:
创建存储账户
目前支持NFS的存储账户只有高级版的FileStorage,并且只能在东2和北2两个region使用,所以创建存储账户时,要选择对应的参数(红圈部分):
其它按需设置即可。
创建完成,可以看到同时支持NFS和SMB:
创建NFS共享
现在进入文件共享,点击创建:
此处没有协议选择。但是可以看到文件共享的各种参数和预配容量相关。例如将容量从1024改为2048,可以看到各项参数都发生了变化,并且收费是按照预配容量收费而非实际使用量:
点击创建后进入共享的连接属性,可以看到只有SMB的连接参数,说明不支持NFS:
产生这个问题的原因是目前NFS还在preview阶段,需要通过命令行方式创建。
在命令行模式下,创建NFS的命令如下:
如图创建了一个容量1024GiB的NFS共享。其中参数–enabled-protocols指定了共享协议,–root-squash指定权限映射。
回到portal的存储账户,可以看到新创建的共享:
进入共享,可以看到连接参数:
小结
Mooncake的NFS创建简单介绍如上,如果有NFS需要,终于不用VM来实现,避免了VM带来的高可靠问题。
NFS的应用面比较广,除了SAP等需求,在k8s的数据持久化、Tomcat配置等场合都离不开NFS,欢迎大家测试使用。