Kvm04 kvm虚拟机热迁移,可视化管理
1.kvm虚拟机热迁移
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虚拟机热迁移,可视化管理的更多相关文章
- kvm虚拟机热迁移
一.热迁移描述: 相比KVM虚拟机冷迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机热迁移无需拷贝虚拟磁盘文件,但是需要迁移到的宿主机之间需要有相同的目录结构虚拟机磁盘文件,也就是共享存储,本文这部分内 ...
- 基于本地存储的kvm虚拟机在线迁移
基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...
- 华为云计算IE面试笔记-FusionCompute虚拟机热迁移定义,应用场景,迁移要求,迁移过程
*热迁移传送了什么数据?保存在哪? 虚拟机的内存.虚拟机描述信息(配置和设备信息).虚拟机的状态 虚拟机的配置和设备信息:操作系统(类别.版本号).引导方式(VM通过硬盘.光盘.U盘.网络启动)和引导 ...
- 基于NFS共享存储实现KVM虚拟机动态迁移
基于NFS共享存储实现KVM虚拟机动态迁移 一:配置环境 二:安装相关的依赖包 三:实现NFS共享存储 四:KVM机配置相同的步骤 五:安装KVM01安装虚拟机 六:实现迁移 实验初始配置:所有主机 ...
- Centos7.4安装kvm虚拟机(使用virt-manager管理)
之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...
- kvm虚拟机动态迁移
相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可 ...
- centos 下 KVM虚拟机的创建、管理与迁移
kvm虚拟机管理 一.环境 role hostname ip OS kvm_server target 192.168.32.40 ...
- KVM虚拟机的创建、管理与迁移
[日期:2012-06-01] KVM虚拟机管理 一.环境 role hostname ip OS kvm_server target ...
- KVM虚拟机高级设置——08 管理远程虚拟机
在搭建KVM环境——07 带GUI的Linux上安装KVM图形界面管理工具介绍了KVM图形化管理工具,这款工具除了可以管理本地KVM虚拟外,还可以管理远程KVM虚拟机. 输入113机器密码 输入yes ...
随机推荐
- Java中Comparable接口和Comparator接口的简单用法
对象比较器 1.Comparable接口 此接口强行对实现它的每个类的对象进行整体排序,这种排序成为类的自然排序,类的compareTo方法称为类的自然比较方法. 代码示例 import java.u ...
- git & gerrit & shell
g公司使用Gerrit改善评审流程. 比较麻烦.gerrit提交后会触发vertifyCI, 实施代码扫描. 这一堆过程, 打印出一堆信息, 都在log中, 所以处理log就需要自己写shell了. ...
- vue大文件分片上传插件
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- hdu 2815 : Mod Tree 【扩展BSGS】
题目链接 直接用模板好了.实在不行,反正有队友啊~~~~ #include<bits/stdc++.h> using namespace std; typedef long long LL ...
- python学习笔记(七)模块
一个python文件就是一个模块 1.标准模块 python自带的,不需要你安装的 2.第三方模块 需要安装,别人提供的,例:pip install radis 如果提示没有pip,把python下s ...
- jsplumb+dragable+vue(一)
基于vue的jsplumb,支持拖拽生成节点,节点双击展示更多信息,节点连线,删除节点,删除连线,重绘连接图,当前页面刷新连接图,根据json画连接图等功能 本章主要讲 拖拽生成节点 获取链接图的信息 ...
- 【转载】Stackless Python并发式编程介绍[已校对版]
Stackless Python并发式编程介绍[已校对版] 作者: Grant Olson 电子邮件: olsongt@verizon.net 日期: 2006-07-07 译者: ...
- 牛客提高D6t3 分班问题
分析 就就就是推柿子 看官方题解吧/px 代码 #include<iostream> #include<cstdio> #include<cstring> #inc ...
- 洛谷P1982 小朋友的数字
题目传送门 这个题的题目有点长,我们先来分析一波. 首先,这个题目中提到了以下几个量 1.最直接的就是每个小盆友手上的数字,这是题目给你的 2.每个小盆友的特征值 题目中给的定义是:每个小朋友的特征值 ...
- springcloud核心组件Eureka、Ribbon、Feign、Hystrix、Zuul
各个组件角色扮演: Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取 ...