- 浏览: 1478540 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
需求:
目前有两台服务器
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
发表评论
-
tinyemu
2019-01-24 17:59 1433参考https://bellard.org/jslinux/t ... -
jslinux-deobfuscated-network
2017-02-13 22:37 716基础知识 查看网络包 tcpdump -i eth0 -e ... -
用buildroot为jslinux建立最小rootfs
2016-11-18 17:59 1271############################### ... -
nginx rewrite替代apache rewrite
2016-10-18 20:30 836清理chrome的缓存 chrome://appcache-i ... -
qemu用tap方式启动vm的网络试验(ip route)
2016-09-14 11:29 2809ip route add 192.168.8.0/24 via ... -
kvm的nested嵌套
2016-06-27 18:25 1331关键点是 modprobe kvm_intel nested= ... -
qemu的动态迁移的试验
2016-06-25 21:48 14261.安装qemu-2.5.1.tar 解决 ... -
libvirt建立快照和基本使用
2016-06-25 15:51 1637如果使用qemu的快照方式 在monitor中操作 (qe ... -
socket的方式使用qemu建立虚拟机
2016-06-24 17:54 1912qemu的-net参数 -net nic 必须有,基本配置mo ... -
tap的方式使用qemu建立虚拟机NAT网络
2016-06-23 18:03 9851基本概念: vm:虚拟机 ... -
qemu建立基本的虚拟机
2016-06-23 17:04 1985使用qemu建立虚拟机 1.需要内核文件 bzImage ... -
qemu用nat的方式使用tap建立虚拟机
2016-06-23 16:15 11普通桥接参考 http://haoningabc.iteye. ... -
tap的方式使用qemu建立虚拟机桥接网络
2016-06-22 20:53 7841需求:建立一个虚拟机,使网络和内网一样,当一台普通接入内网的服 ... -
使用buildroot为jslinux创建root.bin
2016-05-02 00:37 1349环境 gcc 版本 4.8.5 centos ... -
i386上的busybox
2016-04-26 22:51 1026环境:在64位机器上总莫名其妙问题,交叉编译也会有想不到的地方 ... -
qemu以64位和32位的方式跑busybox
2016-04-07 22:06 1604两种方式x86_64 和32位的i386方式 ------ ... -
neutron基础九(qemu nat网络)
2016-02-06 17:21 1622接上基础八,kvm透传nested忽略 1.在主机ce ... -
neutron基础七(qemu tap)
2016-02-02 17:02 1030使用qemu 建立个虚拟机 然后用tap设备, 根据基础六,t ... -
使用devstack安装magnum
2015-11-18 21:22 1431在redhat6.5上建立个centos7的虚拟机,使用cen ... -
使用jslinux的hda.bin制作rootfs
2015-09-01 18:13 904把jslinux的硬盘下载下来 host=http: ...
相关推荐
### QEMU虚拟机网卡及网络配置详解 #### 基本概念 QEMU是一款开源的虚拟机模拟器,能够模拟完整的系统环境,包括处理器、内存、存储设备以及网络设备等。为了使虚拟机能够正常地与其他物理或虚拟机进行通信,QEMU...
而在KVM中,libvirt库提供了迁移接口,结合qemu-kvm可以实现虚拟机的动态迁移。这些工具通常会结合Live Migration策略,如使用本机内存映射(NMI-based migration)或无锁内存转储(copy-on-write migration)等方法...
### OpenStack动态迁移详解 #### 一、OpenStack动态迁移概述 OpenStack作为一个全面的开源云平台项目,提供了丰富的功能和服务来支持云环境中的虚拟机管理。其中,虚拟机动态迁移是OpenStack的一个核心功能之一,...
QEMU是一款强大的虚拟化软件,能够模拟各种硬件环境,包括处理器、内存、硬盘等,使得开发者能够在本地环境中运行不同架构的操作系统。在使用RT-Thread与QEMU结合进行开发时,为了实现在虚拟机内进行网络通信,我们...
2、动态迁移(热迁移):对于热迁移,比较常用,通常是这台服务器上正在跑着一些业务,而这些业务又不允许中断,那么就需要使用热迁移了,这篇博文将详细写出热迁移的步骤。 1、冷迁移 通常我们存放虚拟机磁盘的...
QEMU支持热迁移(live migration),允许在不中断服务的情况下将运行中的虚拟机从一台主机迁移到另一台。此外,QEMU还可以创建和管理虚拟机的快照,以便在出现问题时恢复到先前的状态。 **7. 性能优化** 为了获得...
3. **动态翻译**:QEMU使用动态二进制翻译技术将虚拟机的指令转换为宿主机可执行的指令,从而实现高效运行。 4. **图形用户界面**:QEMU提供了一个可选的VGA图形适配器模拟,使得用户可以通过VNC(Virtual Network ...
- **qcow2**: QEMU的二进制兼容格式,支持动态扩展、压缩、加密和快照。它是目前最常用的QEMU镜像格式。 - **vmdk**: VMware的磁盘格式,分为单个文件和链接克隆两种类型,支持虚拟机迁移和在不同 VMware 平台间...
4. **动态迁移**:QEMU支持热迁移功能,允许在不中断服务的情况下,将正在运行的虚拟机从一个主机迁移到另一个主机。这对于高可用性和负载均衡具有重要意义。 5. **图形界面支持**:QEMU提供了VGA模拟,支持多种...
3. **动态二进制翻译**:对于不支持硬件虚拟化的CPU,QEMU使用动态二进制翻译技术将 guest 操作系统的指令转换为宿主机可执行的代码,虽然速度较慢,但依然能实现虚拟化。 4. **广泛的平台支持**:QEMU不仅支持x86...
Linux QEMU(Quick Emulator)是一款强大的开源模拟器和虚拟机监控程序,它允许你在同一台计算机上运行多个操作系统,而无需物理硬件。QEMU支持多种架构,包括x86、ARM、MIPS等,因此它在软件开发、测试、教学和虚拟...
4. **动态迁移**:QEMU-KVM支持热迁移,可以在不中断服务的情况下将运行中的虚拟机从一台物理主机迁移到另一台,这对于高可用性和资源调度至关重要。 5. **QEMU命令行工具**:QEMU提供了丰富的命令行参数,用于启动...
2. **动态翻译技术**:QEMU使用了一种称为“动态二进制翻译”的技术,将目标架构的指令转换为宿主机可执行的代码,从而实现高效的模拟执行。 3. **KVM集成**:从QEMU 0.9.0版本开始,它支持与KVM(Kernel-based ...
QEMU(Quick Emulator)是一款开源的计算机仿真器和虚拟化解决方案,能够通过动态二进制转换技术来模拟各种CPU架构和提供丰富的硬件模型支持。这意味着可以在不同的硬件平台上运行原本仅限于特定架构的操作系统或...
QEMU支持动态二进制翻译(Dynamic Binary Translation),这意味着它可以将 guest OS 的指令转换为宿主机可执行的形式,以实现模拟运行。 二、QEMU与KVM的结合 KVM是Linux内核中的一个模块,它利用了现代CPU的硬件...
QEMU(Quick Emulator)是一款强大的开源模拟器和虚拟化工具,它允许用户在一台机器上运行多种操作系统,而无需重启或拥有多个物理系统。QEMU适用于Windows平台,为用户提供了一个方便的界面来管理和操作虚拟机。在...
5. **动态迁移**:QEMU支持在不同主机之间动态迁移虚拟机,这对于云服务提供商和数据中心的运维非常重要。 6. **快照和克隆**:QEMU允许创建虚拟机的快照,方便回滚到某个状态,也可以快速克隆虚拟机,用于测试和...
### QEMU安装与使用详解 #### 一、引言 QEMU是一款开源的指令级虚拟化软件,能够模拟多种处理器架构及操作系统环境,为开发者提供了一个灵活且强大的虚拟化平台。本文将详细介绍QEMU的安装步骤、基本使用方法以及...
"Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows"这个标题表明我们讨论的是如何在Windows系统上安装和使用Qemu来模拟ARM架构和Windows系统。Qemu的跨平台特性使得它能在Windows这样的非Linux...
Windows整理后的qga包,包含amd64和qemu-ga两个文件。 amd64:首先安装证书,管理员运行cmd,命令:pnputil -I -a vioser.inf qemu-ga:将qemu-ga目录放到C:\\Program Files下,管理员运行cmd,命令:qemu-ga -s ...