KVM虚拟化部署

本文介绍了KVM虚拟化技术,包括其虚拟化类型、架构和工作流程。KVM结合Linux内核和QEMU,实现高效能的虚拟化。文章详细阐述了KVM的优劣、三种模式以及在Linux环境中的部署过程,如创建存储池、虚拟机等。
摘要由CSDN通过智能技术生成

KVM虚拟化

美国环境保护EPA报告曾经统计过一组数据:EPA研究服务器和数据中心的能源效率时发现,实际上服务器只有5%的时间在工作,其他时间一直处于休眠状态。

为了提高服务器的利用率,研发出一种虚拟化技术。
广义的KVM实际上包含两个部分,一部分是基于Linux内核支持的KVM内核模块,另一部分是经过简化和修改的Qemu。
KVM内核模块模拟处理器和内存以支持虚拟机的运行,Qemu主要处理I/O以及为用户提供一个用户空间来进行虚拟机的管理。两者相互结合,相辅相成,构成了一个完整的虚拟化平台。

虚拟化类型

全虚拟化:将物理硬件资源全部通过软件方式抽象化,最后进行调用,使用hypervisor(VMM)软件,其原理是在底层硬件和服务器之间建立一个抽象层。
半虚拟化:物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor作为OS上的一个程序模块运行,并对虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation都属于这个类型
直通:直接使用物理硬件资源(需要支持,还不完善)

虚拟化技术

通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,同时每个逻辑计算机可运行不同的操作系统,应用程序都可以在相互独立的空间内运行而互相不影响,从而提高计算机的工作效率,例如ensp、workstation等

在一个操作系统中(win10)模拟多个操作系统(centos、win10、suse),同时每个操作系统可以跑不同的服务(nginx和tomcat),从而实现一台宿主机搭建一个集群

通过软件/应用程序的方式,来实现物理硬件的功能,例:ensp以软件形式实现物理设备的功能(二层交换机、路由器、三层交换机等)

虚拟化技术的优劣

在这里插入图片描述

KVM虚拟化架构/三种模式

1、客户模式(guestOS):VM中的OS为GuestOS
客户机在操作系统中运行的模式,客户机分为内核模式和用户模式,作用如下:
2、客户模式:
为用户提供虚拟机管理的用户空间工具以及代表用户执行I/O,Qemu_ 工作在此模式下(Qemu的主要功能)
3、linux内核模式
模拟CPU、内存,实现客户模式切换,处理从客户模式的推出,KVM即运行在此模式下
KVM驱动提供处理器、内存的虚拟化,以及客户机I/O的拦截,guest的I/O被拦截后,
交由Qemu处理
Qemu利用接口libkvm调用(ioctl) 虚拟机设备接口/dev/kvm来分配资源、管理、维护虚拟机

kvm作用

提高物理服务器的资源利用率
可以批量部署
实现实时快照技术
支持克隆技术
可以实现虚拟机的离线迁移和动态迁移
可以将资源动态调整

工作流程

  1. 用户模式的Qemu利用接口libkvm通过ioctl系统调用进入内核模式。KVM驱动为虚拟机创建虚拟CPU和虚拟内存
  2. 然后执行VMLAU :NCH指令进入客户模式,装载Guest OS并运行。Guest OS运行过程中如果发生异常,则暂停GuestOS的运行并保存当前状态同时退出到内核模式来处理这些异常。
  3. 内核模式处理这些异常时如果不需要I/o则处理完成后重新进入客户模式。如果需要I/o则进入到用户模式,则由Qemu 来处理I/O,处理完成后进入内核模式,再进入客户模式。

创建本地源

实验环境
centos7.6 8G 6核 300G
先查看cpu是否支持虚拟化
在这里插入图片描述
在这里插入图片描述

// 
[root@localhost ~]# vim /etc/fstab  #进入配置,添加永久挂载
/dev/cdrom  /mnt iso9660 defaults 0 0
[root@localhost ~]# mount -a /使配置文件生效
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -h       ##查看是否挂载成功
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3       293G  5.2G  288G    2% /
devtmpfs        3.8G     0  3.8G    0% /dev
tmpfs           3.9G     0  3.9G    0% /dev/shm
tmpfs           3.9G   13M  3.8G    1% /run
tmpfs           3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1      1014M  174M  841M   18% /boot
tmpfs           781M  4.0K  781M    1% /run/user/42
tmpfs           781M   20K  781M    1% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /mnt
[root@localhost ~]# vim /etc/ssh/sshd_config  ##将dns反向解析关掉,让客户端连接服务器更快
UseDNS no    //取消DNS注释,改为NO
[root@localhost ~]# cd /etc/yum.repos.d/
要在CentOS 7上进行KVM虚拟化部署,可以按照以下步骤进行操作: 1. 首先,部署KVM环境。这可以通过安装libvirt、virt和qemu-kvm等软件包来实现。 2. 将CentOS 7的ISO镜像拉入宿主机。这可以通过将ISO镜像文件复制到宿主机上的任意位置来完成。 3. 使用VMM GUI或命令行工具(如virt-install)创建KVM虚拟机。在创建虚拟机时,需要指定虚拟机的名称、内存大小、CPU数量和磁盘路径等参数。 4. 确保虚拟机的网络使用桥接模式,这样虚拟机可以与宿主机和其他虚拟机进行通信。 5. 可以在虚拟机关机状态下创建快照,以便在需要时可以恢复到该状态。这可以通过VMM GUI或命令行工具来完成。 需要注意的是,虚拟机的定义文件通常存储在`/etc/libvirt/qemu/`目录中。如果需要克隆虚拟机,可以复制定义文件并进行相应的修改。 总结起来,CentOS 7 KVM虚拟化部署的步骤包括:部署KVM环境、拉入ISO镜像、创建虚拟机、配置网络和创建快照。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [CentOS部署kvm虚拟化机器](https://blog.csdn.net/weixin_45052781/article/details/125988357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Centos7 安装KVM](https://blog.csdn.net/justlpf/article/details/126720554)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值