zoukankan      html  css  js  c++  java
  • openstack-理论1 manila 文件共享存储服务

    共享文件系统服务简介

    manila 共享文件系统服务提供计算实例可以使用的共享文件系统。

    OpenStack 共享文件系统服务( Manila )为虚拟机提供文件存储。共享文件系统服务提供了用于管理和配置文件共享的抽象。该服务还支持共享类型的管理以及共享快照(如果驱动程序支持)。

    逻辑架构

    Manila 的逻辑架构如下图所示:

    共享文件系统的总体服务是通过以下具体服务实现的:

    manila-api

        一个 WSGI 应用程序,用于对整个共享文件系统服务进行身份验证和路由请求。它支持 OpenStack API。

    manila-data  

    一个独立的服务,其目的是接收请求,处理具有潜在长时间运行时间的数据操作,例如复制、共享迁移或备份。

    manila-scheduler 

    安排并将请求路由到适当的共享服务。调度程序使用可配置的过滤器和权重来路由请求。过滤器调度器是默认的,可以对诸如容量,可用性区,共享类型和功能以及自定义过滤器进行过滤。

    mania-share  

        管理提供共享文件系统的后端设备。Manila 共享服务通过使用共享后端驱动程序作为接口与后端设备进行通信。共享驱动程序可以以两种模式之一操作,无论是否处理共享服务器。共享服务器通过共享网络导出文件共享。如果共享文件系统服务中的共享服务器没有由驱动程序管理时,应该在共享文件系统服务的带之外处理网络需求。

        可运行于有共享服务器和无共享服务器两种模式。前者需要 Manila 关注组网,使用 nova、neutron 和 cinder 服务管理共享服务器;后者则不处理任何组网问题,使用 LVM 驱动和 NFS 共享,由用户保证云主机和 NFS 服务器之间的网络连接。

    • Shared File Systems Option 1: No driver support for share servers management

         选项1部署服务不包含对共享管理的驱动支持。这种模式下,服务不需要任何和网络有关的部署。操作者必须确保实例和NFS服务器之间的连接。本选项使用需要包含LVM和NFS包以及一个额外的命名为``manila-share``的LVM卷组的LVM驱动器。

    • Shared File Systems Option 2: Driver support for share servers management

    选项2部署服务包含对共享管理的驱动支持。这种模式下,服务需要计算(nova),网络(neutron),块存储(cinder)服务来管理共享服务器。这部分信息用于创建共享服务器,就像创建共享网络一样。本选项使用支持共享服务处理的generic驱动器,并且需要一个连接到路由的私网``selfservice`。

    messaging Queue  

    在共享文件系统进程之间路由信息。

    Backend Storage devices 

    共享文件服务需要某种形式的后端共享文件系统提供程序,引用实现使用块存储服务( Cinder ) 和服务虚拟机( VM ) 来提供共享。 其他驱动程序用于从各种供应商解决方案中访问共享文件系统。

    后端对应着一个共享文件系统实例的提供者。后端在 manila.conf 中进行定义。一个实例必然对应一个后端,而一个后端有且只有一个驱动。通过采用多个后端的方式,可以提供数据服务以保障高可用。

    UserS and Tenants(Projects)

    共享文件系统服务可以被许多不同的云计算消费者或客户(共享系统上的租户) 使用基于角色的访问任务。 角色控制了允许用户执行的操作。 在默认配置中,大多数操作不需要特定的角色,除非他们只限于管理员,但是这可以由维护规则的适当的 policy.json 文件中的系统管理员来配置。 用户管理特定权限受到租户的限制。 通过 IP 或用户访问规则,可以保证访客登录和使用的权限。 用于控制可用硬件资源的资源消耗的配额是每个租户。

    对租户而言,配额管制可以限制:

    • 可以创建的共享数量
    • 可供分享的千兆字节数
    • 可以创建的共享快照数量
    • 可以为共享快照提供的千兆字节数
    • 可以创建的共享网络的数量
    • 可以创建的共享组的数量
    • 可以创建的共享组快照的数量

    您可以使用共享文件系统 CLI 修改默认配额值,因此配额设置的限制是由管理员用户编辑的。

    Shares, snapshots, and share networks

    Shares

    共享实例是一个指定了协议、大小和可访问列表的存储单元,是 Manila 提供的基础原语单元。 所有的共享实例都存在于后端, 一些共享实例与共享网络和共享服务器相关联。 文件系统实例可被多个虚拟机并发访问,支持的主要协议是 NFS 和 CIFS,但也支持其他协议。

    Snapshots

    快照是一个共享实例在某一时刻的只读镜像。快照只能用于创建新的共享实例(包含快照数据)。只有在所有相关快照被删除时,共享实例才能被删除。

    Share networks

    共享网络描述与文件系统实例相关的网络实现,告知 Manila 一组共享文件系统实例使用的安全和网络配置。一个共享网络包括安全服务( Security Service )和涉及的网络及子网( Network/Subnet )。共享网络是一个面向多租户定义的对象,Manila 通过共享网络支持多租户,网络多租户通过标准特性如 VLAN 和 VXLAN 实现。一个共享文件系统实例只能属于一个共享网络。

    Share  type

    共享类型是一个由管理员定义的“服务类型”,它包括一个租户可见的描述和一组租户不可见的键值对列表。Manila 调度器利用此键值对信息进行调度决策。

    Extra Spec

    额外规格即共享类型中的一组键值对。额外规格由 Manila 和后端驱动定义。

    安全服务

    安全服务指 LDAP、Active Directory、Kerberos 等用户安全服务。安全服务包含 Manila 创建一个服务器加入指定安全域必需的所有信息。一个共享文件系统实例可以被关联到多个安全服务。

    Share Drivers

    共享驱动的概念很明确。共享驱动是后端文件共享服务的具体实现,如 Clustered ONTAP、EMC VNX、GlusterFS 等。

    Generic Share Driver

    • Manila 为每个共享网络创建一个 Nova 计算实例
    • Nova 计算实例通过 Cinder 的 Volume 来提供 NFS/CIFS 共享服务
    • 通过 Neturon 连接到现有网络及子网
    • 创建 Nova 实例所必需的 Nova 的 Flavor 、Glance 的镜像、SSH Keypair 均通过 Manila 进行配置
    • Manila 则通过 SSH 对 Nova 实例进行配置

    Share Access Rule

    Manila 通过共享访问规则定义哪些客户端可以访问共享文件系统实例。目前 Manila 支持的访问控制类型包括 IP 地址、用户名和 SSL 认证。

    实例生命周期管理

    Manila 提供完整的共享文件系统实例生命周期管理,包括:

    1. 创建、删除实例;
    2. 列出所有实例;
    3. 获得实例细节信息;
    4. 生成实例快照;
    5. 修改实例访问信息;
    6. 挂载和卸载文件系统实例。

    使用场景

    以下是 Manila 的部分关键使用场景:

    1. 替代自主开发(home-grown)的 NAS 部署工具。
    2. 支持传统企业应用。
    3. 按需的开发和构建环境。
    4. 通过 REST API 或命令与现有自动化框架集成。
    5. 支持云原生工作负载,如 DBaaS。
    6. 支持大数据,例如通过 Manila 的 HDFS 原生驱动插件。

    7. 提供安全的跨租户文件共享。

    8. 混合云间共享文件系统。

    参考文档:

    https://blog.csdn.net/chinagissoft/article/details/51274884

    https://blog.51cto.com/devingeng/1745955

    https://www.fumengji.com/2018/08/28/openstack-%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB%E6%9C%8D%E5%8A%A1manila/

    https://docs.openstack.org/mitaka/zh_CN/install-guide-obs/common/get_started_shared_file_systems.html

    https://blog.51cto.com/yuweibing/1981185

     欢迎关注微信公众号:启航学城,干货满满,扫码关注:

     也欢迎加入OpenStack技术交流群,进行技术交流。

  • 相关阅读:
    Oracle RAC asm常用命令
    Oracle10g RAC关闭及启动步骤
    工具系列 | git checkout 可替换命令 git switch 和 git restore
    工具系列 | 博客签名
    工具系列 | Token认证方式之JWT【转载】
    PHP系列 | ThinkPHP5.1 如何自动加载第三方SDK(非composer包 )
    工具系列 | 虚拟化VMware ESXi 6.7服务器安装配置
    安全系列 | 【阿里云】安全告警处理-进程异常行为-访问恶意下载源
    其他系列 | Github 贡献统计异常的处理
    MySQL系列 | 安装 MySQL 5.7 on Ubuntu 16.04 | 18.04
  • 原文地址:https://www.cnblogs.com/jonc/p/11144432.html
Copyright © 2011-2022 走看看