Openstack不支持LVM作为Cinder后端时的跨节点热迁移
来源:互联网 发布:安卓组态软件 编辑:程序博客网 时间:2024/06/02 02:08
Openstack支持不同后端间的卷迁移,Cinder中的卷迁移流程如下:
(1)存储后端自身提供卷迁移,这种方式需要存储后端支持卷迁移特性。在LVM存储后端中,源卷和目的卷需在同一个服务器上的不同backend上,且当前卷未挂载的情况下,可通过LVM自身迁移的方式迁移卷。
(2)如果存储后端不支持迁移特性,则通过Host完成卷迁移,分为两种情况:
- (a)当前卷处于未挂载状态,则通过块存储服务将原卷的数据拷贝到目的卷
- (b)当前卷处于挂载状态,则通过Nova计算节点进行卷的热迁移(利用Libvirt中卷的热迁移特性进行迁移)
Cinder中卷迁移的核心函数调用关系如下图所示(以LVM存储后端为例):
VolumeManager
migrate_volume()
|
+--------------------+
【1】 | |
force_host_copy=False not moved
| |
LVMISCSIDriver VolumeManager
driver.migrate_volume() _migrate_volume_generic()
| |
volutils.copy_volume() rpcapi.create_volume()
dd命令拷贝 |
|
+--------------------------+
【2】 | | 【3】
not attach attached
| |
VolumeDriver nova_api.update_server_volume()
driver.copy_volume_data() |
| |
VolumeDriver ComputeManager
self._attach_volume(dest_vol) swap_volume()
self._attach_volume(src_vol) |
| |
volume_utils.copy_volume() LibvirtDriver
dd命令拷贝 driver.swap_volume()
| |
VolumeDriver |
self._detach_volume(src_vol) |
self._detach_volume(dest_vol) domain.blockRebase()
说明:
- force_host_copy表示是否强制通过Host进行卷的迁移动作
- force_host_copy默认值为false,则首先会进入流程①,如果底层存储不支持卷迁移或迁移失败,则返回not moved,进入流程②或③
- 卷的冷迁移最终都是采用dd命令完成
- 若当前卷处于挂载状态,则通过Nova进行迁移(流程③),最终调用Libvirt接口进行热迁移
- Openstack不支持LVM作为Cinder后端时的跨节点热迁移
- Openstack不支持LVM后端的热迁移
- OpenStack+Ceph+热迁移+++二、准备一台单独的cinder节点
- Openstack 多后端配置--详解NFS作为Cinder的后端存储
- Openstack存储总结之:详解如何使用NFS作为Cinder的后端存储
- Openstack Cinder 多后端
- OpenStack的Cinder后端存储技术——GlusterFS
- CentOS 6.4 Openstack Havana 多节点安装(OVS+GRE)swfit+cinder LVM
- openstack网络节点的迁移
- openstack网络节点的迁移
- 使用Ceph作为OpenStack的后端存储
- 使用Ceph作为OpenStack的后端存储
- 基于Openstack的虚拟机热迁移
- cinder后端采用nfs和lvm性能对比
- OpenStack Cinder 与各种后端存储技术的集成叙述与实践
- [优化篇]OpenStack的Cinder后端存储技术——GlusterFS(1)
- [优化篇]OpenStack的Cinder后端存储技术——NFS
- [优化篇]OpenStack的Cinder后端存储技术——GlusterFS(2)
- 常用latex宏包
- java程序员从笨鸟到菜鸟之(十六)包装类型Inter和Character
- 如何在c语言中源文件调用另一个源文件的函数
- shell快速入门
- xib里 scrollView的 适配
- Openstack不支持LVM作为Cinder后端时的跨节点热迁移
- 第八课 protocol buffer实战
- Core Animation实战五(变换)
- 一个简单明了的c++ trace log 实现
- Windows下安装python版的XGBoost(Anaconda)【成功验证,按着步骤一步一步安装能够成功】
- Oracle数据库表约束
- docker android sdk镜像
- 小甲鱼学python
- AndroidStudio 依赖 ButterKnife 出现的空指针异常,无效操作解决办法