将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 68|回复: 0
收起左侧

将kvm虚机导入openstack平台中管理

[复制链接]
发表于 2022-6-17 17:00:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?开始注册

x
将kvm管理的虚拟机迁移到openstack
, m2 n+ c4 S% u! z* i3 [: C, S" B8 Y! F% b& t
说了这么多,这才是本文重点。具体步骤如下:5 [* ~/ g" n$ ~/ D! A8 j
  U& l& _, I( q; W5 B
a.备份kvm中的虚拟机成为镜像文件,在计算节点执行" N( C3 Y1 B4 l" i& C" b! d$ E
1 m8 O" q2 ^) ^& R0 n9 M+ i
qemu-img convert -f qcow2 -O qcow2 disk newdisk : e" J& g6 V7 i+ ^0 `
2 _, D8 E3 d2 i* \
b.停止虚拟机
, `" s( r, {) k7 Y7 F8 m1 `' R$ @4 ?+ i* r! q
c.在计算节点创建nfs将上面打快照的newdisk共享到控制节点,主要要减少大型虚拟机在结算节点和控制节点之前的拷贝,虚拟机一般500g左右。mount好以后,控制节点就会误以为镜像文件已经在自己的控制节点上了,省去了将快照镜像导入glance的步骤。
* S- Y# }2 \/ U8 r  j! {: G6 N  M$ G* w1 n2 c0 d0 h
mount 192.168.0.2:/home/share/newdisk on /openstack/lib/glance/images9 X* @4 u! Z$ S* I9 U7 V/ O* _
: C) v8 e0 }8 E  N
d.修改openstack的数据库,修改数据库后,在新建虚拟机时才能在页面和openstack真正使用刚才假冒导入glance的虚拟机快照。细心同事写的脚本。在控制节点执行。6 O6 ]1 }+ Q2 x& I% J# Z
. U" @6 L0 l0 u' C, F" M( ~
#!/bin/sh
# _# Y# G- j  Q# e1 M. T! w6 B# R; z$ U& m1 B
iname=$1
/ k/ U# c* V" d) e3 \5 c
/ _% ]- t9 W7 ofilepath1="/tmp/$iname-1.sql"
5 ]/ b& ]( C% L& ~0 J
+ P) s4 P' j( y& ifilepath2="/tmp/$iname-2.sql"6 o+ }! {1 @& i

1 h# C# x. Z6 xmysql -uroot -ppasswd<<eof
5 U7 `  q3 T/ p& l- H* B- G" l
/ z$ r+ h& |3 A/ L- B5 Ouse glance;  B. M; c, U3 h+ G; @

: t& P( n' z" ^* g8 u! ]( iload data local infile '$filepath1' into table images(id,name,size,status,is_public,created_at,updated_at,deleted_at,deleted,disk_format,container_format,checksum,owner,min_disk,min_ram,protected);& e9 K: ?* B/ f7 A! l

4 z+ t0 Y* S3 u1 Oload data local infile '$filepath2' into table image_locations(image_id,value,created_at,updated_at,deleted_at,deleted,meta_data);, c  P1 S, C4 a2 O

& B/ I$ y6 ~( b% i' L/ hEOF' M. {. o2 v$ g% @
* [7 C( L' s( f- l9 t
执行import_mysql.sh 192.168.1.xxx_20161205
0 d+ o3 Y1 B5 E9 e% j: C( k0 F# ~" F
inname-1.sql内容:: g' [* j) z5 f- A( |

( o( O5 r. o/ h- X* T- K) We340ccc1-dd65-4163-822f-348d5711313f  172.21.0.41_20161205  97956003840   active  0     2016-12-02 18:10:04   2016-12-02 19:36:10   N    0     qcow2 ovf   e30b8b94918aad131cf4618a8efc3d78      f3267153b73d4bf09bed91eb289e26ec 0     0     0
9 j+ i3 S5 w! C
: E5 \" \" f$ q$ }+ vinname-2.sql内容:6 b) }' z4 f# I' n5 O3 {

7 w$ n7 H! c: E1 T9 @) l  G92b44daf-a529-469d-b428-dca8bc39fe4c  file:///openstack/lib/glance/images/92b44daf-a529-469d-b428-dca8bc39fe4c      2016-12-02 17:59:30   2016-12-02 17:59:30   N    0     {}   4 G# T* b6 F; M

. o3 }- U# _3 K$ H/ ~; b) r6 Ge.修改计算节点openstack HAVANA代码,由于我们不想让glance把快照传来传去,假装了glance的已经导入的快照,但是glance还是有办法判断,注释下面的代码让glanceclient不再判断。记得注释完pythonc编译一下,然后重启service openstack-nova-compute 服务。1 ?+ @' N+ h, i& N5 \+ Y6 c

8 [# s2 L) A: y- T! E! Zvi /usr/lib/python2.7/site-packages/glanceclient/common/http.py  j+ e( n7 r) p- [! t

% O. E+ [! T( O将501行-504行注释代码# R: |6 S6 G2 |; d3 P! i

' e5 k9 g, d  k0 k9 S6 x501               #if self._checksum is not None and md5sum != self._checksum:! J% U- F; L& n6 B7 |. u) |: p

9 m) m# q" X  j& n502               #  raise IOError(errno.EPIPE,! A- E/ Q# ]  O2 E+ t) r# d

  a& p& }( a" V% a" W. L503               #                'Corrupted image. Checksum was %s '* S) n. O, Y! U5 m5 r

: o0 R3 Z& M) I# U/ h. G504               #                'expected %s' % (md5sum, self._checksum))
3 q2 c- h6 e. k5 G, c6 V0 q' }5 ~4 T8 n: @* i8 G! m
f.到这一步,kvm到openstack Havana的快照镜像已经准备好了,只需要在建立虚拟机就可以了。当然具体建网络,subnet和openvswitch的port过程不说了。
5 w+ ]* p8 i2 r9 [# S: \4 v0 Y" v9 v5 x5 H8 I
5. 验证主机,一切ok,KVM虚拟机迁移到openstack 成功。0 j& a2 J0 H5 Y$ o$ q& N  M

" N1 R8 S' p+ c6 y8 G( l</eof
" |* I% L0 x, }  J# i% D% U. {) Q+ S5 ^' p7 i
<eof2 F& ^: p, U6 e9 A

( q8 S0 {2 Z8 v8 {</eof
4 ?" b3 Q  D9 k- x: l$ u% Q) g( {0 u  f4 R; @4 [, g  L# m  ]# S
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2022-7-4 10:03 , Processed in 0.041786 second(s), 22 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

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