Oracle ZFS 存储设备驱动程序

Oracle ZFS 存储设备驱动程序,版本 1.0.0,使 Oracle ZFS 存储设备 (ZFSSA) 能够无缝地用作 OpenStack 文件系统服务 (manila) 的共享存储资源。该驱动程序提供创建和管理设备上的 NFS 和 CIFS 共享的能力,允许虚拟机同时且安全地访问这些共享。

需求

Oracle ZFS 存储设备软件版本 2013.1.2.0 或更高版本。

支持的操作

  • 创建 NFS 和 CIFS 共享。

  • 删除 NFS 和 CIFS 共享。

  • 允许或拒绝 IP 访问 NFS 共享。

  • 创建共享的快照。

  • 删除共享的快照。

  • 从快照创建共享。

限制

  • 对 CIFS 共享的访问是开放的,无法从 manila 进行更改。

  • 驱动程序的 1.0.0 版本仅支持单 SVM 网络模式。

设备配置

  1. 在 ZFSSA 存储设备上启用 RESTful 服务。

  2. 在设备上创建一个具有以下授权的新用户

    scope=stmf - allow_configure=true
    scope=nas - allow_clone=true, allow_createProject=true, allow_createShare=true, allow_changeSpaceProps=true, allow_changeGeneralProps=true, allow_destroy=true, allow_rollback=true, allow_takeSnap=true
    

    您可以创建具有以下授权的角色

    zfssa:> configuration roles
    zfssa:configuration roles> role OpenStackRole
    zfssa:configuration roles OpenStackRole (uncommitted)> set description="OpenStack Manila Driver"
    zfssa:configuration roles OpenStackRole (uncommitted)> commit
    zfssa:configuration roles> select OpenStackRole
    zfssa:configuration roles OpenStackRole> authorizations create
    zfssa:configuration roles OpenStackRole auth (uncommitted)> set scope=stmf
    zfssa:configuration roles OpenStackRole auth (uncommitted)> set allow_configure=true
    zfssa:configuration roles OpenStackRole auth (uncommitted)> commit
    

    您可以创建具有特定角色的用户,如下所示

    zfssa:> configuration users
    zfssa:configuration users> user cinder
    zfssa:configuration users cinder (uncommitted)> set fullname="OpenStack Manila Driver"
    zfssa:configuration users cinder (uncommitted)> set initial_password=12345
    zfssa:configuration users cinder (uncommitted)> commit
    zfssa:configuration users> select cinder set roles=OpenStackRole
    
  3. 创建一个存储池。

    如果需要,也可以使用现有的池。您可以按如下方式创建池

    zfssa:> configuration storage
    zfssa:configuration storage> config pool
    zfssa:configuration storage verify> set data=2
    zfssa:configuration storage verify> done
    zfssa:configuration storage config> done
    
  4. 创建一个新项目。

    您可以按如下方式创建项目

    zfssa:> shares
    zfssa:shares> project proj
    zfssa:shares proj (uncommitted)> commit
    
  5. 创建一个新的或使用现有的数据 IP 地址。

    您可以按如下方式创建接口

    zfssa:> configuration net interfaces ip
    zfssa:configuration net interfaces ip (uncommitted)> set v4addrs=127.0.0.1/24
                         v4addrs = 127.0.0.1/24 (uncommitted)
    zfssa:configuration net interfaces ip (uncommitted)> set links=vnic1
                           links = vnic1 (uncommitted)
    zfssa:configuration net interfaces ip (uncommitted)> set admin=false
                           admin = false (uncommitted)
    zfssa:configuration net interfaces ip (uncommitted)> commit
    

    要求用于数据和管理的两个接口都配置正确。用于数据的接口必须与管理接口不同。

  6. 配置集群。

    如果将集群用作 manila 存储资源,则需要进行以下验证

    • 验证新创建的池和网络接口是否均为单例类型,并且未锁定到当前控制器。这种方法可确保用于数据和接口的池始终属于活动控制器,而与集群的当前状态无关。

    • 验证管理 IP、数据 IP 和存储池是否属于同一头部。

    注意

    在故障切换或接管期间会发生短暂的服务中断,但完成流程后,manila 应该能够通过数据 IP 访问池。

驱动程序选项

Oracle ZFSSA 驱动程序支持以下选项

ZFSSA 共享驱动程序配置选项说明

配置选项 = 默认值

描述

[DEFAULT]

zfssa_auth_password = None

(字符串) ZFSSA 管理授权用户密码。

zfssa_auth_user = None

(字符串) ZFSSA 管理授权用户名。

zfssa_data_ip = None

(字符串) 数据 IP 地址。

zfssa_host = None

(字符串) ZFSSA 管理 IP 地址。

zfssa_manage_policy = loose

(字符串) 共享管理驱动程序策略。严格策略会检查名为 manila_managed 的模式,并确保其值为 true。宽松策略不会检查模式。

zfssa_nas_checksum = fletcher4

(字符串) 控制数据块使用的校验和。

zfssa_nas_compression = off

(字符串) 数据压缩-关闭、lzjb、gzip-2、gzip、gzip-9。

zfssa_nas_logbias = latency

(字符串) 控制服务同步写入时的行为。

zfssa_nas_mountpoint =

(字符串) 项目在 ZFS/SA 中的位置。

zfssa_nas_quota_snap = true

(字符串) 控制共享配额是否包括快照。

zfssa_nas_rstchown = true

(字符串) 控制是否可以更改文件所有权。

zfssa_nas_vscan = false

(字符串) 控制是否扫描共享以查找病毒。

zfssa_pool = None

(字符串) ZFSSA 存储池名称。

zfssa_project = None

(字符串) ZFSSA 项目名称。

zfssa_rest_timeout = None

(字符串) REST 连接超时时间(秒)。