Linux:KVM虚拟化

本章操作基于centos7系统


简介

KVM是Kernel Virtual Machine的简写,目前Redhat只支持在64位的Rhel5.4以上的系统运行KVM,同时硬件需要支持VT技术。KVM的前身是QEMU,在2008年被redhat公司收购并获得了一项hypervisor技术,不过redhat的KVM被认为将成为未来linux hypervisor的主流,准确的来说KVM不仅仅是linux内核的一个模块。管理和创建完成的KVM虚拟机,需要更多的辅助工具。接下来部署KVM虚拟化环境。

公司部分的linux服务器利用率不是很高,为了充分利用这些linux服务器,可以部署KVM ,在物理机上运行多个业务系统,比如在运行Nginx服务器上部署KVM,然后在虚拟机上运行Tomcat


需要环境&配置

1) 需要图形化桌面环境

2)内存:2048M或以上

3)处理器:核心数 2或以上

4)如果是虚拟机需要开启虚拟化引擎:首选模式:intel VT-x 或 AMD-V 

5)硬盘:100G以上


 基础环境准备

打开虚拟机的虚拟化

 勾选上虚拟化lnetl tv-x……即可

如果你没有桌面环境可以使用两个命令,如果有,跳过下面两条命令即可

yum -y groupinstall  gnome-desktop  
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

 安装KVM

yum -y install qemu-kvm.x86_64 qemu-kvm-tools.x86_64 qemu-img.x86_64 python-virtinst.noarch bridge-utils.x86_64 libvirt virt-manager

qemu-kvm.x86_64             //kvm模块

qemu-kvm-tools.x86_64   //kvm调试工具,可不安装

python-virtinst.noarch      //python组件,记录创建vm时的xml文件

qemu-img.x86_64          //qemu组件,创建磁盘,启动虚拟机等

bridge-utils.x86_64       //网络支持工具

libvirt    //虚拟机管理工具

virt-manager      //图形界面管理虚拟机

安装完以后  reboot  重启服务器

 重启以后查看是否开启了虚拟化

如果你是intel的cpu就使用

cat /proc/cpuinfo | grep vmx

开启成功

如果你是AMD的cpu那么就用 

cat /proc/cpuinfo | grep smv

检查KVM模块是否安装

lsmod | grep kvm


KVM网络配置

宿主服务器安装了KVM,首先要设定网络,在libvirt中运行KVM网络有两种方法NAT和Bridge,默认是NAT。

nat地址转换就是虚拟机用物理机的网卡上网

桥接就是把虚拟机和真机放到一个局域网

下面我这里是桥接模式的配置

 我这里的主机网卡名为ens33

vim /etc/sysconfig/network-scripts/ifcfg-ens33

写入

DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
BRIDGE="br0"

桥接到br0

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

写入

DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.254.111
NETMASK=255.255.255.0
systemctl restart network

现在就可以了


KVM图形化创建虚拟机

先去/下创建两个文件一个用于放iso镜像,一个用于放虚拟机

mkdir -p /kvm/iso /kvm/xuniji

iso用于放镜像,xuniji用于放虚拟机文件

让后我们把要创建虚拟机的镜像放如/kvm/iso中,我这里还用centos镜像演示

iso镜像放进去以后去开启软件 

图形化找到kvm软件

 或者在命令行中使用命令行打开

virt-manager 

现在我们要在软件里把刚刚创建好的文件选择上

 双击打开

点击储存,再点左下角➕

 名字随便写,我这个先加虚拟机存放目录,所以我这个名字就叫虚拟机了,让后前进

点击浏览,让后找到/kvm/xuniji

 点击打开

现在虚拟机存放目录就好了,再去添加iso文件,和这个一样

 

 

 

这样两个文件就添加好了,现在,放虚拟机,选择镜像就去这两个文件夹就行了,如果你的服务器硬件资源足够大的化,可以创建大量的虚拟机

 现在就可以去创建虚拟机了

 

 

 

这里选择你要的虚拟机配置,配置完了再前进

 

先去配置虚拟机硬盘大小,让后点管理

 

 调整配置

 

在结束前可以再去配置一下硬件啥的,如果没有要配置的了,那么直接就开始安装,就直接进入系统安装了

 安装centos等系统我这里就不演式了,因为今天主要讲的是kvm

到这里我们的虚拟机就可以正常安装上了,除了Linux,Windows,类unix等等基本都是这样安装,也很向Windows上的VMware等软件 


克隆,快照等操作

当我们需要进行克隆时需要让虚拟机为关闭的状态

或者 

 

 

这样就克隆好了 

 

点击快照

创建快照 

恢复快照 

网络接口配置

 


命令行操作kvm

virsh -h

查看帮助

virsh list --all

查看当前虚拟机状态的列表

两个虚拟机都为运行状态

 virsh shutdown 虚拟机名称

关闭指定的虚拟机

 virsh shutdown centos7

 

virsh start 虚拟机名称

开启虚拟机 

virsh start centos7

 

 virsh destroy 虚拟机名称

关闭虚拟机(和shutdown 一个效果)

 virsh create /etc/libvirt/qemu/虚拟机配置文件.xml

 通过配置文件开启虚拟机

virsh create /etc/libvirt/qemu/centos7.xml 

virsh suspend  虚拟机名称

挂起虚拟机

virsh resume  虚拟机名称

恢复挂起虚拟机

virsh autostart  虚拟机名称

 和宿主机一起开启,也就是当真机开机的时候虚拟机也会一起打开

备份虚拟机文件

virsh dumpxml 虚拟机名称   > /etc/libvirt/qemu/虚拟机名称.xml

 导出虚拟机配置

virsh shutdown 虚拟机名称

关闭虚拟机

 virsh undefine 虚拟机名称

删除虚拟机 

cd /etc/libvirt/qemu 

前往虚拟机主配置文件

mv 刚刚备份的虚拟机文件.xml   一开始的虚拟机文件名.xml

 恢复备份文件

 virsh define 虚拟机文件名.xml

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

virsh list --all 

虚拟机快照
kvm虚拟机使用镜像功能,磁盘格式必须为qcow2.

【创建快照】
virsh snapshot-create 虚拟机名

【查看快照版本信息】
 virsh snapshot-current 虚拟机名

【查看快照信息】
virsh snapshot-list 虚拟机名

【恢复快照到指定】

virsh snapshot-revert 虚拟机名 快照编号


 virsh snapshot-revert test01 1282572463

virsh snapshot-current 虚拟机名
【删除快照】
virsh snapshot-delete 虚拟机名  快照编号

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文浅析Instagram网红经济为什么远远超出其他社媒平台

根据数据显示,网红营销市场规模在短短五年时间内从2016年的17亿美元增长至2022年的164亿美元,累计增速超过了712%。未来,有专家预计该市场预计将进一步增长,将在2023年突破210亿美元。这种惊人的增长趋势源于社交媒体的快速发展以…

SpringBoot整合Gateway 的Demo(附源码)

源码&#xff0c;可直接下载 Gateway模块 Gateway 的父pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

【图像分类】基于计算机视觉的坑洼道路检测和识别(ResNet网络,附代码和数据集)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 本篇博文,我们将使用PyTorch深度学习框架搭建ResNet实现钢轨缺陷识别,附完整的项目代码和数据集,可以说是全网…

基于单片机的智能清洁小车设计—控制系统设计

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、研究的主要内容和目标二、总体方案设计2.1智能清洁小车的硬件系统组成2.2智能清洁小车的硬件结构图 三、 小车结构设计5.1基本布局和功能分析5.2小车二维及三维图小车三维图&#xff1a; 四、 原理图程序 五、…

JAVA反射机制及动态代理

反射机制 反射机制是什么 1、Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息&#xff0c;从而操作类或对象的属性和方法。本质是JVM得到class对象之后&#xff0c; 再通过class对象进行反编译&#xff0c;从而获取对象的各种信息。 2、Java属于先编译再运行的…

gurobi 安装/license激活 记录

前言&#xff1a;花了好久&#xff0c;被嫌弃惹ww&#xff0c;记录一下踩过的坑 至于为何没安装gurobi也能跑一段时间&#xff0c;直到显示需要license激活&#xff0c;还是未解之迷&#xff0c;需要教教。 首先这是官方给的gurobi license激活教程 我们一步步来复现吧&#…

Go命令行参数操作:os.Args、flag包

Go命令行参数操作&#xff1a;os.Args、flag包 最近在写项目时&#xff0c;需要用到命令行传入的参数&#xff0c;正好借此机会整理一下。 1 os.Args&#xff1a;程序运行时&#xff0c;携带的参数&#xff08;包含exe本身&#xff09; package mainimport ("fmt"&q…

cola架构:有限状态机(FSM)源码分析

目录 0. cola状态机简述 1.cola状态机使用实例 2.cola状态机源码解析 2.1 语义模型源码 2.1.1 Condition和Action接口 2.1.2 State 2.1.3 Transition接口 2.1.4 StateMachine接口 2.2 Builder模式 2.2.1 StateMachine Builder模式 2.2.2 ExternalTransitionBuilder-…

Spring中Bean的完整生命周期!(Bean实例化的流程,Spring后处理器,循环依赖解释及解决方法)附案例演示

Bean实例化的基本流程 加载xml配置文件&#xff0c;解析获取配置中的每个的信息&#xff0c;封装成一个个的BeanDefinition对象将BeanDefinition存储在一个名为beanDefinitionMap的Map<String,BeanDefinition>中ApplicationContext底层遍历beanDefinitionMap&#xff0c…

解决计算机msvcp120.dll文件丢失的5种方法,亲测有效

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp120.dll丢失”。这个错误提示可能会给我们带来很大的困扰&#xff0c;影响我们的正常使用。本文将详细介绍msvcp120.dll丢失的原因、解决方法以及预防措施&#xff0c;帮助大家更好地…

3D LUT 滤镜 shader 源码分析

最近在做滤镜相关的渲染学习&#xff0c;目前大部分 LUT 滤镜代码实现都是参考由 GPUImage 提供的 LookupFilter 的逻辑&#xff0c;整个代码实现不多。参考网上的博文也有各种解释&#xff0c;参考了大量博文之后终于理解了&#xff0c;所以自己重新整理了一份&#xff0c;方便…

selenium工作原理和反爬分析

一、 Selenium Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一&#xff0c;支持并行测试执行。Selenium通过使用特定于每种语言的驱动程序支持各种编程语言。Selenium支持的语言包括C#&#xff0c;Java&#xff0c;Perl&#xff0c;PHP&#xff0c;Python和Ru…

Linux——Linux权限

Linux权限 前言一、shell命令以及运行原理二、Linux权限的概念Linux权限管理文件访问者的分类&#xff08;人&#xff09;文件类型和访问权限&#xff08;事物属性&#xff09;文件权限值的表示方法文件访问权限的相关设置方法 file指令目录的权限粘滞位 总结 前言 linux的学习…

基本微信小程序的体检预约小程序

项目介绍 我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;体检预约系统小程序被用户普遍使用&#xff0c;为方便用户…

LabVIEW开发基于图像处理的车牌检测系统

LabVIEW开发基于图像处理的车牌检测系统 自动车牌识别的一般步骤是图像采集、去除噪声的预处理、车牌定位、字符分割和字符识别。结果主要取决于所采集图像的质量。在不同照明条件下获得的图像具有不同的结果。在要使用的预处理技术中&#xff0c;必须将彩色图像转换为灰度&am…

【PyQt学习篇 · ⑧】:QWidget - 窗口特定操作

文章目录 图标标题不透明度窗口状态最大化和最小化窗口标志案例 图标 setWindowIcon(QIcon("resource/header_icon.png"))&#xff1a;该函数用于设置QWidget的窗口图标。可以为窗口设置一个图标&#xff0c;以显示在窗口标题栏、任务栏或窗口管理器中。 windowIcon…

识别flink的反压源头

背景 flink中最常见的问题就是反压&#xff0c;这种情况下我们要正确的识别导致反压的真正的源头&#xff0c;本文就简单看下如何正确识别反压的源头 反压的源头 首先我们必须意识到现实中轻微的反压是没有必要去优化的&#xff0c;因为这种情况下是由于偶尔的流量峰值,Task…

Linux 音频驱动实验

目录 音频接口简介为何需要音频编解码芯片&#xff1f;WM8960 简介I2S 总线接口I.MX6ULL SAI 简介 硬件原理图分析音频驱动使能修改设备树使能内核的WM8960 驱动alsa-lib 移植alsa-utils 移植 声卡设置与测试amixer 使用方法音乐播放测试MIC 录音测试LINE IN 录音测试 开机自动…

论文范文:论基于架构的软件设计方法及应用

注意:范文只适用于帮助大家打开写作思路,并不能作为素材直接用于平时练习、考试中。考试中直接使用范文的素材,会有被认定为雷同卷的风险。 摘要: 2022年4月,本人所在单位计划研发生态集装箱管理控制平台项目。该平台主要用于与现有公司生态集装箱产品做对接,达到远程控制…

【Leetcode】【简单】13. 罗马数字转整数

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能&#xff0c;轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/roman-to-integer/description/ …