挂载点名称支持

共享文件系统服务支持用户定义的挂载点名称。此功能允许用户在创建共享时指定自定义的 mount_point_name,该名称将反映在共享的导出位置中。但是,要使此功能可供用户使用,管理员必须在共享类型中启用一个额外的规格 mount_point_name_support,并设置一个名为 provisioning:mount_point_prefix 的额外规格。

如果未设置 provisioning:mount_point_prefix 额外规格,则将从 RequestContext 中的 project_id 作为备用方案。但是,将 project_id 作为前缀可能会限制共享所有权的转移,并且需要手动操作才能促进转移。

注意

  • 为了使用此功能,部署中可用的后端必须支持它。可以在 Manila 共享功能支持映射 中找到 manila 中支持此功能的后端列表。

  • 此功能仅在 API 版本 2.84 及更高版本中可用。

  • 此功能正常工作所需的额外规格类型 mount_point_name_support

  • 当由于缺少 provisioning:mount_point_prefix 额外规格而使用 project_id 作为前缀时,共享所有权的转移可能会受到限制,并且可能需要手动操作。

管理员指南

  1. 配置 `mount_point_name_support` 和 `provisioning:mount_point_prefix`

    openstack share type set <share_type> --extra-spec \
    mount_point_name_support="<is> True"
    provisioning:mount_point_prefix=<prefix>
    

    <share_type> 替换为您正在配置的共享类型的名称,将 <prefix> 替换为您想要的前缀。 <prefix> 应该是一个包含 ASCII 字母和可选下划线字符的字符串。

  2. 默认行为和安全注意事项

    如果未设置 provisioning:mount_point_prefix,系统将使用 project_id 作为 mount_point_name 的默认前缀。但是,请注意,将 provisioning:mount_point_prefix 设置为常量字符串并与多个项目共享共享类型可能会潜在地泄露有关其他共享存在的信息。这可能被认为是一个安全漏洞,应避免。

  3. 共享转移

    在共享转移期间,如果 provisioning:mount_point_prefix 包含 project_id,系统将拒绝执行转移并返回 HTTP 400 错误。这表明共享具有需要管理员干预的项目身份。要执行转移,管理员需要从当前项目中取消管理共享,并将其管理到目标项目中。

  4. 构造 `mount_point_name`

    通过组合共享类型(由 provisioning:mount_point_prefix 设置)的前缀和用户提供的后缀来构造 mount_point_name。此组合字符串必须是 ASCII 字母数字,仅允许下划线作为特殊字符。如果此验证失败,系统将记录错误并返回消息,指示 mount_point_name 不合适。