设为首页 收藏本站
查看: 1608|回复: 0

[经验分享] NFS Volume Provider(Part I)

[复制链接]

尚未签到

发表于 2017-6-27 10:47:49 | 显示全部楼层 |阅读模式
   DSC0000.jpg
  cinder-volume 支持多种 volume provider,前面我们一直使用的是默认的 LVM,本节我们将增加 NFS volume provider。
  虽然 NFS 更多地应用在实验或小规模 cinder 环境,由于性能和缺乏高可用的原因在生产环境中不太可能使用,但是学习 NFS volume provider 的意义在于:
1. 理解 cinder-volume 如何支持多 backend
2. 更重要的,可以理解 cinder-volume,nova-compute 和 volume provider 是如何协同工作,共同为 instance 提供块存储。
3. 举一反三,能够快速理解并接入其他生产级 backend ,比如 Ceph,商业存储等。
下图展示了 cinder、nova 是如何与 NFS volume provider 协调工作的。
   DSC0001.jpg
   NFS Volume Provider
就是我们通常说的 NFS Server,提供远程 NFS 目录,NFS Clinet 可以 mount 这些远程目录到本地,然后像使用本地目录一样创建、读写文件以及子目录。
  cinder-volume
存储节点通过 NFS driver 管理 NFS volume provider 中的 volume,这些 volume 在 NFS 中实际上是一个个文件。
  nova-compute
计算节点将 NFS volume provider 存放 volume 的目录 mount 到本地,然后将 volume 文件作为虚拟硬盘映射给 instance。
  这里有几点需要强调:

  •   在 Cinder 的 driver 架构中,运行 cinder-volume 的存储节点和 Volume Provider 可以是完全独立的两个实体。 cinder-volume 通过 driver 与 Volume Provider 通信,控制和管理 volume。
  •   Instance 读写 volume 时,数据流不需要经过存储节点,而是直接对 Volume Provider 中的 volume 进行读写。正如上图所示,存储节点与 NFS Volume Provider 的连接只用作 volume 的管理和控制(绿色连线);真正的数据读写,是通过计算节点和 NFS Volume Proiver 之间的连接完成的(紫色连线)。这种设计减少了中间环节,存储节点不直接参与数据传输,保证了读写效率。
  •   其他 Volume Provider(例如 ceph,swift,商业存储等)均遵循这种控制流与数据流分离的设计。
配置 NFS Volume Provider
  在实验环境中,NFS volume provider 的 NFS 远程目录为 192.168.104.11:/storagecinder-volume 服务节点上 mount point 为 /nfs_storage。
  在 /etc/cinder/cinder.conf 中添加 nfs backend。
   DSC0002.jpg

  •   enabled_backends = lvmdriver-1,nfs 让 cinder-volume 使用 nfs backend
  •   [nfs] 中详细配置 nfs backend。包括:a) 指定存储节点上 /nfs_storage 为 nfs 的 mount point。
  nfs_mount_point_base = /nfs_storage
      b)查看 /etc/cinder/nfs_shares 活动 nfs 共享目录列表。nfs_shares_config = /etc/cinder/nfs_shares,其内容为
DSC0003.jpg
  列表中只有 192.168.104.11:/storage。如果希望有多个 nfs 共享目录存放 volume,则可以添加到该文件中。
      c)nfs volume driver。
  volume_driver=cinder.volume.drivers.nfs.NfsDriver
      d)设置 volume backend name。在 cinder 中需要根据这里的 volume_backend_name 创建对应的 volume type,这个非常重要。volume_backend_name = nfs
  重启 cinder-volume,cinder service-list 确认 nfs cinder-volume 服务正常工作。
   DSC0004.jpg
  创建 nfs volume type。
  打开GUI页面Admin -> System -> Volumes -> Volume Types,点击 “Create Volume Type”。
   DSC0005.jpg
  命名 nfs,点击“Create Volume Type”。
   DSC0006.jpg

  选择 nfs volume tyep,点击下拉菜单“View Extra Specs”

   DSC0007.jpg
  点击“Create”,Key 输入 volume_backend_name ;Value 输入 nfs。
   DSC0008.jpg
   DSC0009.jpg
  NFS volume provider 准备就绪,下一节我们将创建 NFS 为 backend 的 volume。
      DSC00010.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-388537-1-1.html 上篇帖子: OpenStack实践系列⑦深入理解neutron和虚拟机 下篇帖子: openstack cloudinit 遇坑记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表