使用 ONTAP 為 OpenNebula 配置 NFS 儲存
使用 NetApp ONTAP 為 OpenNebula 配置 NFS 儲存。在使用 FlexGroup 磁碟區時,請搭配 nConnect 或 pNFS(v4.1 或更新版本)的 session trunking,以實現高效的資源管理、容錯能力和效能提升。單一 NFS 匯出可同時用於 OpenNebula 叢集的 Image 和 System 資料存放區。若計劃使用 FlexCache,請專門將 nfs 匯出用於 Image 資料存放區。
考慮使用 MetroCluster 配置來實現高可用性和災難復原場景。
如果您是ONTAP新手,請使用系統管理員介面完成這些任務。
儲存管理員任務
完成以下任務,以便在 ONTAP 上佈建 NFS 儲存設備以供 OpenNebula 使用。
-
為 NFS 啟用 SVM。請參閱 "ONTAP 9 文件"。
-
每個控制器至少創建兩個 LIF。請依照文件中的步驟操作。作為參考,這裡是實驗室中使用的 LIF 的螢幕截圖。
顯示範例

-
建立或更新 NFS 匯出原則、以提供 OpenNebula 主機 IP 位址或子網路的存取權。請參閱 "出口政策制定" 和 "在匯出策略中新增規則"。
-
"創建卷"。對於大容量需求(>100TB),請勾選將資料分散到叢集中的選項以使用 FlexGroup。如果使用 FlexGroup,請考慮在 SVM 上啟用 pNFS 以獲得更佳效能,具體操作步驟如下 "在 SVM 上啟用 pNFS"。使用 pNFS 時,請確保 OpenNebula 主機可以存取所有控制器(資料 LIF)。請確保磁碟區已啟用反勒索軟體保護。
顯示範例

-
通知虛擬化管理員 NFS 磁碟區已準備就緒,並提供 NFS 匯出路徑詳細資訊。
虛擬化管理員任務
完成以下任務,將 NFS 磁碟區新增為 OpenNebula 中的資料存儲,並配置 nConnect 或會話中繼以提高效能。
-
為了實現容錯,請確保至少有兩個介面配置在不同的 VLAN 中。使用網卡綁定。
-
透過 SSH 連接到前端伺服器之一,並根據所需的 Datastore 類型建立設定檔。範例檔案如下所示:
備份-
對於 Restic、
$cat nfs-restic.conf NAME = "Backup-Restic-NFS" TYPE = "BACKUP_DS" DS_MAD = "restic" TM_MAD = "-" RESTIC_PASSWORD = "<restic_password>" RESTIC_SFTP_SERVER = "<backup server>"
-
對於 Rsync,
$cat nfs-rsync.conf NAME = "Backup-Rsync-NFS" TYPE = "BACKUP_DS" DS_MAD = "rsync" TM_MAD = "-" RSYNC_USER = "<rsync_user>" RSYNC_HOST = "<backup server>"
檔案$cat nfs-kernel.conf NAME = "File-Kernel-NFS" TYPE = "FILE_DS" DS_MAD = "fs" TM_MAD = "local" SAFE_DIRS = "/var/tmp/files"影像$cat nfs-image.conf NAME = "Image-NFS" TYPE = "IMAGE_DS" DS_MAD = "fs" TM_MAD = "shared"系統$cat nfs-system.conf NAME = "System-NFS" TYPE = "SYSTEM_DS" TM_MAD = "shared" -
-
執行
onedatastore create <configuration file>。記下建立後傳回的資料存放區 ID。onedatastore create nfs-system.conf ID:101
-
使用
id oneadmin指令取得 oneadmin 使用者的 uid 和 gid。 -
更新 /etc/fstab 或自動掛載配置,以使用所需的掛載選項掛載資料儲存。假設預設資料儲存位置為 /var/lib/one/datastores。可以使用 `onedatastore show <datastore_id>`進行驗證。如果不是,請檢查 /etc/one/oned.conf 中的 DATASTORE_LOCATION 參數。確保資料儲存位置下存在<datastore_id>資料夾。範例條目如下所示:
使用 /etc/fstab# To use session trunking, use the option trunkdiscovery //<nfs_server>/<nfs_share> /var/lib/one/datastores/<datastore_id> nfs nconnect=8,max_channels=16,_netdev,noauto,x-systemd.automount,nofail,uid=<oneadmin uid>,gid=<oneadmin gid> 0 0使用自動掛載# To use session trunking, use the option trunkdiscovery /var/lib/one/datastores/<datastore_id> -fstype=nfs,nconnect=8,max_channels=16,_netdev,noauto,x-systemd.automount,nofail,uid=<oneadmin uid>,gid=<oneadmin gid> <nfs_server>:/<nfs_share> -
使用
mount -a或systemctl reload autofs命令掛載資料存放區。 -
使用 mount 指令驗證資料存放區是否已掛載,並使用
onedatastore show <datastore_id>指令驗證資料存放區容量。 -
確保 oneadmin 使用者和群組擁有資料儲存資料夾的所有權。使用
chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>命令調整權限。 -
若要驗證 nConnect 選項是否已設置,請在任意 OpenNebula 主機上執行 `ss -an | grep :2049`並檢查是否存在多個到 NFS 伺服器 IP 的連線。若要驗證 pNFS 是否已啟用,請執行 `nfsstat -c`並檢查與佈局相關的指標。根據資料流量,應該可以看到多個到資料 LIF 的連線。
|
|
在會話中繼中,nconnect 選項僅在一個中繼介面上設定。對於 pNFS,nconnect 選項設定在元資料和資料介面上。對於生產環境,請使用 nConnect 或會話中繼,不要同時使用兩者。 |