在Linux上安装KVM虚拟机

news2024/11/15 11:31:54

一、搭建KVM环境

KVM(Kernel-based Virtual Machine)是一个基于内核的系统虚拟化模块,从Linux内核版本2.6.20开始,各大Linux发行版就已经将其集成于发行版中。KVM与Xen等虚拟化相比,需要硬件支持的完全虚拟化。KVM由内核加载,并使用Linux系统的调试器进行管理,因此KVM对资源的管理效率相对较高。以下是KVM的安装和使用过程。

1.检查模块

lsmod | grep kvm		# 检查是否已装

在这里插入图片描述

如果缺少模块,就先安装 -->

yum -y install qemu-kvm libvirt virt-install bridge-utils

kvm 虚拟化中 libvirt 是目前使用最为广泛的对 kvm 虚拟机进行管理的工具和应用程序接口,而且一些常用的虚拟机管理工具(virsh、virt-install、virt-manager等)和云计算框架平台都在底层使用libvirt的应用程序接口。

virsh 是用于管理 虚拟化环境中的客户机和 Hypervisor 的命令行工具,与 virt-manager 等工具类似,它也是通过 libvirt API 来实现虚拟化的管理。virsh 是完全在命令行文本模式下运行的用户态工具,它是系统管理员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。

virt-manager 是虚拟机管理器(Virtual Machine Manager) 这个应用程序的缩写,也是管理工具的软件包名称。virt-manager 是用于管理虚拟机的图形化的桌面用户接口。

2.启动虚拟化和开机自启

systemctl start libvirtd
systemctl enable libvirtd
systemctl list-unit-files | grep libvirtd.service

在这里插入图片描述

3.配置网桥

虚拟机的网络连接中,使用最多的当属桥接网络,即将物理网络连接到虚拟机中。新装的KVM需要手动添加一下。

cd /etc/sysconfig/network-scripts
# 然后对目标网卡ens11f0的配置文件ifcfg-ens11f0复制1份,命名为ifcfg-br0,对两个文件作修改

在这里插入图片描述

# 重启网络,然后验证测试
systemctl restart network
ping -c 4 10.0.10.10

二、KVM虚拟机的管理

通常有两种方式:用Linux系统图形界面下的虚拟系统管理器;命令行。

可以通过yum安装virt-manager来提供虚拟系统管理器服务,能很方便地完成虚拟机的创建、删除、电源管理等多种功能 ->

在这里插入图片描述

常见的KVM管理命令:

命令作用
virst-install创建虚拟机
virsh list --all查看所有虚拟机
virsh start v1启动名称叫v1的虚拟机
virsh destroy v1停止v1
virsh undefine v1删除v1
virsh console v1连接v1的控制台

1.安装文件准备

上传镜像放到了某个目录下,可能有其他需要用到的工具此时也安装好放到该目录下。

2.创建虚拟机

在/home下建了虚拟机存放的目录vm

在这里插入图片描述

# 使用该命令创建一个虚拟机10.0.1.1,用法可 virt-instal --help 查看详情
# ram是内存1024MB*32,即32GB。tfa_root.img为自主命名的虚拟ssd,不能重名。tfa_data.img为虚拟hdd,大小1024G。vcpu是虚拟CPU核数。bridge=br0表示连# 的桥接网络。vnc端口用于电脑端连接安装系统界面。
virt-install --name 10.0.1.1 --virt-type kvm --ram 32768 --cdrom=/opt/CenOS-7-x86_64-Minimal-2003-1.iso --disk path=/home/vm/10.0.1.1/tfa_root.img,size=100,bus=scsi  --disk path=//home/vm/10.0.1.1/tfa_data.img,size=500,bus=scsi --vcpu 16 --cpu host-passthrough --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5991

执行该命令时,如果报“host does not support any virtualization options”的错,要注意是不是物理机的BIOS没开启虚拟化。

3.连接vnc

在自己PC上安装好vnc viewer,建立连接:物理机IP+vnc端口,如10.0.0.108:5991,成功后进入安装系统界面。

然后就是安装系统,分区可根据自己的需要来划分。安装完成后,reboot。

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

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

相关文章

vue3 router-view 使用keep-alive报错parentcomponent.ctx.deactivate is not a function

问题 如下图,在component组件上添加v-if判断,会报错: parentcomponent.ctx.deactivate is not a function 解决方法 去除v-if,将key直接添加上。由于有的公用页面,需要刷新,不希望缓存,所以需要添加key…

2023/11/30JAVAweb学习

数组json形式 想切换实现类,只需要只在你需要的类上添加 Component 如果在同一层,可以更改扫描范围,但是不推荐这种方法 注入时存在多个同类型bean解决方式

C 中的结构 - 存储、指针、函数和自引用结构

0. 结构体的内存分配 当声明某种类型的结构变量时,结构成员被分配连续(相邻)的内存位置。 struct student{char name[20];int roll;char gender;int marks[5];} stu1; 此处,内存将分配给name[20]、roll、gender和marks[5]。st1这…

Redis学习文档

目录 一、概念1、特征2、关系型数据库和非关系型数据库的区别3、键的结构4、Redis的Java客户端5、缓存更新策略5.1、概念5.2、代码 6、缓存穿透6.1、含义6.2、解决办法6.3、缓存空值代码举例6.4、布隆过滤器代码举例 7、缓存击穿7.1、概念7.2、解决办法7.3、互斥锁代码举例7.4、…

卡码网语言基础课 | 17. 判断集合成员

目录 一、 set 集合 二、 创建集合 2.1 引入头文件 2.2 创建 2.3 插入元素 2.4 删除元素 三、 find的用法 四、 实现基本解题 五、 延伸拓展 题目:编写一个程序,判断给定的整数 n 是否存在于给定的集合中。 输入描述: 有多组测试…

Pycharm中使用matplotlib绘制动态图形

Pycharm中使用matplotlib绘制动态图形 最终效果 最近用pycharm学习D2L时发现官方在jupyter notebook交互式环境中能动态绘制图形,但是在pycharm脚本环境中只会在最终 plt.show() 后输出一张静态图像。于是有了下面这段自己折腾了一下午的代码,用来在pych…

jetson nano SSH远程连接(使用MobaXterm)

文章目录 SSH远程连接1.SSH介绍2.准备工作3.连接步骤3.1 IP查询3.2 新建会话和连接 SSH远程连接 本节课的实现,需要将Jetson Nano和电脑保持在同一个局域网内,也就是连接同一个路 由器,通过SSH的方式来实现远程登陆。 1.SSH介绍 SSH是一种网…

一文讲透Python机器学习特征选择之互信息法

1.互信息法的基本思想 互信息(Mutual Information,MI)的基本思想是计算每个特征变量与目标变量之间的互信息统计量,互信息统计量衡量变量之间的依赖关系。两个随机变量之间的互信息统计量肯定是非负值,当且仅当两个随…

带键扫的LED专用驱动方案

一、基本概述 TM1650 是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路。内部集成有MCU输入输出控制数字接口、数据锁存器、LED 驱动、键盘扫描、辉度调节等电路。TM1650 性能稳定、质量可靠、抗干扰能力强,可适用于24 小时长期…

【强迫症患者必备】SpringBoot项目中Mybatis使用mybatis-redis开启三级缓存必须创建redis.properties优化方案

springboot项目中mybatis使用mybatis-redis开启三级缓存需要创建redis.properties优化方案 前言下载mybatis-redis源码分析RedisCache 代码RedisConfigurationBuilder的parseConfiguration方法 优化改造1.创建JedisConfig类2.复制RedisCache代码创建自定义的MyRedisCache3.指定…

分享超实用的软文撰写步骤!建议收藏

一想到写软文就头大,根本不知道从哪里下手,这是很多写手在创作过程中会遇到的问题。 一篇软文写得好不好,关键就要看你的创作步骤到不到位,软文创作是有一套可执行的具体方式的,跟着步骤来,你也能轻轻松松…

【java扫盲贴】final修饰变量

引用类型:地址不可变 //Java中的引用类型分为类(class)、接口(interface)、数组(array)和枚举(enum)。//string是特殊的引用类型,他的底层是被final修饰的字…

麒麟操作系统网桥配置

网桥概念: Bridge 是 Linux 上用来做 TCP/IP 二层协议交换的设备,其功能可 以简单的理解为是一个二层交换机或者 Hub;多个网络设备可以连接 到同一个 Bridge,当某个设备收到数据包时,Bridge 会将数据转发 给其他设备。…

osgFX扩展库-刻线特效、立方图镜面高光特效(2)

刻线特效 刻线特效(osgFX::Scribe)是一个双通道的特效,第一个通道以通常的方式渲染图形,第二个通道使用线框模式。用户设置好光照和材质之后,即可使用指定的颜色进行渲染。这个特效使用了PolygonOffset渲染属性类来避免多边形斑驳(Z-fighting…

【C++ Primer Plus学习记录】嵌套循环和二维数组

for循环是一种处理数组的工具。下面进一步讨论如何使用嵌套for循环中来处理二维数组。 C没有提供二维数组类型,但是用户可以创建每个元素本身都是数组的数组。例如,假设要存储5个城市在4年间的最高温度,可以这样声明数组: int m…

机器学习入门(第四天)——朴素贝叶斯

知识树 Knowledge tree P(y|x),P给定x的条件下,y的概率。如:P(y我招女孩子喜欢的概率|我是学生) 一个小故事 A story 女朋友和妈妈掉河里,路人拿出3颗豆,两颗红豆1颗绿豆。如果我抽中红豆救女朋友,抽中绿…

【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏5(附项目源码)

文章目录 本节最终效果前言能力升级系统绘制升级按钮武器升级道具升级治疗物品效果双手放置武器控制武器移动转向排序默认先隐藏武器,去除默认的武器精灵图片数据联动完善升级界面控制窗口开启关闭时间控制,升级暂停游戏每次升级随机获取属性项目控制等级…

2023/11/24JAVAweb学习(Vue常用指令,Vue.js文件,Ajax,Axios两种请求,Vue-cli脚手架,Vue项目,Element)

age只会执行成立的,show其实都展示了,通过display不展示 使用Vue,必须引入Vue.js文件 假如运行报错,以管理员身份打开vscode,再运行 ------------------------------------------------------------------- 更改端口号

如何有效避免七个常见的身份验证漏洞

引言 随着网络威胁的数量不断增加,了解学习可能会危及到客户在线身份的常见身份验证漏洞就显得格外重要。如果需要在网上满足客户的需求,并使用传统的身份验证机制时,就要对身份验证漏洞保持警惕。 只有了解了这些漏洞,才可以更…

如何配置mybatis中mapper对应关系,解决mybatis报错:Invalid bound statement (not found):

先看一下报错信息&#xff1a; Invalid bound statement&#xff1a;意思是无效的绑定语句 原因就是&#xff1a;在使用mybatis时mapper.xml没有和mapper接口对应起来 解决方式 第一种&#xff1a; 将mapper.xml和mapper接口放在同一位置 在pom中配置&#xff1a; <reso…