過去很長時間以來,Azure一直只支持通過SMB協(xié)議訪問文件共享。然而考慮到有大量客戶在Azure平臺上運行Linux虛擬機,雖然高版本Linux也可以使用SMB協(xié)議,但在權(quán)限、配合等方面存在一些不足。此外,一些特殊場合也無法使用SMB,例如SAP的配置文件就只能以NFS協(xié)議來訪問,不支持SMB。
小知識:SMB和NFS是什么?
這是兩種常見的文件共享協(xié)議。SMB(Server Message Block,服務(wù)器消息塊)是Windows操作系統(tǒng)原生實現(xiàn)的一種文件共享協(xié)議,而NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng))主要被Linux用于共享文件和文件夾。目前Azure Files服務(wù)已經(jīng)可以全面支持這兩種協(xié)議,詳細信息可參閱這里。
2020年下半年,全球版Azure Files服務(wù)開始支持NFS 4.1協(xié)議,最近,中國區(qū)Azure服務(wù)也開始支持NFS。
Azure對NFS的支持有多種模式:NetApp架構(gòu)、Based on blob、File Storage、vFxt等。目前中國區(qū)Azure支持的是FileStorage,NFS版本4.1。下文我們就一起來看看如何在中國區(qū)Azure平臺上使用NFS。
1.服務(wù)注冊
要使用NFS,必須先注冊NFS服務(wù),具體命令如下:
2.創(chuàng)建存儲賬戶
目前支持NFS的存儲賬戶只有高級版的FileStorage,且只能在東2和北2兩個區(qū)域使用,所以創(chuàng)建存儲賬戶時要選擇對應(yīng)的參數(shù)(紅圈部分):
其它按需設(shè)置即可。創(chuàng)建完成后,可以看到該存儲賬戶同時支持NFS和SMB:
隨后進入文件共享,點擊創(chuàng)建:
此處可以選擇SMB協(xié)議或者NFS協(xié)議。
文件共享的各種參數(shù)和預(yù)配容量相關(guān)。例如將容量從1024改為2048,可以看到各項參數(shù)都發(fā)生了變化,并且收費是按照預(yù)配容量收費而非實際使用量:
也可以通過命令行方式創(chuàng)建。在命令行模式下,創(chuàng)建NFS的命令如下:
如圖創(chuàng)建了一個容量1024GiB的NFS共享。其中參數(shù)–enabled-protocols指定了共享協(xié)議,–root-squash指定權(quán)限映射。
回到門戶中的存儲賬戶,可以看到新創(chuàng)建的共享:
進入共享,可以看到有錯誤:
這是因為NFS不支持加密,為了安全需要配置網(wǎng)絡(luò)終結(jié)點和禁止加密訪問。
首先禁止加密訪問:
再創(chuàng)建vnet,然后為存儲賬戶配置網(wǎng)絡(luò)終結(jié)點:
再進入共享,即可看到NFS的連接方式:
總結(jié)
在中國區(qū)Azure上創(chuàng)建NFS共享的過程就是這么簡單。以后如果大家需要使用NFS,終于不再需要開虛擬機了,這也一定程度上避免了虛擬機帶來的高可靠性問題。
NFS的應(yīng)用面比較廣泛,除了SAP等需求,在K8S的數(shù)據(jù)持久化、Tomcat配置等場合都離不開NFS,歡迎大家測試使用。
同時在下期文章中,我們也將介紹如何在AKS服務(wù)中使用NFS。敬請期待!