使用 ONTAP FC 為 OpenNebula 配置 LVM Thin
使用 Fibre Channel 協議,為 OpenNebula 主機配置 Logical Volume Manager(LVM)資料存放區,以實現 NetApp ONTAP 的共享儲存。此配置可實現高效能、低延遲的區塊層級儲存存取。
初始虛擬化管理員任務
完成這些初始任務,為 OpenNebula 主機建立 FC 連線做好準備,並收集儲存管理員所需的必要資訊。
-
確認是否有兩個HBA介面可用。
-
確保所有 OpenNebula 主機上都安裝了 multipath-tools,並且開機啟動。
Debian/Ubuntuapt list | grep multipath-tools # If need to install, execute the following line. apt-get install multipath-tools # If /etc/multipath.conf is not present, first make sure the multipathd service is started. systemctl enable --now multipathdRHEL/AlmaLinuxdnf list installed | grep device-mapper-multipath # If need to install, execute the following line. dnf install device-mapper-multipath # If /etc/multipath.conf is not present, first make sure the multipathd service is started. systemctl enable --now multipathd -
收集所有 OpenNebula 主機的 WWPN,並將其提供給儲存管理員和負責 Fabric 分區的管理員。
cat /sys/class/fc_host/host*/port_name
儲存管理員任務
如果您是ONTAP新手,請使用系統管理員以獲得更好的體驗。
-
確保SVM可用且已啟用FC協定。跟隨 "ONTAP 9 文件"。
-
為每個控制器建立兩個專用於 FC 的 LIF。收集已建立的 FC LIF 的 WWPN 位址,並將其提供給負責光纖網路分區的管理員。
-
建立 igroup 並填入主機 FC 發起程序。通常一個 OpenNebula 叢集會建立一個 igroup。將前端伺服器和虛擬機器管理程式主機包含在同一個 igroup 中,以同時支援 Image 和 System 資料儲存區。
-
在 SVM 上建立所需大小的 LUN,並將其呈現給上一個步驟所建立的 igroup。確保在ASA系統的「安全性」標籤上啟用反勒索軟體保護,並在AFF/ FAS系統的「磁碟區安全」標籤上啟用反勒索軟體保護。
-
通知虛擬化管理員 LUN 已建立。
最終虛擬化管理員任務
完成以下任務,將 FC LUN 設定為 OpenNebula 中的共用 LVM 資料儲存區。
-
使用 SSH 連接到所有 OpenNebula 伺服器,並在每台主機上完成以下步驟。
-
執行
rescan-scsi-bus.sh或echo "- - -" > /sys/class/scsi_host/host*/scan重新掃描 SCSI 匯流排並偵測新的 LUN 。 -
使用 `lsblk -S`或 fdisk -l 指令驗證 LUN 是否在所有 OpenNebula 主機上可見。記下已建立 LUN 的設備名稱(例如 sde、sdf)。
-
透過執行
multipath -a /dev/<device_name>將裝置新增至多重路徑組態。然後、執行multipath -r以重新載入多重路徑組態。透過執行multipath -ll命令來驗證多重路徑組態。 -
透過 SSH 連接到前端伺服器之一,並根據所需的 Datastore 類型建立設定檔。如需完整的屬性清單,請參閱 "OpenNebula LVM 說明文件"。範例檔案如下所示:
備份-
對於 Restic、
$cat fc-restic.conf NAME = "Backup-Restic-FC" TYPE = "BACKUP_DS" DS_MAD = "restic" TM_MAD = "-" RESTIC_PASSWORD = "<restic_password>" RESTIC_SFTP_SERVER = "<backup server>"
-
對於 Rsync,
$cat fc-rsync.conf NAME = "Backup-Rsync-FC" TYPE = "BACKUP_DS" DS_MAD = "rsync" TM_MAD = "-" RSYNC_USER = "<rsync_user>" RSYNC_HOST = "<backup server>"
檔案$cat fc-kernel.conf NAME = "File-Kernel-FC" TYPE = "FILE_DS" DS_MAD = "fs" TM_MAD = "local" SAFE_DIRS = "/var/tmp/files"影像$cat fc-image.conf NAME = "Image-FC01" TYPE = "IMAGE_DS" DS_MAD = "fs" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" LVM_THIN_ENABLE = "yes"系統$cat fc-system.conf NAME = "System-FC02" TYPE = "SYSTEM_DS" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" BRIDGE_LIST = "<space-separated list of OpenNebula hosts>" # If LUN not presented to frontend hosts LVM_THIN_ENABLE = "yes" -
-
執行
onedatastore create <configuration file>。記下建立後傳回的資料存放區 ID。onedatastore create fc-system.conf ID:107
-
使用 `vgcreate <vg_name> <multipath_device>`指令在 FC LUN 上建立磁碟區群組。對於映像資料存放區,磁碟區群組名稱可以隨意命名。對於系統資料存放區,磁碟區群組名稱必須採用 `vg-one-<datastore id>`格式。這是 OpenNebula 識別系統資料存放區正確磁碟區群組所需的。如果您要建立備份/檔案/映像資料存放區,請繼續執行下列步驟。對於系統資料存放區,請到此為止。
-
使用
lvcreate -l 100%FREE -n <logical volume name> <volume group name>指令建立邏輯卷精簡池。對於系統資料存儲,OpenNebula 會在需要時自動建立 LVM 精簡池。 -
使用
mkfs.ext4 /dev/<volume group>/<logical volume>指令在邏輯磁碟區上建立檔案系統。系統資料儲存不需要建立檔案系統。 -
更新 /etc/fstab 或自動掛載配置,以使用所需的掛載選項掛載資料儲存。假設預設資料儲存位置為 /var/lib/one/datastores。可以使用 `onedatastore show <datastore_id>`進行驗證。如果不是,請檢查 /etc/one/oned.conf 中的 DATASTORE_LOCATION 參數。確保資料儲存位置下存在<datastore_id>資料夾。範例條目如下所示:
使用 /etc/fstab/dev/<vg name>/<logical volume> /var/lib/one/datastores/<datastore_id> ext4 _netdev,noauto,x-systemd.automount,nofail 0 2使用自動掛載/var/lib/one/datastores/<datastore_id> -fstype=ext4,_netdev,noauto,x-systemd.automount,nofail,rw :/dev/<vg name>/<logical volume> -
使用
mount -a或systemctl reload autofs命令掛載資料存放區。 -
使用 mount 指令驗證資料存放區是否已掛載,並使用
onedatastore show <datastore_id>指令驗證資料存放區容量。 -
確保 oneadmin 使用者和群組擁有資料儲存資料夾的所有權。使用
chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>命令調整權限。