`
haoningabc
  • 浏览: 1478439 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

qemu的不断网动态迁移的试验

    博客分类:
  • qemu
阅读更多

需求:
目前有两台服务器
192.168.139.117
192.168.139.83

把117上的一台vm动态迁移到83上,中间不断网,不影响用户使用
假设vm的网络也是一个网段的192.168.139.66,使用相同的dhcp服务
服务器上配置网络:
两台机器都要
systemctl stop NetworkManager
systemctl disable NetworkManager


网络配置为
192.168.139.117:
[root@jslinux network-scripts]# cat ifcfg-br0 
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.139.117
NETMASK=255.255.240.0
GATEWAY=192.168.128.1
DNS1=114.114.114.114
[root@jslinux network-scripts]# cat ifcfg-eth0 
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
[root@jslinux network-scripts]#

##################
192.168.139.83:
[root@mcontroller network-scripts]# cat ifcfg-br0 
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.139.83
NETMASK=255.255.240.0
GATEWAY=192.168.128.1
DNS1=114.114.114.114
[root@mcontroller network-scripts]# cat ifcfg-eth0 
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
[root@mcontroller network-scripts]# 

准备
kernel文件 :bzImage
系统镜像:hda.qcow2   迁移的必须是qcow2等格式,raw不行
如果是raw的hda.img需要转一下:
qemu-img convert -f raw -O qcow2 hda.img hda.qcow2


qemu的启动的网络脚本:
if-up:
#!/bin/sh
ip link set tap1 up   
brctl addif br0 tap1

关闭的脚本:
if-down:
#!/bin/sh
ip link set tap1 down   
brctl delif br0 tap1


在117上qemu启动vm:
/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.qcow2,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1"  -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,ifname=tap1,script=./if-up,downscript=./if-down -vnc 0.0.0.0:1


脚本和hda.qcow,bzImage都复制到83上

#####################
进入刚起的vm,执行dhclient获取ip为192.168.139.66
设置一些变量(为了观察内存迁移后是否同步)
export haohao=ning
修改一个文件(为了观察硬盘迁移后是否同步)
echo 117 > /hello.txt


####################################
在83上启动
/usr/libexec/qemu-kvm -kernel bzImage -drive file=hda.qcow2,if=ide,cache=none -append "console=ttyS0 root=/dev/sda rw rdinit=/sbin/init notsc=1"  -boot order=dc,menu=on -net nic,vlan=0,macaddr=52:54:00:12:34:22,model=e1000,addr=08 -net tap,ifname=tap1,script=./if-up,downscript=./if-down -vnc 0.0.0.0:1 -incoming tcp:0:6666


注意多了一个-incoming tcp:0:6666,其他都一样,准备接受,执行后,vm并没有开始运行

######################################
切换到117上起的vm,ip为192.168.139.66的vm上
ctl+alt 2 切换到monitor模式
(qemu)migrate tcp:192.168.139.83:6666


这个过程观察一直观察网络ping的状况

#############################
发现ping没有明显变化
83上启动的vm
ctl+alt 3  或ctl+alt 1切换到运行的vm上
内存硬盘网络已经为66了

117上的vm已经不可用
达到不影响用户使用的情况把
vm从117迁移到了83上,
好了,117服务器可以下架了

如图:



####################################
需要的基础知识:
vm的网络桥接参考:
http://haoningabc.iteye.com/blog/2306736
基本的动态迁移参考
http://haoningabc.iteye.com/blog/2307304
用qemu建立vm参考:
http://haoningabc.iteye.com/blog/2306941
  • 大小: 304.1 KB
分享到:
评论

相关推荐

    QEMU虚拟机网卡及网络配置

    ### QEMU虚拟机网卡及网络配置详解 #### 基本概念 QEMU是一款开源的虚拟机模拟器,能够模拟完整的系统环境,包括处理器、内存、存储设备以及网络设备等。为了使虚拟机能够正常地与其他物理或虚拟机进行通信,QEMU...

    云计算中虚拟机动态迁移的研究

    而在KVM中,libvirt库提供了迁移接口,结合qemu-kvm可以实现虚拟机的动态迁移。这些工具通常会结合Live Migration策略,如使用本机内存映射(NMI-based migration)或无锁内存转储(copy-on-write migration)等方法...

    openstack动态迁移分析

    ### OpenStack动态迁移详解 #### 一、OpenStack动态迁移概述 OpenStack作为一个全面的开源云平台项目,提供了丰富的功能和服务来支持云环境中的虚拟机管理。其中,虚拟机动态迁移是OpenStack的一个核心功能之一,...

    RT-Thread QEMU TAP 网卡驱动

    QEMU是一款强大的虚拟化软件,能够模拟各种硬件环境,包括处理器、内存、硬盘等,使得开发者能够在本地环境中运行不同架构的操作系统。在使用RT-Thread与QEMU结合进行开发时,为了实现在虚拟机内进行网络通信,我们...

    KVM虚拟机实现在线热迁移的方法步骤(图文)

    2、动态迁移(热迁移):对于热迁移,比较常用,通常是这台服务器上正在跑着一些业务,而这些业务又不允许中断,那么就需要使用热迁移了,这篇博文将详细写出热迁移的步骤。 1、冷迁移 通常我们存放虚拟机磁盘的...

    Qemu使用手册中文版

    QEMU支持热迁移(live migration),允许在不中断服务的情况下将运行中的虚拟机从一台主机迁移到另一台。此外,QEMU还可以创建和管理虚拟机的快照,以便在出现问题时恢复到先前的状态。 **7. 性能优化** 为了获得...

    qemu-0.9.1-windows

    3. **动态翻译**:QEMU使用动态二进制翻译技术将虚拟机的指令转换为宿主机可执行的指令,从而实现高效运行。 4. **图形用户界面**:QEMU提供了一个可选的VGA图形适配器模拟,使得用户可以通过VNC(Virtual Network ...

    qemu-img windows工具

    - **qcow2**: QEMU的二进制兼容格式,支持动态扩展、压缩、加密和快照。它是目前最常用的QEMU镜像格式。 - **vmdk**: VMware的磁盘格式,分为单个文件和链接克隆两种类型,支持虚拟机迁移和在不同 VMware 平台间...

    Qemu-0.13.0-windows-Bios.zip

    4. **动态迁移**:QEMU支持热迁移功能,允许在不中断服务的情况下,将正在运行的虚拟机从一个主机迁移到另一个主机。这对于高可用性和负载均衡具有重要意义。 5. **图形界面支持**:QEMU提供了VGA模拟,支持多种...

    qemu-w64-setup-20220831.exe

    3. **动态二进制翻译**:对于不支持硬件虚拟化的CPU,QEMU使用动态二进制翻译技术将 guest 操作系统的指令转换为宿主机可执行的代码,虽然速度较慢,但依然能实现虚拟化。 4. **广泛的平台支持**:QEMU不仅支持x86...

    linux qemu离线安装包

    Linux QEMU(Quick Emulator)是一款强大的开源模拟器和虚拟机监控程序,它允许你在同一台计算机上运行多个操作系统,而无需物理硬件。QEMU支持多种架构,包括x86、ARM、MIPS等,因此它在软件开发、测试、教学和虚拟...

    qemu-kvm-code.tar

    4. **动态迁移**:QEMU-KVM支持热迁移,可以在不中断服务的情况下将运行中的虚拟机从一台物理主机迁移到另一台,这对于高可用性和资源调度至关重要。 5. **QEMU命令行工具**:QEMU提供了丰富的命令行参数,用于启动...

    qemu-0.12.5.tar

    2. **动态翻译技术**:QEMU使用了一种称为“动态二进制翻译”的技术,将目标架构的指令转换为宿主机可执行的代码,从而实现高效的模拟执行。 3. **KVM集成**:从QEMU 0.9.0版本开始,它支持与KVM(Kernel-based ...

    Qemu模拟器运行AIX 7.2 系统.docx

    QEMU(Quick Emulator)是一款开源的计算机仿真器和虚拟化解决方案,能够通过动态二进制转换技术来模拟各种CPU架构和提供丰富的硬件模型支持。这意味着可以在不同的硬件平台上运行原本仅限于特定架构的操作系统或...

    linux下的qemu模块

    QEMU支持动态二进制翻译(Dynamic Binary Translation),这意味着它可以将 guest OS 的指令转换为宿主机可执行的形式,以实现模拟运行。 二、QEMU与KVM的结合 KVM是Linux内核中的一个模块,它利用了现代CPU的硬件...

    QEMU for windows+安装说明

    QEMU(Quick Emulator)是一款强大的开源模拟器和虚拟化工具,它允许用户在一台机器上运行多种操作系统,而无需重启或拥有多个物理系统。QEMU适用于Windows平台,为用户提供了一个方便的界面来管理和操作虚拟机。在...

    qemu大神写的虚拟机源码

    5. **动态迁移**:QEMU支持在不同主机之间动态迁移虚拟机,这对于云服务提供商和数据中心的运维非常重要。 6. **快照和克隆**:QEMU允许创建虚拟机的快照,方便回滚到某个状态,也可以快速克隆虚拟机,用于测试和...

    Qemu安装使用手册中文版

    ### QEMU安装与使用详解 #### 一、引言 QEMU是一款开源的指令级虚拟化软件,能够模拟多种处理器架构及操作系统环境,为开发者提供了一个灵活且强大的虚拟化平台。本文将详细介绍QEMU的安装步骤、基本使用方法以及...

    Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows

    "Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows"这个标题表明我们讨论的是如何在Windows系统上安装和使用Qemu来模拟ARM架构和Windows系统。Qemu的跨平台特性使得它能在Windows这样的非Linux...

    Qemu专用Qemu-Guest-Agnet整理包

    Windows整理后的qga包,包含amd64和qemu-ga两个文件。 amd64:首先安装证书,管理员运行cmd,命令:pnputil -I -a vioser.inf qemu-ga:将qemu-ga目录放到C:\\Program Files下,管理员运行cmd,命令:qemu-ga -s ...

Global site tag (gtag.js) - Google Analytics