1.kvm虚拟机热迁移

1). 冷迁移

  1. 环境准备(环境一致) 桥接网络
#另起一台服务器,安装kvm环境。
#下载软件及启动
[root@kvm02 ~]# yum install -y libvirt virt-install qemu-kvm
[root@kvm02 ~]# systemctl start libvirtd
[root@kvm02 ~]# systemctl enable libvirtd #生成桥接
[root@kvm02 ~]# virsh iface-bridge eth0 br0
Created bridge br0 with attached device eth0

2)将磁盘和配置文件传输过去

#关机
[root@kvm01 opt]# virsh shutdown web02 #导出配置文件
[root@kvm01 opt]# virsh dumpxml web02 > web02.xml #传输磁盘
[root@kvm01 opt]# scp -rp /opt/web02.qcow2 root@10.0.0.162:/opt/ #传输配置文件
[root@kvm01 opt]# scp -rp /opt/web02.xml root@10.0.0.162:/opt/

3)将主机导入进去

[root@kvm02 opt]# virsh  define   web02.xml

4) 启动测试


[root@kvm02 opt]# virsh start web02 [root@kvm02 opt]# virsh console web02 [root@centos7 ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=32.6 ms --- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 32.696/32.696/32.696/0.000 ms

注意:如果格式是raw,需要先转换

回到源主机上面,将kvm虚拟主机centos7的镜像和配置文件传输给新的服务器,由于源占用空间太大,将其转换格式之后再进行传输,将其转换成qcow2格式。

#冷迁移
[root@gjy /opt]# qemu-img convert -f raw -O qcow2 centos7.raw centos7.qcow2
[root@gjy opt]# virsh dumpxml centos7 > centos7.xml
#将其传输到新的主机上面
[root@gjy /opt]# scp -rp /opt/centos7.qcow2 10.0.0.13:/opt
[root@gjy /opt]# scp -rp /opt/centos7.xml 10.0.0.13:/opt
#回到新的主机上面,进入到/opt目录下查看结果
[root@kvm02 opt]# ll
total 1181384
-rw-r--r-- 1 root root 1209729024 2018-08-13 14:11 centos7.qcow2
-rw-r--r-- 1 root root 4951 2018-08-13 10:39 centos7.xml

修改配置文件,将定义的格式raw,改成qcow2格式!

修改完成,重启服务

[root@gjy /opt]# systemctl restart libvirtd.service

#进行导入配置文件
[root@gjy /opt]# virsh define centos7.xml
#启动主机
[root@gjy /opt]# virsh start centos7

#进行ssh测试连接

2).热迁移

​ 相比KVM虚拟机冷迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机热迁移无需拷贝虚拟磁盘文件,但是需要迁移到的宿主机之间需要有相同的目录结构虚拟机磁盘文件,也就是共享存储,这部分内容通过nfs来实现。

#热迁移流程:

在kvm01上挂起虚拟机01,发送01的虚拟机配置文件和运行时内存中的数据到kvm02, 接受完毕,kvm02恢复01,热迁移完成。

环境要求

主机名 IP 内存 网络 软件需求 虚拟化
kvm01 10.0.0.11 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
kvm02 10.0.0.12 2G 创建br0桥接网卡 kvm和nfs 开启虚拟化
nfs01 10.0.0.31 1G nfs

注意:需要互相做好host解析

1.所有服务上面都安装nfs

#1.所有服务上面都安装nfs
[root@kvm01 /opt]# yum install nfs-utils -y

2.nfs服务端进行配置nfs

[root@nfs01 ~]# cat /etc/exports
/opt 10.0.0.0/24(rw,sync,no_root_squash,no_all_squash)
#重启服务
[root@nfs01 ~]# systemctl restart rpcbind
[root@nfs01 ~]# systemctl restart nfs

3.两台客户端检查是否可以进行挂载

[root@kvm01 /opt]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/opt 10.0.0.0/24
[root@kvm02 ~]# showmount -e 10.0.0.31
Export list for 10.0.0.31:
/opt 10.0.0.0/24 #进行挂载
[root@kvm01 /opt]# mkdir /data
[root@kvm01 /opt]# mount -t nfs 10.0.0.31:/opt /data
[root@kvm02 /opt]# mkdir /data
[root@kvm02 /opt]# mount -t nfs 10.0.0.31:/opt /data

4.创建一个基于桥接模式的虚拟机

#方法一:
#复制镜像到共享目录
[root@kvm01 /opt]# cp centos7.qcow2 /data/web.qcow2 #链接克隆主机
[root@kvm01 /opt]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web --memory 1024 --vcpus 1 --disk /data/web.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole #方法二:
#拷贝,修改配置文件
[root@gjy opt]# virsh dumpxml centos7> web.xml
[root@gjy opt]# vim web.xml
<name>web</name>
删除uuid
删除mac
<source file='/data/web.qcow2'/>
#导入,生成主机
[root@gjy opt]# virsh define web.xml
Domain web defined from /data/web.xml #查看状态
[root@kvm01 /opt]# virsh list --all
Id Name State
----------------------------------------------------
15 web running

5.进行热迁移,报错,需要hosts解析

[root@kvm01 /opt]# virsh migrate --live --verbose web qemu+ssh://10.0.0.11/system --unsafe
root@10.0.0.11's password:
error: Unable to resolve address 'kvm02' service '49152': Name or service not known
#IP地址要解析
[root@kvm01 /opt]# vim /etc/hosts (ip 和主机名)
10.0.0.11 kvm01
10.0.0.12 kvm02
#两台都要有
[root@kvm01 /opt]# scp -rp /etc/hosts 10.0.0.11:/etc/hosts #再次进行热迁移,迁移的同时可以ping一下该虚拟机
[root@kvm01 /opt]# virsh migrate --live --verbose web qemu+ssh://10.0.0.11/system --unsafe
root@10.0.0.182's password:
Migration: [100 %] #在热迁移的过程中,发现只丢失了一个包
[C:\~]$ ping 10.0.0.191 -t
正在 Ping 10.0.0.191 具有 32 字节的数据:
来自 10.0.0.191 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.191 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.191 的回复: 字节=32 时间<1ms TTL=64
来自 10.0.0.191 的回复: 字节=32 时间=23ms TTL=64
请求超时。
来自 10.0.0.191 的回复: 字节=32 时间=1ms TTL=64
来自 10.0.0.191 的回复: 字节=32 时间<1ms TTL=64 #另外一台检查状态
[root@kvm02 /opt]# virsh list --all
Id Name State
----------------------------------------------------
4 web running
- centos7 shut off

2.Virt-manager管理Kvm虚拟机

#1.安装图形化界面

#1.安装图形化界面
[root@gjy /opt]# yum groupinstall "GNOME Desktop" -y #2.安装vncserver
[root@gjy /opt]# yum install tigervnc-server -y #3.设置vnc密码
[root@gjy /opt]# vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n #4.开启vnc
[root@gjy /opt]# vncserver :1
A VNC server is already running as :1
xauth: file /root/.Xauthority does not exist New 'gjy:2 (root)' desktop is gjy:2 Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/gjy:2.log [root@gjy /opt]# netstat -lntp |grep vnc
tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 31202/Xvnc
tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 31202/Xvnc
tcp6 0 0 :::5902 :::* LISTEN 31202/Xvnc
tcp6 0 0 :::6002 :::* LISTEN 31202/Xvnc #下载安装虚拟化管理
[root@gjy /opt]# yum install virt-manager -y



管理多台宿主机

需要安装一个软件包,手动安装

[root@kvm01 /opt]# yum install -y openssh-askpass.x86_64!

Kvm04 kvm虚拟机热迁移,可视化管理的更多相关文章

  1. kvm虚拟机热迁移

    一.热迁移描述: 相比KVM虚拟机冷迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机热迁移无需拷贝虚拟磁盘文件,但是需要迁移到的宿主机之间需要有相同的目录结构虚拟机磁盘文件,也就是共享存储,本文这部分内 ...

  2. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

  3. 华为云计算IE面试笔记-FusionCompute虚拟机热迁移定义,应用场景,迁移要求,迁移过程

    *热迁移传送了什么数据?保存在哪? 虚拟机的内存.虚拟机描述信息(配置和设备信息).虚拟机的状态 虚拟机的配置和设备信息:操作系统(类别.版本号).引导方式(VM通过硬盘.光盘.U盘.网络启动)和引导 ...

  4. 基于NFS共享存储实现KVM虚拟机动态迁移

    基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移  实验初始配置:所有主机 ...

  5. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...

  6. kvm虚拟机动态迁移

    相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可 ...

  7. centos 下 KVM虚拟机的创建、管理与迁移

    kvm虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target      192.168.32.40 ...

  8. KVM虚拟机的创建、管理与迁移

    [日期:2012-06-01] KVM虚拟机管理 一.环境 role         hostname    ip                  OS kvm_server   target   ...

  9. KVM虚拟机高级设置——08 管理远程虚拟机

    在搭建KVM环境——07 带GUI的Linux上安装KVM图形界面管理工具介绍了KVM图形化管理工具,这款工具除了可以管理本地KVM虚拟外,还可以管理远程KVM虚拟机. 输入113机器密码 输入yes ...

随机推荐

  1. 一探究竟:善用 MaxCompute Studio 分析 SQL 作业

    头疼的问题 MaxCompute 用户一个常见的问题是:同一个周期任务,为什么最近几天比之前慢了很多?或者为什么之前都能按时产出的作业最近经常破线? 通常来说,引起作业执行变慢的原因有:quota 组 ...

  2. FTP错误 [ftp: connect: No route to host] 解决方法

    问题: 昨天在局域网内的两台机器上用ftp命令传文件.因为是新机器所以没安装ftp. 分别在两台机器上安装了ftp的服务端和客户端,并启动了ftp服务器进程. 当用启动ftp连接另一台机器时发生了如下 ...

  3. .Net Core 学习目录(搁置)

    简介 .NET Core 是.NET Framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows.Mac OSX.Linux) 能力的应用程序开发框架 (Applicat ...

  4. 在linux中 部署 mongo 数据库服务端

    1 首先需要一台linux服务器(我用的redhat linux,其它的也大同小异), 玩一玩的话,推荐亚马逊上面去创建一个免费的linux服务器,有关具体创建linux服务器不在这赘述. https ...

  5. instagram

    https://www.instagram.com/graphql/query/?query_hash=42323d64886122307be10013ad2dcc44&variables={ ...

  6. LintCode之左填充

    题目描述: 分析:由样例可知,第二个参数表示要返回的字符串的最小长度,所以当给定字符串的长度小于规定字符串最小长度时就在左边填充空格,另外还有一个重载方法leftpad的第三个参数指定左边填充的字符. ...

  7. 实验吧 Web的WriteUp

    每次看别人的Writeup都有一种感觉,为什么有了WriteUp我还是不会,每次都打击自己的积极性,所以自己尝试写一篇每个萌新都能看懂的Writeup. 0x01 天下武功唯快不破 题目提示 : 看看 ...

  8. HTML--JS 获取选择框信息

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Altium Designer chapter1总结

    第一章操作基础中有以下几点需要注意: (1)随着DSP.ARM.FPGA等高速逻辑元件的应用,PCB的信号完整性与抗干扰性能显得尤为重要. (2)Altium Designer的发展史:Protel ...

  10. 04 | 基础篇:经常说的 CPU 上下文切换是什么意思?(下)

    上一节,我给你讲了 CPU 上下文切换的工作原理.简单回顾一下,CPU 上下文切换是保证 Linux 系统正常工作的一个核心功能,按照不同场景,可以分为进程上下文切换.线程上下文切换和中断上下文切换. ...