首先说下什么是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(Native CephFS Driver)驱动已经有人提交了。已经Merged

https://review.openstack.org/#/c/270211/ 不过此驱动不建议生产使用,在云环境下实际上是不太会允许 VM 业务网络能够直接访问后端的存储网络的,而在 VM 上直接提供对于 CephFS 的访问也暴露了 Ceph,因此大概也只能在内部小规模私有云中被接受。

还有以下一些关于Ceph对接Manila的驱动:

  1. Default Driver: 使用 RBD 作为 Manila Service VM 的后端,在 VM 上启动 NFS 实例提供服务

  2. Ganesha Driver: 使用 Ganesha 将 CephFS 重新 Reexport 出去

  3. Native CephFS Driver: 在 Guest VM 上直接使用原生 CephFS Module 访问

  4. VirtFS Driver: 将 CephFS 挂载在 Host 端,VM 通过 VirtFS 访问

具体详解可以看下豪迈的博客文章:http://www.wzxue.com/tag/manila/

创建Manila Share过程说明(这里使用的是Generic驱动)

创建一个Nova实例,通过Cinder的Volume来提供NFS/CIFS共享服务

每个Share Network创建一个Nova实例

连接到已存在Neutron网络及子网中

创建Nova实例使用的Nova的flavor、Glance的image、SSH Keypair均是Manila配置的

Manila通过 SSH对Nova实例进行配置

Manila API概览

Manila网络详解

关于Manila网络的管理以及连接的详细说明在王为的博客文章中已经详细说明了,这里就不在赘述。http://mytrix.me/2015/01/network-part-of-manila/,以及陈迪豪博客文章的为什么私有网络要绑路由器存在疑惑:http://www.jianshu.com/p/d04f829e3330 这两篇文章都很经典值得一看。

Manila-UI Horizon截图

OpenStack 系列之File Share Service(Manila)详解相关推荐

  1. JVM调优系列--Java命令选项(参数)--大全/详解/常用

    原文网址:JVM调优系列--Java命令选项(参数)--大全/详解/常用_IT利刃出鞘的博客-CSDN博客 简介 说明        本文介绍Java的java命令用法,包括:常用用法.选项大全. J ...

  2. centos7之service文件详解及systemctl命令使用

    centos7之service文件详解及systemctl命令使用 1. systemed简介 systemd与init的区别及优势 systemd和init的区别 systemd对比init的优势 ...

  3. 容器编排技术 -- Kubernetes kubectl create service 命令详解

    容器编排技术 -- Kubernetes kubectl create service 命令详解 1 kubectl create service 2 语法 3 参考 kubectl create s ...

  4. 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(1)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

  5. 离线强化学习(Offline RL)系列3: (算法篇) AWAC算法详解与实现

    [更新记录] 论文信息:AWAC: Accelerating Online Reinforcement Learning with Offline Datasets [Code] 本文由UC Berk ...

  6. java源码系列:HashMap底层存储原理详解——4、技术本质-原理过程-算法-取模具体解决什么问题

    目录 简介 取模具体解决什么问题? 通过数组特性,推导ascii码计算出来的下标值,创建数组非常占用空间 取模,可保证下标,在HashMap默认创建下标之内 简介 上一篇文章,我们讲到 哈希算法.哈希 ...

  7. Spring/Boot/Cloud系列知识:SpringMVC 传参详解(下)

    (接上文<Spring/Boot/Cloud系列知识:SpringMVC 传参详解(上)>) 2.3.通过@PathVariable注解基于URL匹配符接收请求传参 为了便于开发人员实现更 ...

  8. 离线强化学习(Offline RL)系列3: (算法篇) Onestep 算法详解与实现

    [更新记录] 论文信息: David Brandfonbrener, William F. Whitney, Rajesh Ranganath, Joan Bruna: "Offline R ...

  9. ES6系列教程第四篇--asyn详解

    一.什么是async async其实是ES7的才有的关键字,放在这里说,其实是和我们前面所说的Promise,Generator有很大关联的.async的意思是"异步",顾名思义是 ...

最新文章

  1. CSS 绘制各种形状
  2. python常用内置模块-Python常用内置模块之xml模块
  3. netty web 容器_Netty - 高性能网络应用框架常见面试题
  4. 架构演进,后端开发进入微服务时代!
  5. 基本BASH SHELL脚本命令——切换目录以及处理文件和目录的基本知识
  6. 【maven】Mac的仓库拷贝到Windows的离线环境下无法引入问题
  7. android p 第三方预装,刘作虎确认 一加6T将出厂预装Android P系统
  8. Jupyter Notebook从入门到精通
  9. 软路由硬件, 研究了一圈还是J1900 , i211网卡又如何
  10. linux文件权限651,Linux基础之文件权限详解
  11. 如何保持精力充沛_在家工作,如何管理一支精力充沛,精力充沛的日常团队,远程站起来...
  12. 深度解析《ETC行业领军企业成谷科技》
  13. 【博弈论】Nim游戏/Nim博弈及其异或的详细易懂理解
  14. 凸优化(一)绪论与凸集
  15. 从零开始做自媒体短视频,新手一样可以操作!每月稳定5000多
  16. win系统C++的udp通信(接收并发送)详细教程、win下inet_pton和inet_ntop无法使用解决方法
  17. Intellij IDEA里的md5验证
  18. MySQL基础数据类型
  19. itext7学习笔记——第2章实践example
  20. 计算机教师 师德演讲,关于师德师风演讲稿(精选11篇)

热门文章

  1. IDEA报错解决:Error:(33, 35) java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
  2. php当前日期的时间戳,php – 获取当前的ISO8601日期/时间戳
  3. Python的零基础超详细讲解(第一天)-Python简介以及下载
  4. 16张思维导图+学习路线图,囊括所有Python基础,可打印
  5. linux扩文件系统大小,调整卷大小后扩展 Linux 文件系统 - Amazon Elastic Compute Cloud...
  6. cloning java_深入浅出Java中的clone克隆方法,写得太棒了!
  7. Docker数据卷管理
  8. oracle卸载注意啥,关于oracle的安装,卸载以及其他注意事项
  9. 计算机word应用模块三,计算机应用基模块三.ppt
  10. mysql 5.6多实例_MySQL 5.6.x多实例配置