-
安装软件包
sudo apt install qemu-kvm libvirt-bin virt-manager bridge-utils
-
验证安装
lsmod | grep kvm
virsh -c qemu:///system list
-
将当前用户加入 libvirtd 组
sudo usermod -G libvirtd -a fdc
-
准备磁盘镜像目录、光盘镜像目录、配置文件备份目录
-
创建磁盘镜像
qemu-img create -f qcow2 filename.qcow2 50G
chown libvirt-qemu:libvirtd filename.qcow2
-
创建 bridge network
参考1: http://wiki.libvirt.org/page/Networking#Host_configuration "Debian/Ubuntu Bridging"
参考2: https://libvirt.org/formatnetwork.html#examplesBridge- 编辑
/etc/network/interfaces
,将ethX
改为virbrX
,并追加配置
bridge_ports ethX bridge_stp on bridge_maxwait 0
-
停止原 interface,启用桥接 interface
ifdown ethX && ifup virbrX
-
创建 virsh network 配置文件
<network> <name>host-bridgeX</name> <forward mode="bridge"/> <bridge name="virbrX"/> </network>
- 加载 network 配置
virsh net-define net-virbrX.xml
- 编辑
-
创建 virsh 虚拟机
- 创建 domain 描述文件,用于从镜像安装系统
<domain type='kvm'> <name>domain-name</name> <memory unit='KiB'>524288</memory> <vcpu placement='static'>1</vcpu> <os> <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type> <boot dev='cdrom'/> </os> <features> <acpi/> <apic/> <pae/> </features> <clock offset='localtime'/> <devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/path/to/disk_image.qcow2'/> <target dev='vda' bus='virtio'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/path/to/ubuntu-16.04.2-server-amd64.iso'/> <readonly/> <target dev='hdc' bus='ide'/> </disk> <interface type='network'> <source network='host-bridge0'/> <model type="virtio"/> <target dev='vnet0'/> </interface> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='5996' autoport='no' listen='0.0.0.0'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='vga' vram='9216' heads='1'/> </video> <memballoon model='virtio'> </memballoon> </devices> </domain>
-
加载配置
virsh define domain.xml
-
检查虚拟机配置
virsh edit domain-name
-
启动虚拟机,使用 VNC 客户端连接管理界面
virsh start domain-name
-
安装虚拟机操作系统
-
编辑虚拟机配置,移除 CDROM 等不必要的设备,将 VNC 监听端口改为本地,重启虚拟机,投入使用