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

使用 ONTAP FC 為 OpenNebula 配置 LVM Thin

貢獻者 sureshthoppay

使用 Fibre Channel 協議,為 OpenNebula 主機配置 Logical Volume Manager(LVM)資料存放區,以實現 NetApp ONTAP 的共享儲存。此配置可實現高效能、低延遲的區塊層級儲存存取。

初始虛擬化管理員任務

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

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

  2. 確保所有 OpenNebula 主機上都安裝了 multipath-tools,並且開機啟動。

    Debian/Ubuntu
    apt 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 multipathd
    RHEL/AlmaLinux
    dnf 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
  3. 收集所有 OpenNebula 主機的 WWPN,並將其提供給儲存管理員和負責 Fabric 分區的管理員。

    cat /sys/class/fc_host/host*/port_name

儲存管理員任務

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

  1. 確保SVM可用且已啟用FC協定。跟隨 "ONTAP 9 文件"

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

  3. 建立 igroup 並填入主機 FC 發起程序。通常一個 OpenNebula 叢集會建立一個 igroup。將前端伺服器和虛擬機器管理程式主機包含在同一個 igroup 中,以同時支援 Image 和 System 資料儲存區。

  4. 在 SVM 上建立所需大小的 LUN,並將其呈現給上一個步驟所建立的 igroup。確保在ASA系統的「安全性」標籤上啟用反勒索軟體保護,並在AFF/ FAS系統的「磁碟區安全」標籤上啟用反勒索軟體保護。

  5. 通知虛擬化管理員 LUN 已建立。

最終虛擬化管理員任務

完成以下任務,將 FC LUN 設定為 OpenNebula 中的共用 LVM 資料儲存區。

  1. 使用 SSH 連接到所有 OpenNebula 伺服器,並在每台主機上完成以下步驟。

  2. 執行 rescan-scsi-bus.shecho "- - -" > /sys/class/scsi_host/host*/scan 重新掃描 SCSI 匯流排並偵測新的 LUN 。

  3. 使用 `lsblk -S`或 fdisk -l 指令驗證 LUN 是否在所有 OpenNebula 主機上可見。記下已建立 LUN 的設備名稱(例如 sde、sdf)。

  4. 透過執行 multipath -a /dev/<device_name> 將裝置新增至多重路徑組態。然後、執行 multipath -r 以重新載入多重路徑組態。透過執行 multipath -ll 命令來驗證多重路徑組態。

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

    備份
    1. 對於 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>"
    1. 對於 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"
  6. 執行 onedatastore create <configuration file>。記下建立後傳回的資料存放區 ID。

    onedatastore create fc-system.conf ID:107

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

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

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

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

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

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