應用場景
邊緣裸金屬服務器掛載文件存儲,可以有多個應用場景,例如在數據密集型處理場景中,如氣象數據分析、基因測序等,可將大量數據存儲于文件存儲,供多臺邊緣裸金屬服務器快速讀取和寫入,提升數據處理效率。在需要共享存儲的分布式計算場景里,如分布式數據庫集群,通過掛載文件存儲,各邊緣裸金屬服務器節點可共享配置文件、數據文件等資源,保障集群協同工作。
文件存儲可提供高帶寬、低延遲的數據訪問,滿足邊緣裸金屬服務器對存儲性能的要求:
- 高可用性,文件存儲具備冗余機制,能有效保障數據安全與業務連續性。
- 擴展性強,可依據業務增長靈活擴展存儲容量,無需中斷服務。
- 易于管理,集中化存儲便于統一管理監控,降低運維難度。
前提條件
邊緣裸金屬服務器需和文件存儲網絡互通,需要采用 underlay vpc 網絡。創建 underlay vpc 流程如下:
- 登錄ECX控制臺。
- 點擊左側【邊緣網絡】,選擇【虛擬機私有云 > vpc和子網】
- 點擊【+創建虛擬私有云】,在基礎信息中,類型需要選擇為underlay,子網類型為underlay并填寫規劃好的 vlan 號。
創建邊緣裸金屬服務器和文件存儲時,均要選擇對應創建的 underlay vpc 網絡。
操作步驟
- 以 root 用戶登錄邊緣裸金屬服務器。
- 安裝 NFS 客戶端。
- 查看系統是否安裝 NFS 軟件包。
說明CentOS、Red Hat、Oracle Enterprise Linux、SUSE、Euler OS、Fedora 或 OpenSUSE 系統下,執行命令:
rpm -qa|grep nfs
Debian 或 Ubuntu 系統下,執行命令:
dpkg -l nfs-common
- 不同的操作系統回顯會有所不同,若回顯如下類似信息,說明已成功安裝 NFS 軟件包。
說明CentOS、Red Hat、Euler OS、Fedora 或 Oracle Enterprise Linux 系統下回顯示例:
libnfsidmap
nfs-utils
SUSE 或 OpenSUSE 系統下回顯示例:
nfsidmap
nfs-client
Debian 或 Ubuntu 系統下回顯示例:
nfs-common
- 若未安裝,根據操作系統執行相應安裝命令:
注意執行以下命令前要確保邊緣裸金屬服務器已連接到互聯網,否則安裝 NFS 客戶端會失敗。
說明CentOS、Red Hat、Euler OS、Fedora 或 Oracle Enterprise Linux 系統下:
sudo yum -y install nfs-utils
Debian 或 Ubuntu 系統下:
sudo apt-get install nfs-common
SUSE 或 OpenSUSE 系統下:
zypper install nfs-client
- 執行命令創建用于掛載文件存儲的本地路徑:
mkdir 本地路徑
若本地路徑已掛載其他磁盤等資源處于被占用狀態,需新建其他目錄進行掛載(因 nfs 客戶端不會對重復掛載進行攔截,重復掛載時會表現為最后一次成功掛載的信息)。
- 將文件存儲掛載到與文件存儲所屬 VPC 相同的邊緣裸金屬服務器上,執行命令:
mount -t nfs -o vers=3,timeo=600,noresvport,nolock 掛載地址 本地路徑
- 參數說明
| 參數 | 說明 |
|---|---|
| vers | 文件存儲版本,支持 NFSv3 和 NFSv4。若業務場景不含多臺實例同時編輯同一文件,建議選 NFSv3 以達最優性能。 |
| timeo | NFS 客戶端重傳請求前等待時間(單位 0.1 秒),建議值:600。 |
| noresvport | 指定 NFS 客戶端向服務端重新建立連接時用新 TCP 端口。強烈建議使用,可保障網絡故障恢復后文件存儲服務不中斷。 |
| lock/nolock | 選是否用 NLM 協議在服務器上鎖文件。選 nolock 時,鎖對同主機應用有效,不同主機不受影響。建議值:nolock 。不加此參數默認 lock,會導致其他服務器無法寫入。當前文件存儲不支持非本地鎖操作,需顯式加 nolock 參數防客戶端調用非本地鎖致搶鎖失敗寫入慢問題。 |
| proto | NFS 客戶端向服務器傳輸請求用的協議,可為 UDP 或 TCP 。 |
| 掛載地址 | 文件存儲格式:文件存儲 ip:/ 路徑,例如:192.168.0.10:/var/ecx/file-nvme-cv4lq0bkrj0lnj8u23n0 |
| 本地路徑 | 邊緣裸金屬服務器上用于掛載文件存儲的本地路徑,例如 "/local_path" |
- 掛載文件存儲時,還可使用更多性能調優參數,各參數間以逗號分隔。例如:
mount -t nfs -o vers=3,timeo=600,nolock,rsize=1048576,wsize=1048576,hard,retrans=3,tcp,noresvport,ro,async,noatime,nodiratime 掛載地址 本地路徑
| 參數 | 說明 |
|---|---|
| rsize | 每次向服務器讀取文件最大字節數。實際數據 ≤ 此值。rsize 是 1024 倍數正整數,小于 1024 時自動設為 4096,大于 1048576 時自動設為 1048576 。默認由服務器和客戶端協商設置。建議設為最大值 1048576 。 |
| wsize | 每次向服務器寫入文件最大字節數。實際數據 ≤ 此值。wsize 是 1024 倍數正整數,小于 1024 時自動設為 4096,大于 1048576 時自動設為 1048576 。默認由服務器和客戶端協商設置。建議設為最大值 1048576 。 |
| soft/hard | 取 soft,NFS 請求超時客戶端向調用程序返回錯誤;取 hard,NFS 請求超時客戶端一直重新請求至成功。默認 hard 。 |
| retrans | 客戶端返回錯誤前重傳次數。建議值:1 。 |
| tcp/udp | 不指定 mountproto 時,客戶端默認先試 UDP協議掛載,UDP網絡不通則卡頓幾秒后試 TCP協議掛載。當前默認未放通安全組入方向 mount 協議UDP端口號,需設 mount 掛載協議為 TCP 傳輸協議,即mountproto=tcp。 |
| ro/rw | ro :只讀掛載。rw :讀寫掛載。默認 rw 。未寫明時,默認 rw 讀寫掛載。 |
| sync/async | sync 為同步寫入,將寫入文件數據立即寫入服務端;async 為異步寫入,數據先寫入緩存再寫入服務端。同步寫入要求 NFS 服務器必須將每個數據刷入服務端后,才可返回成功,時延較高。建議設為 async 。 |
| noatime | 無需記錄文件訪問時間時可設置,避免頻繁訪問修改訪問時間帶來開銷。 |
| nodiratime | 無需記錄目錄訪問時間時可設置,避免頻繁訪問修改訪問時間帶來開銷。 |
說明未提及 “使用建議” 的參數推薦使用默認參數。
- 掛載完成后,執行命令查看已掛載文件存儲:
mount -l
若回顯包含如下類似信息,說明掛載成功。
掛載地址 on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
- 掛載成功后,用戶可在邊緣裸金屬服務器上訪問文件存儲,執行讀取或寫入操作。