部署KVM虚拟化平台

一、KVM简介:

KVM是Kernel Virtual Machine 的简写,目前Linux发行版必须在64位的系统环境才能运行KVM,同时硬件需要支持VT技术。KVM自Linux 2,6.20版本后就直接整合到Linux内核.它依托CPU虚拟化指令集(如intel-VT.AMD-V)实现高性能的虚拟化支持。由于与Linux内核高度整合.因此在性能.安全性.兼容性.稳定性上都有很好的表现。

二、搭建knm虚拟化平台:

(1)在CentOS的系统光盘镜像中.已经提供了安装KVM所需软件。通过部署基于光盘镜像的本地yum源.直接使用yum 安装所需软件即可,安装KVM所需软件具体包含以下几个。

(2)验证。重启系统后,查看CPU是否支持虚拟化.对于Intel的服务器可以通过以下命令查看,只要有输出就说明CPU支持虚拟化:AMD服务器可用cat/proc/cpuinfo / grep smv命令查看.

[root@localhost ~]# cat /proc/cpuinfo | grep vmx

检查kvm模块是否安装 

[root@localhost ~]# lsmod | grep kvm

开启服务。安装完成后还需要开启libvirtd 服务,以开启相关支持.

[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd

 2.设置KVM网络
宿主服务器安装完成KVM.首先要设定网络,在libvirt中运行KVM网络有两种方法:NAT和Bridge ,默认是NAT.
关于两种模式的说明如下。
(1)用户模式.即NAT方式,这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络。
(2)桥接模式.这种模式允许虚拟机像一台独立的主机--样拥有网络,外部的机器可以直接访问到虚拟机内部.但需要网卡支持.一-般有线网卡都支持。

这里以 Bridge(桥接)为例。

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ec3f7fc0-e496-470b-a134-ae36b8f8bc7d
DEVICE=ens33
ONBOOT=no
BRIDGE=br0[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.254

重启network服务:

[root@localhost ~]# /etc/init.d/network restart 

3.kvm管理 :

[root@localhost ~]# virt-manager   #进入虚拟系统管理器

virt-manager是基于libvirt的图像化虚拟机管理软件。请注意,不同的发行版上virt-manager 的版本可能不同.图形界面和操作方法也可能不同。本章使用了CentOS 7.3。创建KVM虚拟机最简单的方法是通过virt-manager接口。从控制台窗口启动这个工具,以root 身份输入“virt-manager”命令。 

 

 (1)创建存储池,双击“QEMU/KVM”,选择“存储”选项卡,然后单击“+”按钮新建存储池。单击“前进”按钮,根据提示输入或浏览用以设置存储目录,如/data_kvm/store,最后单击“完成”按钮即可。

用上面的方法我们创建2个存储池 bdqn-ios(储存需要安装的镜像 )bdqn(安装镜像的储存池 )

 (2)回到虚拟系统管理器。右击“QEMJ/KVM”,然后选择“新建”选项.在弹出的对话框中选择“本地安装介质”.然后单击“前进”按钮。单击“浏览”按钮选择镜像文件.再选择操作系统型及版本。

选择需要安装的镜像 (bdqn-ios)

选择安装位置 (bdqn)

 在“引导选项”视图中勾选“主机引导时启动虚拟机”复选框.这样在物理宿主机启动后.这个VM也会启动,最后单击“应用”按钮,开始安装。

三、使用kvm命令集管理虚拟机:

3.1 kvm基本功能管理:

[root@localhost ~]# virsh -h  ##查看帮助[root@localhost ~]# ls /etc/libvirt/qemu  ##查看kvm配置文件存放目录 [root@localhost ~]# virsh list --all  ##查看虚拟机状态 [root@localhost ~]# virsh shutdown rhel7.1  ##关闭虚拟机 
域 rhel7.1 被关闭[root@localhost ~]# virsh start rhel7.1  ##启动虚拟机 
域 rhel7.1 已开始[root@localhost ~]# virsh destroy rhel7.1  ##强制关闭虚拟机 [root@localhost ~]# virsh suspend rhel7.1   ##挂起虚拟机 [root@localhost ~]# virsh resume rhel7.1   ##重启虚拟机[root@localhost ~]# virsh autostart rhel7.1  ##配置开机自启动 
上述命令将创建/etc/libvirt/ qemu/ autostart/目录.目录内容为开机自动启动的系统。
[root@localhost ~]# virsh dumpxml rhel7.1 > /etc/libvirt/qemu/rhl7.2  ##导出虚拟机配置 

3.2虚拟机的删除和添加: 

[root@localhost ~]# virsh shutdown rhel7.1
[root@localhost ~]# virsh undefine rhel7.1

查看删除结果,test01的配置文件被删除,但是磁盘文件不会被删除,

查看虚拟机rhel7.1的状态:

 

 通过备份的配置文件重新定义虚拟机:

[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# mv rhl7.2 rhl7.2.xml 

 重新定义虚拟机:

[root@localhost qemu]# virsh define rhl7.2.xml

查看状态:

3.3、虚拟机快照
        KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2

1)对rhel7.1创建快照

[root@localhost ~]# virsh snapshot-create rhel7.1

已生成域快照 1704355792
2)查看虚拟机快照版本信息

[root@localhost ~]# virsh snapshot-current rhel7.1
<domainsnapshot><name>1704355792</name>  //快照版本号<state>shutoff</state>  //关机状态下的快照

3)查看快照信息

[root@localhost ~]# virsh snapshot-list rhel7.1名称               生成时间              状态
------------------------------------------------------------1704355792           2024-01-04 16:09:52 +0800 shutoff

4)创建新快照

[root@localhost ~]# virsh snapshot-create rhel7.2
已生成域快照 1704355880

5)查看快照信息

[root@localhost ~]# virsh snapshot-create rhel7.1
已生成域快照 1704356048
[root@localhost ~]# virsh snapshot-list rhel7.1名称               生成时间              状态
------------------------------------------------------------1704355792           2024-01-04 16:09:52 +0800 shutoff1704356048           2024-01-04 16:14:08 +0800 shutoff

6)将虚拟机开机,恢复虚拟机状态至1704355792(关机状态)

[root@localhost ~]# virsh start rhel7.1 
域 rhel7.1 已开始[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------20    rhel7.1                        running[root@localhost ~]# virsh snapshot-revert rhel7.1 1704355792
[root@localhost ~]# virsh list --allId    名称                         状态
----------------------------------------------------rhel7.1                        关闭

7)查看虚拟机快照版本信息

[root@localhost ~]# virsh snapshot-current rhel7.1
<domainsnapshot><name>1704355792</name>  //快照版本号<state>shutoff</state>  //关机状态下的快照

8)删除快照

[root@localhost ~]# virsh snapshot-delete rhel7.1 1704355792
已删除域快照 1704355792[root@localhost ~]# virsh snapshot-delete rhel7.1 1704356048
已删除域快照 1704356048[root@localhost ~]# virsh snapshot-list rhel7.1名称               生成时间              状态


 


 

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

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

相关文章

Golang leetcode24两两交换链表中的节点 递归 迭代

两两交换链表中的节点 leetcode24 递归 两个节点一递归 第一次即成功&#xff0c;泪目&#xff01;&#xff01; // 每两个进行一次交换 func swapPairs(head *ListNode) *ListNode {//每两个的第一个节点var pre *ListNode//递归结束条件&#xff0c;即当剩下的节点不满足两…

构建 ROS (Robot Operating System) 工作空间的命令行工具catkin_make用法汇总

文章目录 catkin_makecatkin_make installROS文章汇总 catkin_make catkin_make 是一个用于构建 ROS (Robot Operating System) 工作空间的命令行工具&#xff0c;它提供了多种参数以适应不同的构建需求。以下是一些常见的 catkin_make 参数&#xff1a; 无参数: 默认情况下&a…

RTSP/Onvif安防平台EasyNVR接入EasyNVS显示服务不存在的原因及解决办法

EasyNVS云管理平台具备汇聚与管理EasyGBS、EasyNVR等平台的能力&#xff0c;可以将接入的视频资源实现统一的视频能力输出&#xff0c;支持远程可视化运维等管理功能&#xff0c;还能解决设备现场没有固定公网IP却需要在公网直播的需求。 有用户在现场部署EasyNVR&#xff0c;…

HTTP模块

一、Web服务器 当应用程序&#xff08;客户端&#xff09;需要某一个资源时&#xff0c;可以向一台服务器&#xff0c;通过Http请求获取到这个资源&#xff1b;提供资源的这个服务器&#xff0c;就是一个Web服务器 目前有很多开源的Web服务器&#xff1a;Nginx、Apache&#xf…

设计领域不可缺少的10款PS插件,2023年必知!

即时设计 即时设计是一个更快更简单的产品协作设计平台。即时设计主要用户人群涵盖产品经理&#xff0c;设计师和工程师&#xff0c;其核心功能点包括&#xff1a;智能标注、一键切图、多样批注、快速交互、全貌画板、团队管理。从产品到开发&#xff0c;真正实现了只要一个文…

MySQL之表的记录操作

前言 存数据不是目的&#xff0c;目的是能够将存起来的数据取出来或者查出来&#xff0c;并且能够对数据进行增删改查操作&#xff0c;本文将详细介绍表中记录的增删改查操作。对记录的操作属于DML数据库操作语言&#xff0c;可以通过SQL实现对数据的操作&#xff0c;包括实现向…

MSE Serverless 正式商用,构建低成本高弹性的微服务架构

作者&#xff1a;问思 微服务架构充分提升了研发效率&#xff0c;解决了复杂业务系统的快速迭代问题。但随着业务及技术演进&#xff0c;各种微服务组件也愈发复杂。如何实现更敏捷的开发&#xff0c;降低微服务开发运维成本&#xff0c;做到全链路的弹性&#xff0c;保障整个…

Python技巧

Python&#xff0c;现如今非常热门的一种编程语言&#xff0c;在人工智能中大放异彩。做任何事都需要技巧&#xff0c;这可以大大提高效率&#xff0c;学习Python,同样如此&#xff01; 第一个就是assret语句&#xff0c;让我们看下面一个关于折扣的例子&#xff1a; def dic…

Redis面试题2

Redis 的数据是否可以持久化到磁盘&#xff1f; 是的&#xff0c;Redis 支持将数据持久化到磁盘&#xff0c;可以通过 RDB 和 AOF 两种机制实现。 Redis 如何防止数据丢失&#xff1f; Redis 可以通过持久化机制将数据保存到磁盘&#xff0c;以防止意外宕机导致数据丢失。 此…

算法基础之区间分组

区间分组 核心思想&#xff1a;贪心 若所有组中右端点最大值都比当前遍历的区间的左端点大 则需要开新组 为了让组数最多 根据左端点排序 #include<iostream>#include<algorithm>#include<queue>using namespace std;const int N 100010;struct Range{i…

URLDecoder: Illegal hex characters in escape (%) pattern - For input string

URLDecoder: Illegal hex characters in escape (%) pattern - For input string 原因&#xff1a;后台发布文章的时候&#xff0c;内容里面有%&#xff0c;导致后台URLDecoder.decode()转码的时候报错。 看了java.net.URLDecoder的decode()的源码&#xff0c;原来是转码错误。…

RT-Thread 14. GD32F330RBT6 Keil4移植RT-Thread

1.增加rt-thread-v4.1.0源码 rt-thread-v4.1.0\bsp\gd32350r-eval复制重命名为gd32f330_v1 2.文件组织结构 Usr&#xff1a;存放App任务应用&#xff0c;属于应用层&#xff0c;完全脱离硬件 CMSIS&#xff1a;硬件层&#xff0c;启动文件、系统文件 Driver&#xff1a;硬件外…

Python PIL库详细介绍与用法指南

摘要&#xff1a;Python Imaging Library (PIL)是Python中常用的图像处理库。它提供了许多图像操作&#xff0c;如裁剪、缩放、旋转、滤镜和在图像上绘制等。而Pillow是PIL的更新版本&#xff0c;提供更多的功能和更好的性能。在这篇博客中&#xff0c;我们将详细介绍Pillow库的…

【无标题】idea的lombok插件支持@SuperBuilder注解啦

在我的博客阅读本文 1. 前言 今早进公司打开idea&#xff0c;弹出更新提示&#xff0c;简单看了下&#xff0c;原来是idea的lombok插件更新了&#xff0c;惊喜的发现update log上写着Add support for SuperBuilder。 为什么说是惊喜呢&#xff1f;因为之前也有用到这个的场景…

树莓派外设开发综述及WiringPi库安装

树莓派常用的接口 IO&#xff1a; input&#xff1a; output&#xff1a; PWM&#xff1a; IIC spi uart WiringPi库 树莓派一个非常重要的 WiringPi库&#xff08;Linux下 动态库 ”.so“ 静态库”.a"&#xff09; &#xff08;是一个特定平台&#xff0c;特…

数据结构:STL:vector

目录 1.vector头文件 2.vector是什么 3.vector定义 4.vector容器元素访问 4.1 下标访问 4.2 通过迭代器访问 5.vector常用函数 5.1 push_back() 5.2 pop_back() 5.3 size() 5.4 empty() 5.5 insert() 5.6 erase() 删除一个元素 删除一个区间内的元素 5.6 clear() …

anylabeling 加载模型后出错

错误信息&#xff1a; onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Invalid rank for input: x Got: 3 Expected: 4 Please fix either the inputs or the model. 目前官方的anylabeling版本在0.3.3 Releas…

【taro react】 ---- QRCode 二维码生成

1. 需求分析 需要将输入的值转换为图片资源;由于只是单纯的展示,所以不需要很多比如加 logo 等复杂功能;不需要后端生成,直接前端操作;使用的第三方库尽可能小,功能单一;最后选择使用 qrcode-generator 库,只有 40kb。2. 使用第三方库 qrcode-generator 3. 转换 base…

不慌,新手专属!10款免费画图软件助你轻松入门!

即时设计 即时设计是一种基于云的在线矢量设计工具&#xff0c;是一种免费的绘图软件&#xff0c;专门用于现代UI和UX设计。它极大地简化了矢量图形的编辑&#xff0c;以一种非常直观和易于使用的方式&#xff0c;让设计师专注于他们最擅长的事情&#xff1a;创造优秀的产品。…

【开题报告】基于SpringBoot的洗衣店管理系统的设计与实现

1.研究背景 随着社会的发展和人们生活水平的提高&#xff0c;洗衣店作为一种常见的服务行业&#xff0c;受到了广大用户的欢迎。传统的洗衣店管理方式主要依赖于手工操作&#xff0c;包括订单记录、库存管理、财务核算等&#xff0c;效率低下且容易出错。为了提高洗衣店的管理…