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

為 OpenNebula 配置 SMB/CIFS 資料存儲儲存

貢獻者 sureshthoppay

使用 NetApp ONTAP 為 OpenNebula 配置 SMB/CIFS Datastore 儲存。SMB 多通道可透過多個網路連線至儲存系統,提供容錯能力並提升效能。

SMB/CIFS 檔案共用需要儲存管理員和虛擬化管理員進行設定。更多詳情請參閱 "TR4740 - SMB 3.0 多通道"

註 密碼以明文文件形式保存,只有 root 用戶才能存取。請確保採取適當的安全措施來保護敏感資訊。

儲存管理員任務

如果您是ONTAP新手,請使用系統管理員介面完成這些任務。

  1. 為 SMB 啟用 SVM。跟隨 "ONTAP 9 文件" 了解更多。

  2. 每個控制器至少創建兩個 LIF。請依照文件中的步驟操作。作為參考,這裡附上此解決方案中使用的 LIF 的螢幕截圖。

    顯示範例

    nas接口詳細信息

  3. 配置基於 Active Directory 或工作組的身份驗證。請依照文件中的步驟操作。

    顯示範例

    加入網域資訊

  4. 建立卷。勾選「將資料分佈到叢集中」選項以使用FlexGroup。請確保該磁碟區已啟用反勒索軟體保護。

    顯示範例

    FlexGroup選項

  5. 建立 SMB 共享並調整權限。跟隨"ONTAP 9 文件"了解更多。

    顯示範例

    SMB 共享資訊

  6. 向虛擬化管理員提供 SMB 伺服器、共用名稱和憑證。

虛擬化管理員任務

完成以下任務,將 SMB 共用新增為 OpenNebula 中的資料存儲,並啟用多通道以提高效能和容錯能力。

  1. 收集用於共享身份驗證的 SMB 伺服器、共享名稱和憑證。

  2. 請確保在 Fedora 上安裝以下軟體包:sssd、realmd、adcli、oddjob、oddjob-mkhomedir、samba-common-tools、krb5-workstation 和 cifs-utils,以支援 Active Directory 整合和 SMB 掛載。Debian 軟體包包括:realmd、sssd、sssd-tools、libnss-sss、libpam-sss、adcli、samba-common-bin、packagekit、krb5-user 和 cifs-utils。

  3. 為了實現容錯,請確保至少有兩個介面配置在不同的 VLAN 中。確認網卡支援 RSS。

  4. 透過 SSH 連接到前端伺服器之一,並根據所需的 Datastore 類型建立設定檔。範例檔案如下所示:

    備份
    1. 對於 Restic、

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

    $cat smb-rsync.conf
    NAME = "Backup-Rsync-SMB"
    TYPE = "BACKUP_DS"
    
    DS_MAD = "rsync"
    TM_MAD = "-"
    
    RSYNC_USER = "<rsync_user>"
    RSYNC_HOST = "<backup server>"
    檔案
    $cat smb-kernel.conf
    NAME = "File-Kernel-SMB"
    TYPE = "FILE_DS"
    DS_MAD = "fs"
    TM_MAD = "local"
    SAFE_DIRS = "/var/tmp/files"
    影像
    $cat smb-image.conf
    NAME = "Image-SMB"
    TYPE = "IMAGE_DS"
    DS_MAD = "fs"
    TM_MAD = "shared"
    系統
    $cat smb-system.conf
    NAME = "System-SMB"
    TYPE = "SYSTEM_DS"
    TM_MAD = "shared"
  5. 執行 onedatastore create <configuration file>。記下建立後傳回的資料存放區 ID。

    onedatastore create smb-system.conf ID:100

  6. 在 /etc/ 中建立 smb 憑證檔案。如果使用 kerberos 驗證(KVM 主機已加入 <domain>),則不需要此步驟。

    $cat /etc/smb-credentials-<datastore_id>.cfg
    username=<smb_username>
    password=<smb_password>
    domain=<smb_domain>
  7. 對憑證檔案設定正確的權限 (640)。如有必要,將所有權變更為 oneadmin 使用者和群組。

  8. 使用 id oneadmin 指令取得 oneadmin 使用者的 uid 和 gid。

  9. 更新 /etc/fstab 或自動掛載配置以啟用多通道。假設預設資料儲存位置為 /var/lib/one/datastores。如果不是,請檢查 /etc/one/oned.conf 中的 DATASTORE_LOCATION 參數。確保 <datastore_id> 資料夾存在於資料儲存位置下。範例條目如下:

    使用 /etc/fstab
    # credentials mapping to file option is not required when using kerberos authentication
    //<smb_server>/<smb_share> /var/lib/one/datastores/<datastore_id> cifs credentials=/etc/smb-credentials-<datastore_id>.cfg,_netdev,noauto,x-systemd.automount,vers=3.0,multichannel,max_channels=16,nofail,uid=<oneadmin uid>,gid=<oneadmin gid> 0 0
    使用自動掛載
    # credentials mapping to file option is not required when using kerberos authentication
    /var/lib/one/datastores/<datastore_id> -fstype=cifs,credentials=/etc/smb-credentials-<datastore_id>.cfg,vers=3.0,multichannel,max_channels=16,uid=<oneadmin uid>,gid=<oneadmin gid> ://<smb_server>/<smb_share>
  10. 使用 mount -asystemctl reload autofs 命令掛載資料存放區。

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

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