Skip to main content
NetApp virtualization solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

使用 ONTAP NVMe/FC 為 OpenNebula 設定 LVM Thin

貢獻者 sureshthoppay

使用 NVMe over Fibre Channel 協議,搭配 NetApp ONTAP,為多個 OpenNebula 主機設定邏輯卷管理器(LVM)以共用資料存放區。此設定可透過現代 NVMe 協議,提供高效能、低延遲的區塊層級儲存存取。

初始虛擬化管理員任務

完成這些初始任務,為 OpenNebula 主機做好 NVMe/FC 連線的準備,並收集儲存管理員所需的必要資訊。

  1. 確認是否有兩個HBA介面可用。

  2. 在叢集中的每台 OpenNebula 主機上,執行以下命令來收集 WWPN 資訊並驗證 nvme-cli 套件是否已安裝。

    Debian/Ubuntu
    apt update
    apt install nvme-cli
    cat /sys/class/fc_host/host*/port_name
    nvme show-hostnqn
    RHEL/AlmaLinux
    dnf update
    dnf install nvme-cli
    cat /sys/class/fc_host/host*/port_name
    nvme show-hostnqn
  3. 將收集到的主機 NQN 和 WWPN 資訊提供給儲存管理員,並申請所需大小的 NVMe 命名空間。WWPN 用於光纖通道分區。請將這些資訊提供給負責光纖通道分區的管理員。

儲存管理員任務

如果您是ONTAP新手,請使用系統管理員以獲得更好的體驗。

  1. 確保SVM可用且已啟用NVMe協定。請參閱 "ONTAP 9 上的 NVMe 任務文檔"

  2. 確保每個控制器建立兩個專用於 NVMe/FC 的 LIF。收集已建立的 NVMe/FC LIF 的 WWPN 位址,並將其提供給負責光纖分區的管理員。

  3. 建立 NVMe 命名空間。

  4. 建立子系統並指派主機 NQN。

  5. 請確保在安全性標籤中啟用反勒索軟體保護。

  6. 通知虛擬化管理員 NVMe 命名空間已建立。

最終虛擬化管理員任務

完成以下任務,將 NVMe 命名空間配置為 OpenNebula 中的共用 LVM 儲存體。

  1. 在叢集中的每台 OpenNebula 主機上導航至 shell,並驗證新命名空間是否可見。

  2. 檢查命名空間詳細資訊。

    nvme list
  3. 檢查並收集設備詳細資料。

    nvme list
    nvme netapp ontapdevices
    nvme list-subsys
    lsblk -N
  4. 透過 SSH 連接到前端伺服器之一,並根據所需的 Datastore 類型建立設定檔。如需完整的屬性清單,請參閱 "OpenNebula LVM 說明文件"。範例檔案如下所示:

    備份
    1. 對於 Restic、

    $cat nvmefc-restic.conf
    NAME = "Backup-Restic-NVMEFC"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "restic"
    TM_MAD = "-"
    
    RESTIC_PASSWORD = "<restic_password>"
    RESTIC_SFTP_SERVER = "<backup server>"
    1. 對於 Rsync,

    $cat nvmefc-rsync.conf
    NAME = "Backup-Rsync-NVMEFC"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "rsync"
    TM_MAD = "-"
    
    RSYNC_USER = "<rsync_user>"
    RSYNC_HOST = "<backup server>"
    檔案
    $cat nvmefc-kernel.conf
    NAME = "File-Kernel-NVMEFC"
    TYPE = "FILE_DS"
    DS_MAD = "fs"
    TM_MAD = "local"
    SAFE_DIRS = "/var/tmp/files"
    影像
    $cat nvmefc-image.conf
    NAME = "Image-NVMEFC01"
    TYPE = "IMAGE_DS"
    DS_MAD = "fs"
    TM_MAD = "fs_lvm_ssh"
    DISK_TYPE = "block"
    LVM_THIN_ENABLE = "yes"
    系統
    $cat nvmefc-system.conf
    NAME = "System-NVMEFC02"
    TYPE = "SYSTEM_DS"
    TM_MAD = "fs_lvm_ssh"
    DISK_TYPE = "block"
    BRIDGE_LIST = "<space-separated list of OpenNebula hosts>" # If NVMe namespace not presented to frontend hosts
    LVM_THIN_ENABLE = "yes"
  5. 執行 onedatastore create <configuration file>。記下建立後傳回的資料存放區 ID。

    onedatastore create nvmefc-system.conf ID:108

  6. 使用 `vgcreate <vg_name> <nvme_device>`指令在 NVMe 命名空間上建立磁碟區群組。對於映像資料存放區,磁碟區群組名稱可以隨意命名。對於系統資料存放區,磁碟區群組名稱必須採用 `vg-one-<datastore id>`格式。這是 OpenNebula 識別系統資料存放區正確磁碟區群組所需的。如果您要建立備份 / 檔案 / 映像資料存放區,請繼續執行下列步驟。對於系統資料存放區,請到此為止。

  7. 使用 lvcreate -l 100%FREE -n <logical volume name> <volume group name> 指令建立邏輯卷精簡池。對於系統資料存儲,OpenNebula 會在需要時自動建立 LVM 精簡池。

  8. 使用 mkfs.ext4 /dev/<volume group>/<logical volume> 指令在邏輯磁碟區上建立檔案系統。系統資料儲存不需要建立檔案系統。

  9. 更新 /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>
  10. 使用 mount -asystemctl reload autofs 命令掛載資料存放區。

  11. 使用 mount 指令驗證資料存放區是否已掛載,並使用 onedatastore show <datastore_id> 指令驗證資料存放區容量。

  12. 確保 oneadmin 使用者和群組擁有資料儲存資料夾的所有權。使用 chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id> 命令調整權限。