KVM 自动化脚本的使用及热/冷迁移

一、介绍

目录结构介绍
[root@kvm-server kvm]# tree -L 2
.
├── control  # 控制脚本目录
│   ├── KVMInstall.sh  # kvm服务安装脚本
│   ├── VMHost.sh # kvm虚拟机克隆脚本
│   └── VMTemplate.sh # kvm模板机安装脚本
├── mount # 此目录保持为空,为克隆时临时挂载使用
├── README.md 
├── template # 模板文件存放位置
│   ├── register_instance.py # jumpserver 注册资产脚本
│   ├── template.conf # 克隆机网卡配置文件脚本
│   ├── template.qcow2 # 模板机磁盘镜像
│   └── template.xml # 配置文件
└── vdisks├── README.txt├── vmtest1.qcow2 # 克隆机磁盘镜像└── vmtest2.qcow2

使用脚本 

宿主机: cd kvm
宿主机: sh KVMInstall.sh # 安装KVM服务
宿主机: sh VMTemplate.sh # 安装模板机
宿主机: virsh console template # 进入模板机,安装python3
template: yum install -y python3 python3-devel gcc
template: pip3 install requests httpsig -i https://mirrors.aliyun.com/pypi/simple
宿主机: sh VMHost.sh -a 192.168.96.223 -p 6667 -n vmtest1 -c 2 -m 4096
[root@kvm-server control]# sh VMHost.sh 
"Usage: $0 [OPTION]..."-h, --help 	查看帮助"-a, --address 	虚拟机的IP地址"-p, --port 	虚拟机的VNC端口"-n, --name 	虚拟机的名称"-c, --cpus 	选填,虚拟机的CPU数量,默认为1"-m, --memory 	选填,虚拟机的内存大小,单位M,默认为512M"

二、部署

准备一台服务器,勾选cpu硬件辅助虚拟化配置,系统要求centos7.7以上

准备工作

[root@kvm-server ~]# cd /opt/
[root@kvm-server opt]# git clone https://gitea.beyourself.org.cn/newrain001/kvm.git
[root@kvm-server opt]# cd kvm/control/
# 安装kvm服务
[root@kvm-server control]# sh KVMInstall.sh 
# 安装模板机,脚本运行后,注意进行手动配置
[root@kvm-server control]# sh VMTemplate.sh 
# IMAGE_PATH=/tmp/CentOS-7-x86_64-Minimal-2009.iso # 注意修改脚本中镜像位置,并放置镜像# 进入模板机
[root@kvm-server control]# virsh console template
[root@localhost ~]# yum install -y python3 python3-devel gcc
# 退出模板机
[root@localhost ~]# pip3 install requests httpsig -i https://mirrors.aliyun.com/pypi/simple

 准备jumpserver

在一台新机器中安装jumpserver

获取一些数据

1、jumpserver的url

2、资产列表的id

3、特权用户的id

 4、jumpserver的key和secret

准备注册脚本 

# 注意,这里是宿主机
[root@kvm-server control]# vim /opt/kvm/template/register_instance.py
# 修改以下内容,改为我们找到的id
jms_url = 'http://10.36.190.126'
# 资产列表id
nodes_id="938b475d-16f1-473e-8a4e-35177ada6ed4"
# 用户id
admin_user_id="9494beca-c35e-4091-99d7-912157603e5c"
KeyID = '31bed967-258c-474d-b151-5a95468fe242'
SecretID = '602329bf-39ff-4738-a601-f237cf2887aa'

克隆虚拟机 

[root@kvm-server control]# sh VMHost.sh 
"Usage: $0 [OPTION]..."-h, --help     查看帮助"-a, --address  虚拟机的IP地址"-p, --port     虚拟机的VNC端口"-n, --name     虚拟机的名称"-c, --cpus     选填,虚拟机的CPU数量,默认为1"-m, --memory   选填,虚拟机的内存大小,单位M,默认为512M"[root@kvm-server control]# sh VMHost.sh -a 10.36.190.210 -p 5900 -n xiaoming -c 2 -m 1024

 使用vnc连接

在jumpserver 查看资产 

 接下来就可以授权登录了

三、热迁移

一、两台机器均做nfs
# 迁移机器
[root@localhost ~]# yum install nfs-utils
[root@localhost ~]# systemctl start nfs-server
[root@localhost ~]# systemctl enable nfs-server
[root@localhost ~]# vim /etc/exports
/opt/kvm/template/    192.168.75.*(rw,sync,no_root_squash)[root@localhost ~]# exportfs -r# 迁移到的服务器
[root@localhost ~]# yum install nfs-utils
[root@localhost ~]# mount 192.168.75.128:/opt/kvm/template/ /opt/kvm/template/
[root@localhost ~]# vim /etc/fstab # 开机启动
192.168.75.128:/opt/kvm/template/ /opt/kvm/template/ nfs defaults 0 0
[root@localhost ~]# hostnamectl set-hostname hello.com # 修改主机名,不修改报错如下
# error: internal error: hostname on destination resolved to localhost, but migration requires an FQDN
[root@localhost ~]# vim /etc/libvirt/qemu.conf
user=root
group=root
[root@localhost ~]# systemctl restart libvirtd
# 迁移机器
[root@localhost ~]# vim /etc/hosts
192.168.75.129 hello.com
[root@localhost ~]# virsh migrate --live --verbose --unsafe --persistent template qemu+ssh://hello.com/system

二、冷迁移
冷迁移是在虚拟机关机状态下进行的迁移。在进行冷迁移时,虚拟机的状态被保存到磁盘文件中,然后将虚拟机的磁盘镜像和配置文件从源主机复制到目标主机。迁移完成后,虚拟机会在目标主机上重新启动。

操作步骤:

1.关闭源主机上的虚拟机。

2.复制虚拟机的磁盘镜像和配置文件到目标主机。

3.在目标主机上创建虚拟机,并指向复制过来的磁盘镜像和配置文件。

4.启动虚拟机。

冷迁移适用于不需要中断虚拟机服务的情况,但需要在迁移过程中短暂停止虚拟机。

# 冷迁移需要手动拷贝镜像文件到迁移后的服务器
virsh migrate --offline --verbose --unsafe --persistent template qemu+ssh://hello.com/system

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307582.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

同义词替换降低论文重复率的挑战与对策分析

大家好,今天来聊聊同义词替换降低论文重复率的挑战与对策分析,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:同义词替换降低论文重复率的挑战…

EBDP:解锁大数据的奥秘✨

大数据时代已经来临,你是否也想掌握这门“显学”?🌟 EBDP,这个让众多专业人士趋之若鹜的认证,究竟有何魅力?今天就带你一探究竟! 🌟EBDP:大数据的“敲门砖”&#x1faa…

Linux中磁盘管理与文件系统

目录 一.磁盘基础: 1.磁盘的结构: 2.硬盘的数据结构: 3.硬盘存储容量 : 4.硬盘接口类型: 二.MBR与磁盘分区: 1.MBR的概念: 2.硬盘的分区: 为什么分区: 2.表示&am…

经济危机下,我们普通人如何翻身?2024创业新风口,适合普通人的创业项目

明年的商业环境会比今年更残酷,不是贩卖危机。旅游行业还在刺激性消费,再过几个月大家就没钱了,估计慢慢也消停。中小微企业资金链断裂,大部分公司倒闭,大批人失业,所以经济恢复需要一个周期。 30年河东&am…

OSPF ROUTER-ID-新版(15)

目录 整体拓扑 操作步骤 1.INT 验证Router-ID选举规则 1.1 查看路由器Router-ID 1.2 配置R1地址 1.3 查看R1接口信息 1.4 查看R1Router-ID 1.5 删除接口IP并查看Router-ID 1.6 手工配置Router-ID 2.基本配置 2.1 配置R1的IP 2.2 配置R2的IP 2.3 配置R3的IP 2.4 配…

信号与线性系统翻转课堂笔记8——周期信号的频谱

信号与线性系统翻转课堂笔记8——周期性信号的频谱 The Flipped Classroom8 of Signals and Linear Systems 对应教材:《信号与线性系统分析(第五版)》高等教育出版社,吴大正著 一、要点 (1,重点&#…

使用Node Exporter采集主机数据

安装 Node Exporter 在 Prometheus 的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的 CPU 使用率,我们…

MCEWMDRMNDBootstrap.dll文件丢失,软件游戏无法启动,怎样下载修复

不少小伙伴反馈,在打开某些游戏或软件的时候,Windows会提示“MCEWMDRMNDBootstrap.dll文件丢失,软件无法启动”,不知道应该怎样办? 首先,我们先来了解“MCEWMDRMNDBootstrap.dll文件”是什么? …

php-fpm运行一段时间,内存不足

目录 一:原因分析 二:解决 三:观察系统情况 php-fpm运行一段时间,内存不足,是什么原因呢。 一:原因分析 1:首先php-fpm的配置 (1)启动的进程数 启动的进程数越多,占用内存越高; 2:其次…

【12.3K⭐】ChatALL:一款让你同时与多个AI模型对话的软件

【12.3K⭐】ChatALL:一款让你同时与多个AI模型对话的软件 随着人工智能技术的不断发展,越来越多的AI模型被开发出来。这些AI模型具有不同的功能和特点,可以为用户提供不同的服务。然而,对于用户来说,同时与多个AI模型…

第G2周:人脸图像生成(DCGAN)

🍨 本文为[🔗365天深度学习训练营学习记录博客\n🍦 参考文章:365天深度学习训练营\n🍖 原作者:[K同学啊 | 接辅导、项目定制]\n🚀 文章来源:[K同学的学习圈子](https://www.yuque.co…

SourceTree的安装和使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装:二、使用步骤1.获取地址2.放入sourceTree 3.点击推送 前言 提示:这里可以添加本文要记录的大概内容: 简单讲解一…