首先说下什么是OpenStack?
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服 务提供API以进行集成。用Python语言编写。
什么是NAS服务?
众所周知,存储有几种类型的存储,DAS(Direct Attached Storage),NAS(Network Attached Storage),SAN(Storage Area Network)今天主要围绕NAS来展开介绍。
NAS全称Network Attached Storage,就是基于网络的存储服务,这里的网络一般是以太网。当存储通过网络交付后,局域网内多个应用都能通过网络挂载存储服务,而主流NAS服务都支持CIFS协议和NFS协议。
什么是Manila?
马尼拉这个OpenStack项目听起来很像某个国家的的首都,是的没错,它就是菲律宾的首都。哈哈,咱们言归正传:)
Manila项目全称是File Share Service,文件共享即服务。是OpenStack大帐篷模式下的子项目之一,用来提供云上的文件共享,支持CIFS协议和NFS协议。
社区情况
目前Manila项目的主导者是由各大存储厂商把持 NetApp、Mirantis、EMC、IBM等等,项目情况的话目前版本也是跟随OpenStack版本发布一同发布的。
下面是Manila项目的Git地址、wiki地址和IRC地址。每周四23点可以参与社区的meeting讨论
https://github.com/openstack/manila
https://wiki.openstack.org/wiki/Manila
#openstack-manila on IRC(Freenode)
功能性介绍
Share
用户指定大小、访问协议、共享类型
可被多个实例并行访问
Share Access Rule(ACL)
定义哪些客户端可以访问Share
根据IP地址进行定义
Share Network(共享网络)
定义客户端访问Share使用的Neutron的网络及子网
一个Share只能属于一个Share Network
Security Service(安全服务)
用户安全服务(LDAP、Active Directory、Kerberos等)
一个Share可以被关联至多个安全服务
Snapshots(快照)
共享文件系统的只读副本
可以从快照创建共享文件系统服务
Backend
Share服务的提供者
一个share必然属于一个backend
Driver(驱动)
后端文件共享服务的具体实现,例如GPFS、Glusterfs、EMC VNX、Generic、Cephfs等
一般使用Generic驱动,Cephfs驱动已经有人提交了。正在review中
https://review.openstack.org/#/c/270211/
创建Manila Share过程说明(这里使用的是Generic驱动)
创建一个Nova实例,通过Cinder的Volume来提供NFS/CIFS共享服务
每个Share Network创建一个Nova实例
连接到已存在Neutron网络及子网中
创建Nova实例使用的Nova的flavor、Glance的image、SSH Keypair均是Manila配置的
Manila通过 SSH对Nova实例进行配置
关于Manila网络的管理以及连接的详细说明在王为的博客文章中已经详细说明了,这里就不在赘述。http://mytrix.me/2015/01/network-part-of-manila/,以及陈迪豪博客文章的为什么私有网络要绑路由器存在疑惑:http://www.jianshu.com/p/d04f829e3330 这两篇文章都很经典值得一看。