KVM/QEMU安装配置方式
下载qemu:
sudo apt install qemu
上面分别是qemu可以模拟的各种架构,下载了Linux发行版的镜像之后,可以通过命令启动iso:
创建虚拟机空间:
qemu-img create -f qcow2 OS.img 20G
qemu-system-x86_64 -boot d -cdrom ubuntu-16.04-desktop-amd64.iso -hda OS.img -m 2048
参数说明:
- qemu-system-x86_64命令是结合自己的电脑构架使用的,因为这边使用的是Intel x64平台;
- boot d:表示从CDROM启动系统,因为虚拟盘中目前还没有系统,需要从CDROM中启动安装盘;
- cdrom:指定了安装的系统镜像;
- hda:指定之前创建的虚拟盘;
- m:指定了QEMU使用的系统内存大小,这里指定的是2G;
但是QEMU是直接二进制翻译的纯软件虚拟化,运行效率很低下!因此我们安装KVM
安装必要软件:
sudo apt update
sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virt-manager
将libvirtd添加自启动
sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service
此时虚拟机采用的网络连接方式是默认的NAT,我们可以发现现在多了一个virbr0的虚拟网桥,virbr0 是 KVM 默认创建的一个 Bridge,其默认网段是192.168.122.1,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能。使用 NAT 的虚机 VM 可以访问外网,但外网无法直接访问 VM。 因为 VM 发出的网络包源地址并不是 192.168.122.6(VM虚拟网卡所分配到的ip地址),而是被 NAT 替换为宿主机的 IP 地址了。
这个与使用 br0 不一样,在 br0 的情况下,VM 通过自己的 IP 直接与外网通信,不会经过 NAT 地址转换。
原本宿主机是通过网卡eth0连接外部网络的,网桥模式会新创建一个网桥br0,接管eth0来连接外部网络,然后将宿主机和虚拟机的网卡eth0都绑定到网桥上
创建方式,修改文件/etc/network/interfaces,添加:
auto br0
iface br0 inet static //设置为静态ip
address 192.168.50.170
network 192.168.50.0
netmask 255.255.255.0
broadcast 192.168.50.255
gateway 192.168.50.1
dns-nameservers 8.8.8.8
bridge_ports enp2s0
bridge_stp on
bridge_fd 0
之后我们不要再使用kvm命令或是qemu命令来创建虚拟机了,可以使用virt-manager来管理虚拟机!可以进行虚拟机的创建和运行等,就很类似于Win上面的VM Ware了!在虚拟机创建的时候要将网络连接方式设置为桥接,指定虚拟网桥!
上图选择虚拟网桥br0作为桥接设备,这个br0在host中上连接到真实网卡enp2s0的!