新闻资讯

kvm 如何安装虚拟机

映射 | 2025-02-28

KVM 是基于 Linux 内核的虚拟化技术,允许在 Linux 主机上运行多个虚拟机。在 KVM 中安装虚拟机,主要步骤涵盖检查硬件支持、安装 KVM 软件包、配置网络以及创建虚拟机等。

检查硬件支持

1、 CPU 虚拟化支持:KVM 依赖硬件辅助虚拟化,因此需确认 CPU 是否支持。对于 Intel CPU,要支持 VT - x 技术;AMD CPU 则需支持 AMD - V 技术。在 Linux 系统中,通过命令egrep -c '(vmx|svm)' /proc/cpuinfo来检查 。若输出数字大于 0,表明 CPU 支持虚拟化 。例如在一台配备 Intel Core i7 处理器的服务器上,执行该命令后输出为 4,说明此 CPU 支持虚拟化技术,满足 KVM 运行的硬件基础条件 。
2、 硬件兼容性:确保主机的其他硬件组件,如内存、存储等,与 KVM 兼容。一般而言,现代服务器和个人计算机的硬件大多能满足要求,但对于一些老旧设备,可能存在兼容性问题。在内存方面,建议主机内存不少于 4GB,以确保在运行虚拟机时,主机和虚拟机都有足够的内存资源可用 。

安装 KVM 软件包

以 Ubuntu 系统为例,安装步骤如下:
1、 更新系统软件包列表:执行sudo apt update命令,确保获取到最新的软件包信息 。
2、 安装 KVM 及相关工具:运行sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils libguestfs-tools virt-viewer virt-manager virtinst命令 。其中,qemu-kvm负责 CPU 和内存的虚拟化,以及 IO 设备(如网卡和磁盘等)的虚拟化;libvirt-daemon-system是 KVM 管理工具,为不同的虚拟机监视器提供统一接口;libvirt-clients包含一组与 libvirt 库交互的命令行工具,如virsh(用于虚拟机的创建、启动、停止、迁移、克隆、配置文件管理等操作 )、virt-install(用于 GuestOS 安装 )、virt-clone(用于虚拟机克隆 );bridge-utils用于配置网桥;libguestfs-tools是虚拟机镜像管理工具,包含virt-cat、virt-edit、virt-ls、virt-rescue等工具;virt-viewer用于虚拟机控制台;virt-manager是图形界面管理 KVM 虚拟化的工具;virtinst是命令行工具集,包含virt-install、virt-clone、virt-manager等 。
3、 安装 Python API(可选):若有在 Python 中使用 libvirt 功能的需求,可执行sudo apt install python3-libvirt命令安装 Python 绑定 。

启用和启动 libvirtd 服务

1、 设置开机自启:使用sudo systemctl enable libvirtd命令,确保libvirtd服务在系统启动时自动运行 。
2、 启动服务:通过sudo systemctl start libvirtd命令启动libvirtd服务 。
3、 检查服务状态:执行sudo systemctl status libvirtd命令,查看服务是否正常运行 。若服务运行正常,会显示类似 “active (running)” 的状态信息 。同时,可使用lsmod | grep kvm命令检查 KVM 模块是否正确加载 。如输出kvm_intel 372736 5和kvm 1032192 1 kvm_intel,表示 KVM 模块已成功加载 。

添加当前用户到 kvm 和 libvirt 组(可选)

为了让当前用户能够更方便地管理 KVM 虚拟机,可执行以下命令将用户添加到kvm和libvirt组 :
1、 添加到 kvm 组:sudo usermod -aG kvm $USER
2、 添加到 libvirt 组:sudo usermod -aG libvirt $(whoami)
3、 验证用户是否加入组中:执行id $(whoami)命令,若输出结果中包含kvm和libvirt,则说明添加成功 。例如,输出uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(kvm),110(lxd),121(libvirt),表明用户已成功加入这两个组 。需注意,修改组后,需重新登录或注销再登录才能使更改生效 。

创建网桥(可选但推荐)

若计划从本机之外访问 KVM 虚拟机,需将虚拟机的网卡映射至网桥 。虽然 KVM 安装完成后会自动创建virbr0网桥,但仅适用于测试用途 。以 Ubuntu 系统为例,在/etc/netplan目录下创建文件01-netcfg.yaml来新建网桥,内容如下:
network:
ethernets:
enp0s3:
dhcp4: false
dhcp6: false
add configuration for bridge interface
bridges:
br0:
interfaces: [enp0s3]
dhcp4: false
addresses: [10.0.62.2/24]
macaddress: 08:00:27:3f:c0:7b
routes:

  • to: default
    via: 10.0.62.1
    metric: 100
    nameservers:
    addresses: [223.5.5.5]
    parameters:
    stp: false
    dhcp6: false
    version: 2
    上述配置将机器网卡enp0s3的地址配置到br0网桥上,需根据实际环境替换 IP 地址、网口名称及 mac 地址等 。配置完成后,执行sudo netplan apply命令应用网络配置 ,再使用ip add show命令查看网络配置是否生效 。

    使用 virt-manager 创建虚拟机

    1、 启动 virt-manager:在终端中执行virt-manager命令,打开图形化管理工具 。
    2、 创建新虚拟机:点击 “新建虚拟机”,进入创建向导 。
    3、 选择安装来源:可选择本地的 ISO 镜像文件,也可以选择网络安装源 。若选择本地 ISO 镜像,需先将系统 ISO 上传到宿主机的/var/lib/libvirt/images目录,然后在向导中选择该 ISO 文件 。
    4、 设置系统类型:根据安装的操作系统选择对应的类型,如安装 Windows 系统,选择相应的 Windows 版本;安装 Linux 系统,选择对应的 Linux 发行版 。
    5、 设置 CPU 和内存:根据虚拟机的应用需求,设置 CPU 核心数和内存大小 。对于运行轻量级应用的虚拟机,可分配 1 - 2 个 CPU 核心和 1 - 2GB 内存;对于运行大型数据库或企业级应用的虚拟机,可能需要分配 4 个或更多 CPU 核心以及 4GB 以上内存 。
    6、 设置存储:可选择将磁盘放置在default存储池中,也可以自定义存储路径和大小 。在设置磁盘大小时,需根据虚拟机中要存储的数据量来确定 。
    7、 设置网络:选择之前创建的br0网桥,确保虚拟机能够与外部网络通信 。
    8、 安装系统:完成上述设置后,点击 “完成”,虚拟机将自动启动并进入操作系统安装界面,按照提示完成操作系统的安装 。


拓展阅读

1、 KVM 虚拟机安装过程中提示硬件不兼容怎么办:首先检查硬件是否满足 KVM 的最低要求,如 CPU 虚拟化支持、内存大小等 。若硬件满足要求,可能是硬件驱动问题,可尝试更新主机的 BIOS 和硬件驱动程序 。也可以在 KVM 相关技术论坛或社区中搜索类似问题的解决方案 。
2、 如何在 KVM 虚拟机中安装多个操作系统:可以在创建虚拟机时,为每个操作系统分配独立的磁盘空间 。在安装完第一个操作系统后,使用virt-manager或命令行工具添加新的磁盘,并在新磁盘上安装其他操作系统 。在启动虚拟机时,通过选择不同的磁盘启动项来选择要进入的操作系统 。
3、 KVM 虚拟机安装完成后如何优化性能:合理分配 CPU 和内存资源,避免资源过度分配或不足 。安装虚拟机的驱动程序,如 virtio 驱动,可提高磁盘和网络性能 。优化虚拟机的操作系统设置,如关闭不必要的服务、调整虚拟内存大小等 。