【OpenStack】计算节点上的存储

时间:2023-01-09 00:11:36

声明:

本博客欢迎转发,但请保留原作者信息!

新浪微博:@孔令贤HW

博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!


计算节点上的存储主要用来给虚拟机提供系统盘空间(注意要跟Cinder的后端存储区分),所以我们一般会把虚拟机的磁盘目录(默认是/var/lib/nova/instances)作为单独的挂载点,提供一个较大的空间,一来可以满足创建虚拟机对存储空间的需求,二来满足虚拟机迁移的需求。关于计算节点上的存储的方案选择一般有以下三种:

1、使用独立的共享存储

这种方案需要一个独立的共享存储节点,典型的是使用NFS服务器,意味着虚拟机和它的存储不在一个节点上,对应的,对这两类节点的要求也不一样,计算节点可能需要更多的CPU和内存,而存储节点需要关注磁盘IO性能。

这种方式的优势:
1.降低计算节点的维护成本,不影响虚拟机当前的运行状态
2.计算节点的宕机,不会引起虚拟机的磁盘数据丢失
3.使虚拟机迁移功能效率更高
4.共享储存可以用作他用

这种方式的劣势:
1.需要额外的存储节点
2.一些重负载的虚拟机可能会影响其他的虚拟机性能,无论是否在同一节点
3.因为需要通过网络访问存储资源,性能不会很好

2、使用统一共享存储

这种方式不使用独立的存储节点(典型的如Ceph、Sheepdog等),而是将计算节点上的存储连接起来形成一个存储池,提供共享、高可靠、高可用的存储特性。该方式其他优势:
1.不需要额外的存储节点
2.充分利用分布式存储的优势

劣势:
1.因为中间层的存在,因此会失去对磁盘的逻辑管理
2.对虚拟机数据的恢复变得复杂
3.这种方式仍然需要从网络访问存储资源,降低性能

3、本地存储

这种方式应该是最常见的,不需要什么额外的配置,但优势和劣势也很明显。
优势:
1.重负载的虚拟机不会对其他节点的虚拟机造成影响
2.因为是直接磁盘IO,性能是最好的(如果配合SSD,那就更好了)

劣势:
1.无共享,意味着一个节点宕机会造成该节点上虚拟机数据不可用
2.虚拟机迁移变得复杂