Kvm-Qemu

以前看代码,常常为看代码而代码,不常从用户的角度尝试代码所在模块的功能和用途,所以常深陷其中。Kvm很久前就看过代码,但没有认真的看过相关的文档,从而似懂非懂。也曾好奇Kvm和Qemu的关系,但一直不得其解。因为缺少whole picture,所以看代码时只知其然,不知其所以然。

个人觉得比较好的入门文章列如其下:

宋宝华- KVM最初的2小时(KVM从入门到入不了门)
KVM 介绍

盗一张图作为whole picture:


再用一张图作为Container和虚拟机关系的说明。

这里写图片描述

### 使用 KVMQEMU 创建虚拟机 #### 硬件与软件环境准备 在使用 KVMQEMU 创建虚拟机之前,需确认硬件支持虚拟化技术并已启用。可以通过运行以下命令验证 CPU 是否具备虚拟化扩展功能: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果返回值大于零,则表示硬件支持虚拟化[^1]。 对于 Linux 平台上的 KVM 配置,还需要确保操作系统内核启用了 KVM 模块。可以执行以下命令加载模块并检查其状态: ```bash sudo modprobe kvm-intel # 对于 Intel 处理器 sudo modprobe kvm-amd # 对于 AMD 处理器 lsmod | grep kvm # 检查模块是否成功加载 ``` #### 安装必要工具 为了构建基于 KVM 的虚拟机,需要安装 `qemu-kvm` 及其他辅助组件(如 `libvirt`)。以下是典型的操作系统中的安装方式: - **Debian/Ubuntu**: ```bash sudo apt update && sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager ``` - **CentOS/RHEL/Fedora**: ```bash sudo yum groupinstall 'Virtualization Host' sudo systemctl enable --now libvirtd.service ``` 完成上述步骤后,可以在 `/usr/bin/` 或 `/usr/local/bin/` 中找到所需的工具集,例如 `qemu-system-x86_64` 和 `qemu-img`[^4]。 #### 创建虚拟硬盘镜像 利用 `qemu-img` 命令创建一块用于存储 Guest OS 数据的虚拟磁盘文件。下面是一个示例命令,它将生成大小为 20GB 的 qcow2 格式的磁盘图像: ```bash qemu-img create -f qcow2 my_vm_disk.qcow2 20G ``` #### 启动虚拟机实例 一旦准备工作完毕,即可调用 `qemu-system-x86_64` 来引导新定义好的虚拟机。假设已经准备好 ISO 文件作为安装介质,那么完整的启动参数可能如下所示: ```bash qemu-system-x86_64 \ -enable-kvm \ # 启用 KVM 加速 -m 4096 \ # 设置内存容量 (单位 MB) -cpu host \ # 将主机物理处理器特性传递给客户机 -smp cores=4,threads=1 \ # 分配逻辑核心数以及线程数量 -drive file=my_vm_disk.qcow2,format=qcow2 \ -boot d \ # 设定从光驱设备优先启动 -cdrom path_to_iso_file.iso\ -vga std # 显示适配器类型指定标准 VGA 控制器 ``` 注意:实际应用过程中应依据具体需求调整资源配置策略以避免干扰到当前正在运行的服务进程[^5]。 另外一种更为简便的方法是借助图形界面管理程序 Virt-Manager 实现自动化部署流程;亦或是按照官方文档指引采用 XML 描述形式定制专属方案[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值