KVM开源硬件虚拟化技术

第三阶段基础

目录

一、KVM 概述

二、KVM工作原理

三、KVM应用场景

四、centos7 下安装部署

五、新建虚拟机步骤

1.创建虚拟机磁盘镜像:

2.安装操作系统:

3.开启 VNC:

4.连接 VNC:

5.完成安装:

6.重启虚拟机:


一、KVM 概述

KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术。

它使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

KVM 允许虚拟机直接访问物理硬件资源,从而提供出色的性能和稳定性,同时还支持许多常见的操作系统和应用程序。

KVM 使用了 QEMU (Quick Emulator) 作为其默认的虚拟机监控程序。

除此之外,KVM 还支持多种嵌入式和云计算场景,并且得到了广泛的应用。

二、KVM工作原理

KVM 的工作原理是使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。

        具体来说,它在 Linux 内核之上构建一个虚拟化层,该虚拟化层允许多个虚拟机共享物理服务器上的计算资源(如 CPU、内存和 0 设备)。在此虚拟化层中,每个虚拟机都被视为单独的计算机,每个虚拟机可以运行不同的操作系统和应用程序。

        KVM 使用硬件虚拟化技术,即通过 intel VT-x 和 AMD-V 等 CPU 虚拟化指集的支持,将虚拟化性能提升到接近原生性能。

        此外,KVM 还使用 QEMU 作为其虚拟机监控程序,QEMU为每个虚拟机提供了一个虚拟化的环境,在该环境中,虚拟机可以访问它需要的资源(如磁盘、网络和其他I/0 设备)。

        同时,KVM 利用 Linux 内核的强大功能,如分时调度和内存管理,来确保多个虚拟机之间的隔离性和安全性。

        综上所述,KVM 的工作原理是结合硬件虚拟化技术和 Linux 内核的虚拟化模块,创建出一个虚拟化层,将物理服务器划分为多个虚拟机,并为每个虚拟机提供一个虚拟化的环境,从而实现资源共享和隔离。

三、KVM应用场景

KVM 作为一种强大的硬件虚拟化技术,在许多场景下都具有广泛的应用,以下是几个主要的应用场景:

        1.云计算: KVM 在云计算中表现优异,可用于构建虚拟私有云、虚拟机托管服务等。KVM可以帮助企业实现资源共享、高可用性和快速部署的目标,同时还可以提高数据安全性和隔离性。

        2.Web 托管: KVM 可以用于 Web 服务器的虚拟化,通过将多个虚拟机分配在一个物理服务器上,可以极大地提高服务器的利用率和性能。同时,KVM 还提供了快速备份和恢复数据的功能,保证了服务器的高可靠性。

        3.测试和开发:KVM 可以帮助开发者创建多个虚拟机进行测试和开发,从而提高软件开发周期的效率和速度。开发者可以在虚拟机中运行不同的操作系统和应用程序,隔离他们的开发环境,同时可以在开发过程中随时备份和还原虚拟机。

        4.HPC(高性能计算): KVM 可以用于构建 HPC 集群系统。通过虚拟化技术,HPC 集群系统可以实现资源共享和高效管理,同时保证计算资源的隔离性和安全性。

        5.VDI(虚拟桌面基础设施): KVM 可以用于构建VDI 系统,将多个桌面虚拟机部署在一个物理服务器上,实现桌面虚拟化。VDI 系统可以提供远程访问、资源共享和快速部署的功能,同时可以保证数据隔离和安全性。

四、centos7 下安装部署

下面是在 Centos 7 上安装和部署 KVM 的步骤:

1.确保您的系统支持虚拟化技术,可以通过以下命令来检查:

bash

egrep -c '(vmx|svm)' /proc/cpuinfo

如果返回结果大于 0,则表示您的系统支持虚拟化技术

2.安装 KVM 和相关软件包,可以通过以下命令来安装:

bash

sudo yum install -y

qemu-kvm libvirt virt-install bridge-utils

3.启动并开启 libvirtd 服务:

bash

sudo systemctl start libvirtd

sudo systemctl enable libvirtd

4.创建一个网络桥接器:

bash

sudo vi

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

编辑如下内容:

DEVICE=br0

TYPE=Bridge

BOOTPROTO=dhcpONBOOT=yesDEFROUTE=yes

DELAY=0

保存并退出。

5.配置网络,编辑网卡配置文件:

bash

sudo vi

/etc/sysconfig/network-scripts/ifcfg-enpOs3

添加如下内容:

DEVICE=enpOs3

ONBOOT=yes

TYPE=Ethernet

BRIDGE=br0

保存并退出。

6.重启网络服务,并检查网络:

bash

sudo systemctl restart network

ip a

7.测试 KVM

使用 virt-manager 工具 (可以在本地安装或远程连接) 进行测试,如果可以成功启动虚拟机,则说明 KVM 已经安装并配置成功。

注意:在 centos7上,防火墙可能会阻止 KVM 的运行,如果您遇到问题,请确保您已将必要的端口添加到防火墙例外列表中。

五、新建虚拟机步骤

在 Centos 7 上使用 KVM 创建虚拟机的主要步骤如下:

1.创建虚拟机磁盘镜像:

bash

sudo qemu-img create -f qcow2

/path/to/disk-image-file.qcow2 15Gtes

        其中,/path/to/disk-image-file.qcow2 是您要创建的磁盘镜像的路径和文件名。这个命令将创建一个大小为 15GB 的 qcow2 格式的磁盘镜像文件。

2.安装操作系统:

bash

sudo virt-install --virt-type kvm--namenew-vm

--ram 2048--vcpus 2 --disk

path=/path/to/disk-image-file.qcow2,size=15

--cdrom /path/to/iso-file.iso

--network bridge=br0

-graphics vnc,listen=0.0.0.0 --noautoconsole

--os-type linux --os-variant centos7.0

        其中,‘new-vm’是您要创建的虚拟机的名称;‘2048’和‘2’是您要分配给虚拟机的内存大小和 CPU 数量;‘/path/to/disk-image-file.qcow2’是 虚拟机的盘镜像文件:‘/path/to/iso-file.iso’ 是您的安装 SO 文件路径;‘bro ’是虚拟机的网络接口所连接的网络桥接器名称。

注意,上述命令中的几个参数根据您的要求可做不同调整。

3.开启 VNC:

bash

sudo virsh vncdisplay new-vm

        该命令将显示虚拟机的 VNC 显示端口。请记录该端口号(格式为 ocalhost:端口号),以在连接 VNC 时使用。

4.连接 VNC:

        使用VNC客户端连接到虚拟机的 VNC 显示端口。在 VNC客户端中输入‘localhost:端口号’,并使用 VNC 密码连接到虚拟机。

5.完成安装:

        在 VNC 界面中完成虚拟机的操作系统安装过程,如分区和添加 root 用户等。

6.重启虚拟机:

        当安装完成后,退出 VNC 客户端,回到控制台,然后执行以下命令以启动虚拟机:

bash

sudo virsh start new-vm

现在,您可以使用 virt-manager 等工具管理和部署您的新虚拟机。

你可能感兴趣的:(开源,云计算,运维)