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

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

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-6-17 17:01:12 | 显示全部楼层 |阅读模式
命令介绍4 G  A+ K/ T( O1 U, ]% e4 W1 h
  1、 查看EXSI 主机虚机列表
5 V# R  i8 d! f* V    #virsh -c esx://root@EXSI_server_IP?no_verify=1 list --all        ## EXSI_server_IP : EXSI 主机IP,需要输入服务器的root 密码
2 m  v6 V! ^  F* N; }: B4 u. e, v$ c
5 d' d  \1 N  M' U, I* W  2、拷贝虚拟机到本地,拷贝完成后会在当前目录生成一个xml文件和disk1磁盘文件,同样也是需要输入EXSI 服务器密码
9 Q0 z7 G% Q) l) @6 c    #mkdir /data         #创建用于存放文件的目录6 e/ M' W, y1 Y- n$ |
    #virt-v2v-copy-to-local -ic esx://root@EXSI_server_IP?no_verify=1 vm_name            #vm_name: 需要拷贝到本地的虚机名称(在步骤一中获取)
4 ^: i8 ~$ I6 t( e9 p6 J! z' t     5 I" N5 N( ^+ F: r: m5 q

4 f: j' T; \+ i$ s
  T9 n2 S% o0 s# l* B, ^( L  3、转换数据格式,把磁盘文件的格式转换成OpenStack能够识别的格式 (如果有报错,查看最后的报错总结)9 W# A2 ^7 h" }: s2 c/ U& n
    # mkdir /data/vms          #创建用于存放格式转换后的文件
3 k8 C1 W. [; w" w3 v( {   # virt-v2v -i libvirtxml vm_name.xml -o local -os vms/ -of raw               # -of :转换为row 格式        -os :指定输出路径      vm_name.xml:为第二步骤中生成的文件1 T) w/ x" ^- {( G/ ]
    . \8 r! b* x8 a
  4、将转换完成后的 vm_name-sda 文件上传至openstack中,启动新的虚机。
    流程:创建卷-->通过rbd 导入 vm_name-sda 的设备---> 启动虚机

. K4 y1 P, R, a: M4 l0 h/ Y: m( r% j9 X# M) L  G

2 }  `) d2 D% H5 E+ s( u2 V
$ Q1 {) Q5 k3 {# Q6 s0 O" Q! F7 T
, f+ z; p7 N9 H! g四、报错总结:
# a; ]- c3 M2 D% W' v* U3 _# C  第三步报错:Failed to connect socket to '/var/run/libvirt/libvirt-sock'
7 k9 K* h1 Q. O1 n" D" l4 U  M$ \- I' s5 T
  解决:
8 @: p: }/ ]$ L4 w0 c$ r3 R    1、# groupadd libvirtd       #增加libvirtd用户组
$ y. ~& d+ l" V" b) a9 w* i/ y    2、# sudo usermod -a -G libvirtd $USER     #设置用户到组+ R% K5 g" n; N1 U3 X* |( J1 k
    3、# vi /etc/libvirt/libvirtd.conf         #取消注释并修改为如下:  
) m. k/ d( d! `9 R- C0 h      ' T" @' j/ y4 u4 T! S2 ], }3 w

; t( ?1 f8 k8 X) M, |) o    4、增加权限启动配置
2 a8 |' R0 R/ s# Q' a9 c% L        }! H/ W1 G% C( u" P
  • 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% r# H+ m' u; @0 Q( g" R

3 C# D8 u# ?' \

* D% g' |" e3 E5 U  p* q    5、重启服务
1 L8 w7 E2 k$ U# H+ j; }- r/ d      # service libvirtd restart
: ]& w$ ~7 J$ r1 ]* A9 e
) ?8 A0 _& J4 a  F. P! V% i

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-10-21 09:22:11 | 显示全部楼层
[root@compute03 opt]# virsh pool-list
  d% X, }1 w7 Q5 k Name                 State      Autostart ( J5 p* t$ {6 Z4 l$ c
-------------------------------------------
/ h& C  L8 _- e( t! S8 P/ X 2222                 active     yes       - E# D4 e; j  k5 @! [9 H# u- f
default              active     yes      
. W7 T9 T# ]6 \! v2 C) G$ D. E# ~ opt                  active     yes      
, G" j$ o. P* l1 e rhev                 active     yes       - C$ W/ e2 K- f; ?
" J- v5 u* q" \; d! V7 M$ G- y
[root@compute03 opt]# virsh pool-list rhev, Z0 l  A7 b& K1 M2 e
error: Invalid pool type 'rhev'
0 F- e: g1 o8 H# O; Z6 D! W' S+ c3 m1 ?# W6 D
[root@compute03 opt]# virsh pool-info rhev
; b2 B, ^0 j+ K- M9 l7 EName:           rhev/ ^2 }3 N0 G) @/ Y. V% O
UUID:           103a948e-1b28-43a8-a463-50c122ecad6a3 R& B( Y5 O. M
State:          running
1 Z4 ]. B3 }' x( a3 k2 Y0 Y* n" aPersistent:     yes! _6 \0 I* F0 O9 n0 t) w9 P! C
Autostart:      yes  Z( u, M; F& R- J8 z9 h
Capacity:       541.64 GiB
2 ]7 O- q  ^1 SAllocation:     372.81 GiB3 P% f; s/ B1 W/ O& N/ t! y6 i
Available:      168.83 GiB4 p; \. e2 ~% m

- i  z- q, j1 E# a1 M! Y0 ]6 x, G1 ~! @[root@compute03 opt]# chown -R qemu:root - t4 w; Z4 I3 I
containerd/
& k. x3 ^- [: v) u) ~! n5 q' X, dcontainerd.io-1.4.3-3.1.el7.x86_64.rpm. F. v8 O/ k: t/ i' o* Z7 `: `: F
docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm; R! m3 R8 A% m2 z' e# Q  r
rh/
8 |2 n2 o2 K) k4 Vrhev/
9 ~9 E% }1 K% h( F/ Y2 O$ g) p6 s9 k[root@compute03 opt]# chown -R qemu:root
1 `$ v; u# r3 W7 wcontainerd/
% M5 F! a& n5 u2 I$ \containerd.io-1.4.3-3.1.el7.x86_64.rpm4 [/ L8 V  `1 f: B
docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm
: Y3 q2 V! T! U% N# L2 grh/
- O& U  u, l  r; ?rhev/
: z. b1 d- |' V9 `/ B4 p[root@compute03 opt]# chown -R qemu:root rhev/. D% Y4 z6 m6 c
[root@compute03 opt]# ls
( |1 ^) h8 G$ C/ b! Acontainerd                              docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm  rhev
  l- i4 q/ @1 Econtainerd.io-1.4.3-3.1.el7.x86_64.rpm  rh
7 e/ Y7 ]- W2 B) z  \[root@compute03 opt]# ll
3 H5 ]! y1 M4 B, u* c! M4 @7 Ptotal 43136
1 I1 g* X- L3 b: E9 f% Wdrwx--x--x  4 root root       28 Apr  8  2022 containerd
: `& V& n* j- b3 ]0 n$ a-rw-r--r--  1 root root 34677436 Feb  2  2021 containerd.io-1.4.3-3.1.el7.x86_64.rpm! z& }, N& z8 `3 B; m- b6 E
-rw-r--r--  1 root root  9486464 Feb  2  2021 docker-ce-rootless-extras-20.10.1-3.el7.x86_64.rpm$ F" X3 A* W* ]: F/ {; a, w4 m
drwxr-xr-x. 2 qemu root        6 Oct 31  2018 rh
$ R$ u- w( z6 ^$ mdrwxr-xr-x  2 qemu root       22 Apr 25 14:02 rhev. [  U' C2 Z6 p

" p2 m7 p5 e3 g$ K8 O$ p9 S
0 p$ I+ N4 v( u; O, b: b; d1 B0 T1 A6 m# e$ r, y4 E
开始迁移:
8 J! I) p$ \8 |3 t1、将使用virt-p2v镜像制作的U盘启动盘来引导物理机。% Y0 G$ k* c2 R  a. x
2、进入到图形界面: m$ b8 `& g0 b% b0 X, B
        1.填写中转机的IP地址( x1 n$ L4 w  d& }
        2.填写中转机的sshd服务端口号(默认为22)
; Q+ V! ?4 s( X. J/ Y        3.填写中转机用户名+ ^' l" X' b8 q: j6 ^! R
        4.填写中转机对应用户名的密码% b4 G; I7 A+ d# R* ^. Z! K
        5.填写私有sshd服务密钥路径(可以不填写)( c1 |) @6 b5 b4 Y& |. P, v, A# J
                   配置网络, 如果没有dhcp。需要手动配置一个静态ip地址,点击configure network ,删除所有默认的网络配置,手动创建新的
( N6 Z  g# `' b6 z                   选择网卡设备,这里我们要选择可以 连接到 中转机的网卡设备: J0 U4 B; ]8 a; v

; ~# v' [( q& c1 |* c6 ~" Y- f配置好之后,点击Test connection,然后 测试通过后,点击Next。
1 W. ~7 X3 I8 p1 o
( |- A! D" e& R( |: q) d* i 设置迁移信息,
; i) l+ h: p$ W$ B! K4 t/ R; x" J) F7 V7 N' o1.填写主机名称,cpu数量,内存容量(此项自定义)
) ?) Z$ C% P+ x2.选择管理工具(libvirt),生成镜像文件的输出位置(存储池名称)和输出格式(raw,qcow2)$ F- h6 j8 A6 q9 B) O) Y
填写 物理机转换为虚拟机的输出方式和格式,具体如下:5 {+ I7 v& W$ j% m! R3 P

$ O8 }8 f) Q) X3 A. a+ G9 aoutput to (-o): 选择输出模式,推荐选择 libvirt 模式或者 local 模式
6 p& {. f- _7 |! \output conn (-oc): 填写一个 kvm 虚拟化的域名 (可选)- z0 g+ S& a5 }! m$ f& p
output storage (-os): 填写一个存储位置,对应输出模式选择存储位置, libvirt 对应存储池名称, local 对应中转机的存储目录
# z. m- v4 Q0 ]1 \output format (-of): 填写输出格式,推荐 qcow2 格式,如果存储位置空间够大,可以填写 raw 格式
* Y; t( ^+ ]% `  Q8 f. Y! A
2 C- L9 ?2 ?, _0 t4 {$ l
( K0 d% N. ^+ I2 H0 D1 }6 E3 _# J7 o/ l/ [7 s6 l
  C4 M! z' ?% |3 n, V! ?! g
3.选择需要转换的硬盘$ l# F3 a# T6 |% A8 r# k
4、要转换成虚拟机的时候,保留的物理网卡
- a4 _  s8 ~4 T" T* l( _; n配置好后,点击Start conversion。, K3 w8 g! N+ E  R- _
3 B* N- }: O# ?' E& r# v" r$ V
以下是示例配置信息:
+ L( }, [& w) F7 Y* ]8 R) p将转换成的虚拟机磁盘,保存到中转机的/p2v-pool,虚拟磁盘格式为qcow2 格式。
- a. w8 x$ M! R; s& e" Q
7 g5 V) ~9 n5 ^  G# A7 Z5 \: W迁移过程中选择了libvirt模式,那么物理机的操作系统迁移过来后,会直接在中转机virt-manager中生成shut off状态的虚拟机。
; S8 m$ F' F- Z; R. R
4 L* n0 [( f% G; v- ]
! G* T: s, h' K, |8 n# m0 d% v

1

主题

0

回帖

12

积分

管理员

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

本版积分规则

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

GMT+8, 2026-6-12 02:22 , Processed in 0.030089 second(s), 29 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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