找回密码
 注册
查看: 896|回复: 2

通过virt-v2v迁移虚机到openstack平台

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-6-17 17:01:12 | 显示全部楼层 |阅读模式
命令介绍9 y$ t+ \1 f: B% V$ x0 U
  1、 查看EXSI 主机虚机列表
; p3 y+ @' \9 R' R4 Y" S0 `, B    #virsh -c esx://root@EXSI_server_IP?no_verify=1 list --all        ## EXSI_server_IP : EXSI 主机IP,需要输入服务器的root 密码
8 Z, D1 x! T0 L- U" r! C$ y& x( c6 g1 I
  2、拷贝虚拟机到本地,拷贝完成后会在当前目录生成一个xml文件和disk1磁盘文件,同样也是需要输入EXSI 服务器密码  t, y0 F0 I' O$ A3 ]6 }
    #mkdir /data         #创建用于存放文件的目录$ l) J2 y. h+ x+ C' _
    #virt-v2v-copy-to-local -ic esx://root@EXSI_server_IP?no_verify=1 vm_name            #vm_name: 需要拷贝到本地的虚机名称(在步骤一中获取)( n% c' Y9 w/ [# Q7 }& }
    7 r1 C9 A. W" o8 Y- t
+ U- H1 W+ ^2 }0 m# G

" F# [2 R4 w$ V; l2 F  3、转换数据格式,把磁盘文件的格式转换成OpenStack能够识别的格式 (如果有报错,查看最后的报错总结)
- V' r5 E  v6 l% Z# c: A8 \    # mkdir /data/vms          #创建用于存放格式转换后的文件
$ B6 }3 g4 d1 s' G( L& Y6 M1 p# a   # virt-v2v -i libvirtxml vm_name.xml -o local -os vms/ -of raw               # -of :转换为row 格式        -os :指定输出路径      vm_name.xml:为第二步骤中生成的文件
( i7 _" n. D/ K1 R9 x$ n, c2 U     
  m8 ^. R, J, `& P
  4、将转换完成后的 vm_name-sda 文件上传至openstack中,启动新的虚机。
    流程:创建卷-->通过rbd 导入 vm_name-sda 的设备---> 启动虚机
: A: }6 e0 j1 {' D# x" T0 @

. F$ R% o. @- _% }- ?9 e! \* J5 K7 Y: i
4 e8 D& q- [5 \4 g
( c( ?1 t( |3 @$ [0 T1 b1 V
四、报错总结:
3 ]: l7 i5 ~3 M; F3 a! a+ ^1 L' p  第三步报错:Failed to connect socket to '/var/run/libvirt/libvirt-sock'
; G# S  j; C. m8 k
. F! ]/ {: W1 g# i, B" H2 \  解决:
- Q. w: C# a# V- J6 t7 _    1、# groupadd libvirtd       #增加libvirtd用户组" S& c; j: q  P1 R; M. D
    2、# sudo usermod -a -G libvirtd $USER     #设置用户到组( z  ~. `6 |; q4 H+ A3 z
    3、# vi /etc/libvirt/libvirtd.conf         #取消注释并修改为如下:  
. R7 k( y( c4 d  K  a% h* o      
* W+ L4 X' C6 I4 e. }: a& G8 v: H" h) R

/ `4 d( e# |! n! Q% b8 n    4、增加权限启动配置
* L  Q( u1 W/ J5 p: R      6 x( c1 o# A6 z3 I) j2 X
  • vi /etc/polkit-1/localauthority/50-local.d/50-org.libvirtd-group-access.pkla
  • [libvirtd group Management Access]
  • Identity=unix-group:libvirtd
  • Action=org.libvirt.unix.manage
  • ResultAny=yes
  • ResultInactive=yes
  • ResultActive=yes. L; G" G* t+ J' r
* N1 @( J' D- P% w6 p5 S1 O3 t

, C& [0 b# r& v3 W    5、重启服务7 x7 L. s2 o% s
      # service libvirtd restart
' r3 }. G9 t0 Z2 s
# m  |0 f" \) @/ r9 t9 s- Z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-10-21 09:22:11 | 显示全部楼层
[root@compute03 opt]# virsh pool-list
  q% E; K$ F  c5 w+ C Name                 State      Autostart 2 J5 F' o; V' q/ s+ n/ c8 V
-------------------------------------------7 X+ R( Z0 v& l/ U
2222                 active     yes      
9 G( g1 `9 X4 @2 L1 M( U8 C2 B, F default              active     yes      
: ]- c+ \" c- @, s opt                  active     yes      
7 P! z0 F2 o; C rhev                 active     yes      
: d+ E7 i: }) t$ J7 y
! b" V3 D* x; F& X7 f[root@compute03 opt]# virsh pool-list rhev
8 S0 E5 Q- g# serror: Invalid pool type 'rhev'
% y- s7 U7 J8 k, L2 Q6 ?( r2 g! P5 Q, P5 X
[root@compute03 opt]# virsh pool-info rhev
7 d3 C2 C% i, E- d+ N0 g0 sName:           rhev& l3 u3 m5 v: q  |* Q7 S* x8 R# j2 K
UUID:           103a948e-1b28-43a8-a463-50c122ecad6a9 y! `9 O* @3 u3 [- ?* `! b
State:          running- P7 @% x% ~5 X' y( @$ C! v- F1 D
Persistent:     yes# Y! v0 b. d% O% g+ e
Autostart:      yes
2 K; x. v  I7 i* S9 i) E. Q5 r/ w$ BCapacity:       541.64 GiB8 i2 W2 U0 n/ T8 H2 b
Allocation:     372.81 GiB9 F) Z$ l) r. H
Available:      168.83 GiB5 B# M+ X: t0 R- m' C

& ^' U7 p% W; h[root@compute03 opt]# chown -R qemu:root 1 n! L/ G- U# I& Z9 Y# F7 F
containerd/, k. P# K5 K7 o0 n0 o
containerd.io-1.4.3-3.1.el7.x86_64.rpm" o0 S: z" G3 w, k+ ^% V
docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm$ U6 ~7 R/ Z1 W4 c: p
rh/* }' {: x4 }+ }2 b" }
rhev/1 B. n8 S! |' R; G: \; N
[root@compute03 opt]# chown -R qemu:root ( s! q! ^; P) m. R, Q) m' I
containerd/
4 c- q& f, B. t9 G; D$ lcontainerd.io-1.4.3-3.1.el7.x86_64.rpm
# s& ?/ }( z. a$ A- h+ \docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm
3 G* B) S. i5 {( z3 G' V8 Frh/% h; g8 Z" @( K0 _7 U: c# p8 o
rhev/; r* M4 S- K$ u/ D5 _* d$ p! |
[root@compute03 opt]# chown -R qemu:root rhev/; ^! ~8 ]3 m( \; L3 O' |
[root@compute03 opt]# ls+ W$ j6 T5 j( q% p
containerd                              docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm  rhev& }( X: J) q# n! R
containerd.io-1.4.3-3.1.el7.x86_64.rpm  rh! |1 N8 W* C/ U1 H) q
[root@compute03 opt]# ll  J1 ^2 \/ J3 N' [9 h# N
total 43136# M7 T" m5 F; Z- |' y4 @
drwx--x--x  4 root root       28 Apr  8  2022 containerd; R0 @, T  S2 [1 {( B. p8 y
-rw-r--r--  1 root root 34677436 Feb  2  2021 containerd.io-1.4.3-3.1.el7.x86_64.rpm
/ I1 H2 F' b9 I# D; j1 q; }) x-rw-r--r--  1 root root  9486464 Feb  2  2021 docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm
! M! d& `3 ]2 a: d3 s) Z8 Odrwxr-xr-x. 2 qemu root        6 Oct 31  2018 rh
: C! M$ H+ s$ edrwxr-xr-x  2 qemu root       22 Apr 25 14:02 rhev
; g( j5 `# `' i2 C$ C* v/ W4 C* B( o( a6 [4 G+ ]

% h" o! l& M( W, J- C0 r  A0 m
8 i* p$ Z7 z, A7 Y- }: d开始迁移:$ [* u2 d7 ~0 s9 x' G! ]% M
1、将使用virt-p2v镜像制作的U盘启动盘来引导物理机。- P: _$ j& A; Z( y; N, y7 n
2、进入到图形界面- v: V4 g% s, M& s7 U& [0 s$ v
        1.填写中转机的IP地址
4 s; y" R% h( b        2.填写中转机的sshd服务端口号(默认为22)
5 G# Q9 {* _" u# ~: |' a9 z        3.填写中转机用户名' N( d" b; C+ m+ V/ ]5 V
        4.填写中转机对应用户名的密码( e# z. x6 e8 C) ]# v
        5.填写私有sshd服务密钥路径(可以不填写)
, z3 y  C7 Q. p! @4 O: N                   配置网络, 如果没有dhcp。需要手动配置一个静态ip地址,点击configure network ,删除所有默认的网络配置,手动创建新的) s* S& ?: d# Q) r2 U5 W. l
                   选择网卡设备,这里我们要选择可以 连接到 中转机的网卡设备
0 }. B9 _+ H# Y0 ]% e% U1 `4 y
, O8 w6 f) n( @4 f; \配置好之后,点击Test connection,然后 测试通过后,点击Next。. ^/ ^7 [  w8 e

. J& D9 \' \4 B) |  K$ b9 c 设置迁移信息,
+ c/ u9 a* R% M9 j8 d1.填写主机名称,cpu数量,内存容量(此项自定义)
+ @' s) E" P/ _2.选择管理工具(libvirt),生成镜像文件的输出位置(存储池名称)和输出格式(raw,qcow2)1 M# t+ t" j+ H
填写 物理机转换为虚拟机的输出方式和格式,具体如下:
9 F5 L' c! M- T
4 ]* G$ ~  _; R  S$ m4 P, ]2 Soutput to (-o): 选择输出模式,推荐选择 libvirt 模式或者 local 模式
, N& i3 \2 h' ]$ c4 U; R) w6 |1 ?output conn (-oc): 填写一个 kvm 虚拟化的域名 (可选)
  G; Q# O$ t, |output storage (-os): 填写一个存储位置,对应输出模式选择存储位置, libvirt 对应存储池名称, local 对应中转机的存储目录1 D* g7 ~+ E% H4 q" R, L. `- q  v
output format (-of): 填写输出格式,推荐 qcow2 格式,如果存储位置空间够大,可以填写 raw 格式! m( _1 h" S" X% h: @$ i& W

$ |( R' v% g5 L. H
2 O5 J4 W( K4 z: r* ^  e- ~0 q

' A- A- o" |2 A" z0 K% I3.选择需要转换的硬盘
' m6 P1 U1 |7 V+ d) O4、要转换成虚拟机的时候,保留的物理网卡: _0 _) H: b/ y, X1 |5 Z" A
配置好后,点击Start conversion。1 s+ S& ~) A( B

" ?/ _! e% y3 A7 z4 U9 P4 h7 `, u2 g7 C以下是示例配置信息:( C1 H2 n/ u3 Z2 U# x' k
将转换成的虚拟机磁盘,保存到中转机的/p2v-pool,虚拟磁盘格式为qcow2 格式。
) x. K" ^8 Y& |' t7 ]# G  ^! K. a5 M: [+ z& e
迁移过程中选择了libvirt模式,那么物理机的操作系统迁移过来后,会直接在中转机virt-manager中生成shut off状态的虚拟机。& O; t9 S/ ?9 b  E3 \1 Y- `
! Q5 [  u9 R; e  o8 x0 s6 t8 m9 |
3 [1 K: l$ r; A% `( n# P) n% t

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-10-21 13:31:47 | 显示全部楼层
暂不支持suse10系统
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:11 , Processed in 0.715984 second(s), 29 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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