这不是教程,只是个人初次尝试KVM
的一个记录。本次尝试使用的操作系统是Gentoo。
一系列准备工作
主要准备工作有:
- 编译并启用支持
KVM
的内核 - 安装
QEMU
模拟器
建议支持的内核选项与qemu
的编译选项可参见Gentoo Wiki,文中不再赘述。
创建镜像
qemu-img
工具用于操作磁盘镜像,使用qemu-img —help
命令可以查看详尽的说明。qemu
支持很多磁盘镜像的格式,初次尝试,我仅使用了最普通的raw
格式。
qemu-img create disk.raw 20G
创建大小为20GB
的镜像文件。
运行虚拟机
qemu-system-x86_64 --enable-kvm -vnc :1,password -monitor stdio -usbdevice tablet -smp 2 -m 2048 -boot order=d -hda disk.raw -cdrom /data/softwares/disk-image/linux/archlinux-2018.03.01-x86_64.iso
虚拟硬件选项
- cpu:
-smp [number]
指定逻辑CPU数量 - 内存:
-m [size]
指定最大分配内存容量 - 外存储器:
-hda [disk file]
指定要使用的虚拟存储器 - CD-ROM:
-cdrom [file]
指定使用的安装镜像 - 启动顺序:
-boot order=d
选择从光盘启动(用于安装系统)
本次仅使用了最基本的命令。需要注意的是,命令中未额外使用网络配置选项,这样qemu
会自动使用自带网络配置,虚拟机中支持使用TCP
和UDP
连接到主机网络,但ICMP
无法正常使用,因此不能使用ping
测试网络连通性。
VNC设置
由于我是在无图形界面的服务器上使用的,因此qemu
无法直接出现控制界面,必须使用远程界面服务。其中VNC
无论从服务配置还是客户端连接来说都是比较方便的。
-vnc :1,password
用于配置启用VNC
服务,-monitor stdio
用于使用交互命令行的方式设置VNC
口令,修改口令的命令为change vnc password
。
-usbdevice tablet
用于解决鼠标光标偏移的问题。
叶神可以试试 libvirt 提供的 virsh,管理起来更方便一点,生成 xml 可以用 virt-install 的 --print-xml 选项。