语言: Python


Openstack migration tool from one cloud to another (中文)


stack2stack是一个简单的python脚本,可以帮助从一个Openstack迁移数据 通过使用API​​将云计算到另一个。它旨在干净地迁移数据 保持尽可能多的同步,直到Openstack的限制 API本身。目前该脚本已迁移

  • Keystone用户
  • Keystone租户
  • Keystone角色
  • Keystone租户会员资格
  • 一瞥图像
  • 从nova网络到中子的网络
  • 从nova网络到中子的安全团体


只需编辑stack2stack.py文件的顶部,定义的凭据即可 您希望在迁移中使用两个openstack云(old_cloud_是 源云,new_cloud_是目标云)。然后简单地跑

python -u | tee stack2stack.log

这将运行迁移并将输出捕获到stdout和日志文件 stack2stack.log



  • 因为api无法揭露底层的煤渣体积,煤渣   卷不会迁移
  • 由于API不公开用户密码,因此目前每个用户帐户   在新的云中重置密码(并打印在日志中)
  • 不支持迁移中子到中子网络(尚)

本文使用googletrans自动翻译,仅供参考, 原文来自


stack2stack is a simple python script to aid data migration from one Openstack
cloud to another through use of the APIs. It aims to cleanly migrate the data
keeping as much in sync as possible, up to the limitations of the Openstack
APIs themselves. Currently the script migrates

  • Keystone Users
  • Keystone Tenants
  • Keystone roles
  • Keystone Tenant Memberships
  • Glance Images
  • Networks from nova networking to neutron
  • Security groups from nova networking to neutron

How to use

Simply edit the top of the file, defining the credentials of the
two openstack clouds you wish to use in the migration (old_cloud_ are the
source cloud, new_cloud_
are the target cloud). Then simply run

python -u | tee stack2stack.log

This will run the migration and capture the output to stdout and the log file


Currently stack2stack has the following limitations, some of which are slowly being addressed

  • As the api offers no way to expose the underlying cinder volumes, cinder
    volumes are not migrated
  • As the APIs do not expose users passwords, currently each user account
    in the new cloud has their password reset (and is printed in the log)
  • No support for migration neutron-to-neutron networks (yet)