KVM 高级功能部署

2024-08-31 17:36
文章标签 部署 功能 高级 kvm

本文主要是介绍KVM 高级功能部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虚拟机迁移

        应用场景

                宿主机负载比较高时,可迁移走部分虚拟机

                迁移虚拟机集中于一台,节约资源

                升级宿主机硬件时,可先迁移走再进行升级

                可实现跨地域的远程迁移

        虚拟机迁移

                静态迁移:造成一端时间的服务停机

                动态迁移:不中断服务

                        基于共享存储的动态迁移

                        基于数据块的动态迁移

                        当传输速度大于数据变化量的时候适用,否则不适用

虚拟机优化:KSM内核同页合并

                相同内存页合并为单一内存页,并标识为“写时复制”

                KSM开启后,CPU使用量会有一定的提高

                不同虚拟机的相同类型操作系统或应用,有助于实现KSM

                适用KSM要保证有足够的交换分区

部署虚拟机迁移

        1.基础环境(4h4G)
        2. 在第一台和第二台机器上开启虚拟化在进行开机

#查看cpu是否支持虚拟化,前提必须开启虚拟化
cat /proc/cpuinfo | grep svm
        3.在两台kvm01 kvm02节点操作(部署虚拟机)

                1.切换yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

                2.下载虚拟化的包

yum -y install qemu-kvm qemu-kvm-tools qemu-img bridge-utils libvirt virt-install virt-manager virt-viewersystemctl start libvirtd
systemctl enable libvirtd

                3.在宿主机上安装vnc的工具包(用来远程管理最小化的虚拟机)

                4.配置网卡

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0
vi /etc/sysconfig/network-scripts/ifcfg-ens33

vi /etc/sysconfig/network-scripts/ifcfg-br0

                                重启网络服务(可能会终端ssh的连接,重新查网卡,重新连接即可)

systemctl restart network

                                 配置完后,ens33是没有IP的,br0会具有IP

                5.创建存放镜像的镜像目录

mkdir -p /data/{iso,store}

                 6.上传镜像到所创建的目录中

        4.kvm01中安装虚拟机
virt-install --name test01 -r 1024 --vcpus=1 --disk path=/data/store/test01.qcow2,size=10 -w bridge:br0 --virt-type=kvm --accelerate --autostart -c /data/iso/CentOS-7-x86_64-DVD-2207-02.iso --vnc --vncport=5901 --vnclisten=0.0.0.0
#--virt-type=kvm 不能开启虚拟化的功能,要删除这段
#-n 指定名字
#-r 指定内存大小
#--vcpus 指定虚拟CPU个数
#--disk 指定磁盘文件存放位置及大小
#-w 指定所使用的网桥
#--autostart 设置虚拟机在宿主机开机时启动
#--accelerate 内核加速
#-c 指定镜像文件
#--vncport 通过VNC Viewere连接的端口
#--vnclisten 通过VNC Viewere连接的IP

                1.打开vnc点击

                2.填写自己的IP,如图 点击ok

                3.双击打开,勾选选项,点击continue,会显示图形界面,按步骤安装即可 

                4.安装完成后点击重启,在xshell中查看状态,如果是关闭的,开启即可

virsh list --all

                5.完成后,进入vnc中,双击打开,即可看小化界面

                6.打开vnc,给新建的最小化虚拟机配置个IP

        5.测试kvm01迁移到kvm02中(静态迁移)

                1.在kvm01中关闭新建最小化虚拟机

                2. 在kvm01中生成配置文件,查询映像文件

                3.在kvm01中推送映像文件 

# 拷贝配置文件和磁盘文件到目标宿主机kvm02上面scp test01.xml 192.168.27.153:/etc/libvirt/qemu/ scp /data/store/test01.qcow2 192.168.27.153:/data/store/

                4.等待kvm传输完成后打开kvm02开始静态迁移

        6.删除虚拟机(在第二台虚拟机取消定义虚拟机) 

                关闭虚拟机后,取消定义

virsh undefine test01

        7.动态迁移

                1.在所有机器上安装nfs

yum -y install nfs-utils

                 2.在第三台机器上配置共享目录

mkdir /data
echo "/data 192.168.27.0/24(rw,sync,no_root_squash,no_all_squash)" > /etc/exports
#rw 读写访问
#sync 所有数据在请求时写入
#no_root_squash root用户具有根目录的完全访问权限
systemctl start nfs
systemctl start rpcbind
systemctl enable nfs
systemctl enable rpcbind
# 查看一下本地可挂载的目录
showmount -e localhost

                3.切换kvm01节点,传输文件到kvmnfs机器

scp /data/store/test01.qcow2 192.168.27.154:/data/

                4.在kvm01 kvm02中挂载共享目录

mount -t nfs 192.168.27.154:/data/ /data/store/

                        确保每个机器/data/store/下都有 test01.qcow2这个文件后,在kvm1中启动虚拟机

virsh start test01

                5.开始动态迁移

                        1.查询kvm01节点中的新建的虚拟机的IP,在kvmnfs节点ping这个IP

ping 192.168.27.156

                        2.在kvm01节点中开始迁移

virsh migrate --live --verbose test01 qemu+ssh://192.168.27.153/system tcp://192.168.27.153 --unsafe

                              在这过程中,在kvmnfs节点中的ping命令可以观察到,请求时间很长,甚至可能超时连接                          3.在第二台机器中生成配置文件()

virsh dumpxml test01 > /etc/libvirt/qemu/test01.xml
virsh define /etc/libvirt/qemu/test01.xml

这篇关于KVM 高级功能部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124552

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring+MyBatis+jeasyui 功能树列表

java代码@EnablePaging@RequestMapping(value = "/queryFunctionList.html")@ResponseBodypublic Map<String, Object> queryFunctionList() {String parentId = "";List<FunctionDisplay> tables = query(parent

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起