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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-6-17 17:01:12 | 显示全部楼层 |阅读模式
命令介绍
' b7 }9 o3 @$ J/ ^* l" g% @  1、 查看EXSI 主机虚机列表
* V8 N# o+ A! E" u' ]$ Z    #virsh -c esx://root@EXSI_server_IP?no_verify=1 list --all        ## EXSI_server_IP : EXSI 主机IP,需要输入服务器的root 密码4 v( p3 Q5 N, X4 o8 }0 u2 S5 w

: R5 }: R8 O0 w9 s* X8 o  2、拷贝虚拟机到本地,拷贝完成后会在当前目录生成一个xml文件和disk1磁盘文件,同样也是需要输入EXSI 服务器密码
' `! D( T* }$ U1 ~0 y: s4 v5 ]    #mkdir /data         #创建用于存放文件的目录: T7 |$ L. a! P
    #virt-v2v-copy-to-local -ic esx://root@EXSI_server_IP?no_verify=1 vm_name            #vm_name: 需要拷贝到本地的虚机名称(在步骤一中获取)
! o1 L/ K) P* ^( r     % F! m! e5 _# K7 o
- Z5 l! e0 |0 H
* M3 w, _+ z" l/ p/ B& u
  3、转换数据格式,把磁盘文件的格式转换成OpenStack能够识别的格式 (如果有报错,查看最后的报错总结)) {  |/ j4 p5 q
    # mkdir /data/vms          #创建用于存放格式转换后的文件- J$ _$ E8 p7 @: M
   # virt-v2v -i libvirtxml vm_name.xml -o local -os vms/ -of raw               # -of :转换为row 格式        -os :指定输出路径      vm_name.xml:为第二步骤中生成的文件9 q( ?/ ~8 I7 C, t7 h5 l- G
    9 Q- V" [1 S3 {# [
  4、将转换完成后的 vm_name-sda 文件上传至openstack中,启动新的虚机。
    流程:创建卷-->通过rbd 导入 vm_name-sda 的设备---> 启动虚机

( N- \+ d6 l! ]4 u6 l0 Q( C" |! m+ i

" _, i* B2 `; g+ V& i' N+ C4 D9 a' y2 T" r4 Z" F% l# F6 ?

- K: R; ?% d1 Y$ q5 D2 k四、报错总结:2 ~) f8 h8 ~+ @& M  K
  第三步报错:Failed to connect socket to '/var/run/libvirt/libvirt-sock'
( |- Y' r# s& p* W2 c8 `
( A) o  H. q3 P0 m' P  解决:, G) V3 ]0 Z* t2 v% |" G# A- v
    1、# groupadd libvirtd       #增加libvirtd用户组& Z! x; {* p4 s- [5 k1 w
    2、# sudo usermod -a -G libvirtd $USER     #设置用户到组
( L* w5 r8 r4 N) t/ }    3、# vi /etc/libvirt/libvirtd.conf         #取消注释并修改为如下:  8 g7 o4 K7 r" o$ g, {8 M+ S7 t* j
      
2 w- O4 i! q* K' i; U8 e0 ~
0 X# c3 w( V* k- c; ]1 s3 I( h
    4、增加权限启动配置$ y. t: s9 D% o3 r1 ~' B  I
      # w5 E% _- \- D& Q# s9 k  g
  • 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+ d1 c$ J; t3 }, h) {+ K
4 U( h7 K0 k6 R) u# L

6 H2 K) E# Y6 d# g% l3 ?& Q6 ]    5、重启服务
# G1 ]$ a, q8 d% b2 V7 U+ y0 r      # service libvirtd restart3 {9 N' f- y( e# p( O0 M9 s; ?

- s4 M& P9 u& v/ W' u, B

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-10-21 09:22:11 | 显示全部楼层
[root@compute03 opt]# virsh pool-list # }$ l& ?" s, y/ p- Q7 z/ g" Q1 x
Name                 State      Autostart - v9 }4 [0 t% b( q1 X* ]  g7 C
-------------------------------------------4 g3 |6 b* R) H* G. |
2222                 active     yes      
: S  i- G+ `$ w' J default              active     yes       9 v& J0 V8 ]7 u# _( l' _/ D
opt                  active     yes      
' J9 T+ m* [$ C2 q rhev                 active     yes       $ [9 R8 |" x6 D, y2 w

) N% j5 L% |7 T* x4 I+ }[root@compute03 opt]# virsh pool-list rhev3 s8 w, {9 l( u
error: Invalid pool type 'rhev'1 S1 w' P  M+ j0 E. b

7 C/ n& x) T3 }9 P9 ^6 o[root@compute03 opt]# virsh pool-info rhev
& X; S. A/ P0 O7 G4 gName:           rhev
+ U$ D; ]9 L# nUUID:           103a948e-1b28-43a8-a463-50c122ecad6a
+ I: \# ~9 H0 e3 PState:          running/ B; u3 |8 C6 y, M; s
Persistent:     yes3 m0 |/ G) I! F8 p: T
Autostart:      yes6 i/ j2 ^& j& s9 {2 k% I3 X
Capacity:       541.64 GiB+ W' k# ?% c# x+ R. N$ E
Allocation:     372.81 GiB) ^* [, w% v) N/ _: u
Available:      168.83 GiB
* U. [1 u' c5 q+ J% f/ s( o/ }# y2 N( i
[root@compute03 opt]# chown -R qemu:root
4 I# ?. F3 K4 S0 n& e8 fcontainerd/& Q' N3 I: G! Z
containerd.io-1.4.3-3.1.el7.x86_64.rpm
' p4 \5 s& g" L5 R, L" D) y# idocker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm
( \9 J7 s% q$ h3 C: x6 R8 x3 q2 jrh/& R0 a+ o% t# q) U; l5 ]4 [
rhev/
5 y# b1 P0 b' j[root@compute03 opt]# chown -R qemu:root 4 o9 G7 G$ G- x; |( i
containerd/$ j9 @$ f' m5 V3 A2 Y4 ?  U
containerd.io-1.4.3-3.1.el7.x86_64.rpm  s2 |( M& K2 e. n7 R% U& P
docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm: i4 L, K9 P  Q  d8 p3 ~  k0 r
rh/
" W0 q' m7 g5 b- Q; Jrhev/% p& A2 ?1 V# v! n5 N6 Q
[root@compute03 opt]# chown -R qemu:root rhev/
9 T  W% c5 k1 @" ?! K[root@compute03 opt]# ls
/ O& W9 s: r0 i) _) g& Scontainerd                              docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm  rhev
5 W( g" w, v# p& K: }. U+ ]/ Jcontainerd.io-1.4.3-3.1.el7.x86_64.rpm  rh
) i" D0 U( u" J* V5 J[root@compute03 opt]# ll
8 {6 P$ E7 K: W% w4 u. j! y  W1 Ptotal 43136  q- r0 E  {- H& a8 c! q
drwx--x--x  4 root root       28 Apr  8  2022 containerd
" _0 o+ g9 s4 C" k-rw-r--r--  1 root root 34677436 Feb  2  2021 containerd.io-1.4.3-3.1.el7.x86_64.rpm+ B) a! M9 V; w2 h
-rw-r--r--  1 root root  9486464 Feb  2  2021 docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm
3 l: q% Q% H2 i1 p6 g1 tdrwxr-xr-x. 2 qemu root        6 Oct 31  2018 rh
% ^1 ~4 E9 y, fdrwxr-xr-x  2 qemu root       22 Apr 25 14:02 rhev
% {# K6 |& N5 ^  N% m& L
! @$ ?4 k1 I8 B8 \3 j3 R' _7 F* I% n* B+ e( D

" q5 i8 r1 X& t9 T+ j' B开始迁移:
# l9 x$ W2 s6 R0 B3 t' b1、将使用virt-p2v镜像制作的U盘启动盘来引导物理机。
6 B, O: {" M' z  t1 @2、进入到图形界面3 _4 N' |1 Q. I( \
        1.填写中转机的IP地址
4 E3 {1 I. W0 `% B+ Y        2.填写中转机的sshd服务端口号(默认为22)
" n( }; G8 Z1 C) o* Q# x        3.填写中转机用户名
0 U3 E3 M4 ?3 k        4.填写中转机对应用户名的密码) |, z  j: q) W: V9 \- }4 q. p( c
        5.填写私有sshd服务密钥路径(可以不填写): c& U% U+ J: Q6 _5 V
                   配置网络, 如果没有dhcp。需要手动配置一个静态ip地址,点击configure network ,删除所有默认的网络配置,手动创建新的! w4 g! }! x  a& Q( ]0 c. _
                   选择网卡设备,这里我们要选择可以 连接到 中转机的网卡设备, l: @0 A1 J, n: C" a$ P6 P
; T" U6 O+ v7 ], k! O. A: Z. t. r: ~" Q( F
配置好之后,点击Test connection,然后 测试通过后,点击Next。4 {# \$ g' ?3 T2 F
5 t1 g3 [* \5 O) A' L; A
设置迁移信息,
6 |' A& P: e" T' s3 i1 p+ ~1.填写主机名称,cpu数量,内存容量(此项自定义)4 P( ?/ ?+ M% h0 V. P  K
2.选择管理工具(libvirt),生成镜像文件的输出位置(存储池名称)和输出格式(raw,qcow2)
( }2 @% B. v6 U- O4 C; Y/ i填写 物理机转换为虚拟机的输出方式和格式,具体如下:1 ~( ]& \$ e- X. F* f$ }
: h4 V6 f% b$ x
output to (-o): 选择输出模式,推荐选择 libvirt 模式或者 local 模式
! |2 Q1 }/ A3 S# O, F" Noutput conn (-oc): 填写一个 kvm 虚拟化的域名 (可选)! C; F* V; G' e
output storage (-os): 填写一个存储位置,对应输出模式选择存储位置, libvirt 对应存储池名称, local 对应中转机的存储目录
0 n! H6 r8 a) ?0 |8 F# Woutput format (-of): 填写输出格式,推荐 qcow2 格式,如果存储位置空间够大,可以填写 raw 格式* P7 M; _2 e3 s& B2 |2 h7 G* o
8 I& l1 w! c* i, q0 U+ ]+ F+ c# \
1 x1 z, b! @' X; f
, S0 b' ]# N! Y
0 e8 |4 K. r4 v1 [8 H2 ?" e  I" x5 w
3.选择需要转换的硬盘
# B8 \% d9 q1 Z6 O4 B3 [4、要转换成虚拟机的时候,保留的物理网卡
% Z. N+ L% M$ A5 n( t2 O配置好后,点击Start conversion。
0 e" G/ A9 T# G# A% X# I9 X/ y0 Y0 ^" }% [' D! B% d
以下是示例配置信息:
' S, `1 \# F" j; D! d; U  l3 @将转换成的虚拟机磁盘,保存到中转机的/p2v-pool,虚拟磁盘格式为qcow2 格式。4 S& \% S; X' s% ?) V) t5 j% ^: ?

  _9 Q9 x0 W4 O/ ?2 Z1 P. ?迁移过程中选择了libvirt模式,那么物理机的操作系统迁移过来后,会直接在中转机virt-manager中生成shut off状态的虚拟机。+ S% W  N; N% a. T4 ]- s
' [! M5 t- a5 c+ ?* A

8 n. d' M) t" G3 o" Y; Q9 Z; v9 g, o

1

主题

0

回帖

12

积分

管理员

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

本版积分规则

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

GMT+8, 2026-6-12 00:16 , Processed in 0.038105 second(s), 32 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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