当前位置: 首页 > news >正文

在Linux上安装KVM虚拟机

一、搭建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。

相关文章:

  • Navicat连接Oracle数据库记录
  • 2023.11.23 云服务器实现 Spring Boot 项目文件上传并访问
  • 【微信小程序】保存多张图片到本地相册 wx.saveImageToPhotosAlbum
  • R语言30分钟入门
  • Tomcat的安装及其使用
  • 【接口自动化】selenium库也有大用场(获取cookie)
  • 计算机网络:应用层(上篇)
  • 基于python和定向爬虫的商品比价系统
  • 3D点云目标检测:VoxelNex解读
  • RESTful API,以及如何使用它构建 web 应用程序
  • C++如何在excel中同时插入多行
  • 数据可视化:用图表和图形展示数据
  • 传统算法:使用 Pygame 实现线性查找
  • 数据结构-二叉树(1)
  • 2017年五一杯数学建模B题自媒体时代的消息传播问题解题全过程文档及程序
  • export和import的用法总结
  • extract-text-webpack-plugin用法
  • golang中接口赋值与方法集
  • HTTP--网络协议分层,http历史(二)
  • JavaScript-Array类型
  • Linux各目录及每个目录的详细介绍
  • MYSQL 的 IF 函数
  • ng6--错误信息小结(持续更新)
  • php中curl和soap方式请求服务超时问题
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • windows下mongoDB的环境配置
  • 开源地图数据可视化库——mapnik
  • 排序算法学习笔记
  • 前端代码风格自动化系列(二)之Commitlint
  • 一些关于Rust在2019年的思考
  • 运行时添加log4j2的appender
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​queue --- 一个同步的队列类​
  • ​TypeScript都不会用,也敢说会前端?
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #if和#ifdef区别
  • #每日一题合集#牛客JZ23-JZ33
  • ${ }的特别功能
  • (C语言)fgets与fputs函数详解
  • (Python) SOAP Web Service (HTTP POST)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (四)模仿学习-完成后台管理页面查询
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)linux 命令大全
  • (转)Unity3DUnity3D在android下调试
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .Net 4.0并行库实用性演练
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • @WebServiceClient注解,wsdlLocation 可配置
  • @WebService和@WebMethod注解的用法
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...