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

[经验分享] openstack存储类型总结

[复制链接]

尚未签到

发表于 2018-6-2 13:33:19 | 显示全部楼层 |阅读模式
  对于openstack,有的时候很无力。一个人瞎折腾了快4个月了。感脚还是比较难,openstack的目标不是建立一个简单快捷的云平台么?我咋觉得就这么难呢?
  下面就对opensack里面用到了几类不同的储存做一下说明。一般会有三类,如果超过视情况而定:

opesntack storage



实例/临时存储
卷的块存储(cinder)
对象存储(swift)


用途
给实例的初始空间
提供给VM永久的额外存储空间
存储虚拟镜像和文件


持久性
跟vm的生命周期一样
直到被删除为止
直到被删除为止


实现
本地文件系统实现
通过iscsi挂载实现

通过REST API实现



定义
根据flavors来定义大小
根据需求
根据需求,而且有极高的扩展性


例子
m1.small 10G/root 20G/临时存储
2TB的本地存储空间
10T以上的swift存储空间
  默认情况下生成的实例实在:/var/lib/nova/instances下面。


  • root@master:~# virsh list
  • Id Name                 State
  • ----------------------------------
  •   1 instance-00000006    running

  • root@master:~# ll /var/lib/nova/instances/instance-00000006/
  • total 494308
  • drwxrwxr-x 2 nova         nova      4096 Jan 14 12:04 ./
  • drwxr-xr-x 5 nova         nova      4096 Jan 14 11:59 ../
  • -rw-rw---- 1 libvirt-qemu kvm          1 Jan 14 12:05 console.log
  • -rw-r--r-- 1 libvirt-qemu kvm  506134528 Jan 16 11:20 disk
  • -rw-r--r-- 1 libvirt-qemu kvm     197120 Jan 14 12:04 disk.local
  • -rw-rw-r-- 1 nova         nova      1694 Jan 14 11:59 libvirt.xml

  在实例目录下面会有几个文件。console日志。disk,disk.local,libvirt.xml。一下进行说明:


  • root@master:~# cd /var/lib/nova/instances/instance-00000006/
  • root@master:/var/lib/nova/instances/instance-00000006# ls
  • console.log  disk  disk.local  libvirt.xml
  • root@master:/var/lib/nova/instances/instance-00000006# qemu-img info disk
  • image: disk
  • file format: qcow2
  • virtual size: 10G (10737418240 bytes)
  • disk size: 483M
  • cluster_size: 65536
  • backing file: /var/lib/nova/instances/_base/09a1c65fb799ed070dd1e65b6296e19e656a040a_10 (actual path: /var/lib/nova/instances/_base/09a1c65fb799ed070dd1e65b6296e19e656a040a_10)
  • root@master:/var/lib/nova/instances/instance-00000006# qemu-img info disk.local image: disk.local
  • file format: qcow2
  • virtual size: 20G (21474836480 bytes)
  • disk size: 136K
  • cluster_size: 65536
  • backing file: /var/lib/nova/instances/_base/ephemeral_0_20_None (actual path: /var/lib/nova/instances/_base/ephemeral_0_20_None)


  你会发现里面disk有一个虚拟大小10G,还有存储大小483M.其实这个是创建实例的时候从glance拷贝过来的。下面一个20G就是临时存储了,当vm被删除后就会自动被释放里面的东西就完全没了。现在你可以理解为20G的空间被用了136K。
  一般情况下都有做热迁移的需求,那么你就需要用到共享存储了。说明白一点就是:将所有的openstack节点下的/var/lib/nova/instances目录能放在一个存储上而且共享,包括用户权限。(uid:nova gid:nova).因为里面存的都是虚拟机,目录的容量要比较大,可以用存储设备来支持(我真的很想用这个)。不过我做的是用glusterfs+ctdb+nfs+lvs这样的一个廉价的结构来实现的,但是这个性能真的很疼:因为局域网的带宽没有考虑到,所以搭起来的时候吓死我了。本地的读写大概在180M/S,iops峰值900左右。做成这个结构以后降到了5.7M/S.iops下降到峰值只有90左右(而且是集群测试,单节点更慢)。啥性能都没有了。网络环境太烂了,勿笑。
  块存储:F版出了一个cinder的东西。它的原理就是用iscsi个逻辑卷lvm结合。把存储空间做成逻辑卷然后利用iscsi远程挂载到被需求的实例上。那么后端的块存储就可以很灵活了,用什么设备你自己看咯。那么我用的是本地的硬盘,4个节点同是安装上 openstack storage,那么调度器会选中其中一台来提供。都是tgt端,安装上lvm2。
  对象存储:swift这个可以单独部署使用可以,不需要结合openstack。但是在opensack里面目前我知道是用来存储虚拟镜像的,还有视频文档等等,比较像网盘。这个我就做了简单的应用。
  切记因为openstack里面用到多种方式的存储,对应的放案也不一样,所以很容易搞错了,提前做好认知工作是很有必要的。以上都是这些天来的实践经验,有问题的地方希望大家能帮俺指出哦!!

运维网声明 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-508124-1-1.html 上篇帖子: 分布式对象存储系统在openstack中的应用研究 下篇帖子: openstack网络详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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