第三阶段基础
目录
一、KVM 概述
二、KVM工作原理
三、KVM应用场景
四、centos7 下安装部署
五、新建虚拟机步骤
1.创建虚拟机磁盘镜像:
2.安装操作系统:
3.开启 VNC:
4.连接 VNC:
5.完成安装:
6.重启虚拟机:
KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术。
它使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。
KVM 允许虚拟机直接访问物理硬件资源,从而提供出色的性能和稳定性,同时还支持许多常见的操作系统和应用程序。
KVM 使用了 QEMU (Quick Emulator) 作为其默认的虚拟机监控程序。
除此之外,KVM 还支持多种嵌入式和云计算场景,并且得到了广泛的应用。
KVM 的工作原理是使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机。
具体来说,它在 Linux 内核之上构建一个虚拟化层,该虚拟化层允许多个虚拟机共享物理服务器上的计算资源(如 CPU、内存和 0 设备)。在此虚拟化层中,每个虚拟机都被视为单独的计算机,每个虚拟机可以运行不同的操作系统和应用程序。
KVM 使用硬件虚拟化技术,即通过 intel VT-x 和 AMD-V 等 CPU 虚拟化指集的支持,将虚拟化性能提升到接近原生性能。
此外,KVM 还使用 QEMU 作为其虚拟机监控程序,QEMU为每个虚拟机提供了一个虚拟化的环境,在该环境中,虚拟机可以访问它需要的资源(如磁盘、网络和其他I/0 设备)。
同时,KVM 利用 Linux 内核的强大功能,如分时调度和内存管理,来确保多个虚拟机之间的隔离性和安全性。
综上所述,KVM 的工作原理是结合硬件虚拟化技术和 Linux 内核的虚拟化模块,创建出一个虚拟化层,将物理服务器划分为多个虚拟机,并为每个虚拟机提供一个虚拟化的环境,从而实现资源共享和隔离。
KVM 作为一种强大的硬件虚拟化技术,在许多场景下都具有广泛的应用,以下是几个主要的应用场景:
1.云计算: KVM 在云计算中表现优异,可用于构建虚拟私有云、虚拟机托管服务等。KVM可以帮助企业实现资源共享、高可用性和快速部署的目标,同时还可以提高数据安全性和隔离性。
2.Web 托管: KVM 可以用于 Web 服务器的虚拟化,通过将多个虚拟机分配在一个物理服务器上,可以极大地提高服务器的利用率和性能。同时,KVM 还提供了快速备份和恢复数据的功能,保证了服务器的高可靠性。
3.测试和开发:KVM 可以帮助开发者创建多个虚拟机进行测试和开发,从而提高软件开发周期的效率和速度。开发者可以在虚拟机中运行不同的操作系统和应用程序,隔离他们的开发环境,同时可以在开发过程中随时备份和还原虚拟机。
4.HPC(高性能计算): KVM 可以用于构建 HPC 集群系统。通过虚拟化技术,HPC 集群系统可以实现资源共享和高效管理,同时保证计算资源的隔离性和安全性。
5.VDI(虚拟桌面基础设施): KVM 可以用于构建VDI 系统,将多个桌面虚拟机部署在一个物理服务器上,实现桌面虚拟化。VDI 系统可以提供远程访问、资源共享和快速部署的功能,同时可以保证数据隔离和安全性。
下面是在 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 创建虚拟机的主要步骤如下:
bash
sudo qemu-img create -f qcow2
/path/to/disk-image-file.qcow2 15Gtes
其中,/path/to/disk-image-file.qcow2 是您要创建的磁盘镜像的路径和文件名。这个命令将创建一个大小为 15GB 的 qcow2 格式的磁盘镜像文件。
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 ’是虚拟机的网络接口所连接的网络桥接器名称。
注意,上述命令中的几个参数根据您的要求可做不同调整。
bash
sudo virsh vncdisplay new-vm
该命令将显示虚拟机的 VNC 显示端口。请记录该端口号(格式为 ocalhost:端口号),以在连接 VNC 时使用。
使用VNC客户端连接到虚拟机的 VNC 显示端口。在 VNC客户端中输入‘localhost:端口号’,并使用 VNC 密码连接到虚拟机。
在 VNC 界面中完成虚拟机的操作系统安装过程,如分区和添加 root 用户等。
当安装完成后,退出 VNC 客户端,回到控制台,然后执行以下命令以启动虚拟机:
bash
sudo virsh start new-vm
现在,您可以使用 virt-manager 等工具管理和部署您的新虚拟机。