Ubuntu server 20.04 安装 KVM 虚拟机
1.准备
在安装之前先检查计算机是否支持虚拟化,如果没有可能是不支持或者 BIOS 设置没有打开,如果 BIOS 没有设置请自行百度。执行下面命令,如果返回结果>0,则支持虚拟化,否则不支持。
~$ grep -Eoc '(vmx|svm)' /proc/cpuinfo
检查 VT 是否在 BIOS 中启用了,可以使用kvm-ok
工具,该命令需要安装cpu-checker
。
~$ sudo apt update
~$ apt install cpu-checker
使用kvm-ok
命令检查是否支持;
~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
2.安装 KVM
安装 KVM 必要软件
~$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
安装完成后执行qemu-kvm
命令时可能发现提示找不到该命令的提示,这时候需要建立一个链接。或者直接使用原始命令qemu-system-x86_64
或qemu-system-i386
。
~$ sudo ln -s /usr/bin/qemu-system-i386 /usr/bin/qemu-kvm #或者用下面这个也一样
~$ sudo ln -s /usr/bin/qemu-system-x86_64 /usr/bin/qemu-kvm
安装完成后使用下面命令验证服务是否已经启用。
~$ sudo systemctl is-active libvirtd
active
如果没有启动,使用下面命令启动 libvirtd。
~$ sudo systemctl start libvirtd.service
安装完成后,可能需要将用户添加到“ libvirt”和“ kvm”组中,执行后需要重启。
~$ sudo usermod -aG libvirt $USER #$USER 是一个环境变量,包含当前登录用户的名称。
~$ sudo usermod -aG kvm $USER
3.网络设置
参考资料:https://blog.csdn.net/gsl371/article/details/78662258
3.1 NAT 模式
在安装后会创建一个名为“ virbr0”的网桥。该设备使用 NAT 网络。NAT 会创建一个专有的虚拟网络,NAT 内部可以连接外部网络,但是外部计算机无法访问到虚拟机。Ubuntu Desktop 可以用直接使用该配置,但是有局限性。可以使用如下命令进行查看:
~$ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400f83616 yes virbr0-nic
”0virbr0“网桥未添加任何物理接口。”virbr0-nic“是虚拟设备,没有流量通过该虚拟设备。该设备的唯一目的是避免更改“ virbr0”网桥的MAC地址。
3.2 Brigde 模式
Bridge 方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立 IP 的主机。 桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。
参考资料:https://www.answertopia.com/ubuntu/creating-an-ubuntu-kvm-networked-bridge-interface/
4.创建和管理
安装完成后可以使用命令行工具创建和管理虚拟机,比如 qemu-kvm, virtinst, virsh。如果你是桌面系统可以使用图形化工具软件 virt-manager 创建和管理虚拟机。这里介绍命令行创建方式。
4.1 qemu 创建
创建虚拟磁盘
~$ qemu-img create -f qcow2 ubuntu_20.04.qcow2 20G
查看虚拟磁盘信息
~$ qemu-img info ubuntu_20.04.qcow2
从光盘安装并启动
~$ qemu-kvm -m 4096 -smp 4 --enable-kvm -boot d -hda ubuntu_20.04.qcow2 -cdrom ubuntu-20.04-live-server-amd64.iso
从镜像启动
~$ qemu-kvm -name win10 -m 4096 -smp 4 --enable-kvm -boot c -hda ubuntu_20.04.qcow2 --nographic
4.2 virt-install 创建
~$ virt-install --name ubuntu-vm --memory 4096 --vcpus=4 --os-type generic --network network=br0 --disk path=/home/don/images/ubuntu.qcow2,size=20 --cdrom /home/don/images/ubuntu-20.04.2-live-server-amd64.iso
4.3 管理
使用virsh list
查看当前运行的虚拟机
~$ virsh list
Id Name State
---------------------------
3 ubuntu-vm running
查看所有的虚拟机
~$ virsh list --all
开启和关闭虚拟机
~$ virsh start ubuntu-vm #ubuntu-vm 是虚拟机名字
~$ virsh shutdown ubuntu-vm
进入查看虚拟机
~$ virt-viewer ubuntu-vm #ubuntu-vm 是虚拟机名字
libvirtd 启动时自动启动虚拟机
~$ virsh autostart ubuntu-vm #ubuntu-vm 是虚拟机名字
挂起/恢复虚拟机
~$ virsh suspend ubuntu-vm # 挂起虚拟机
~$ virsh resume ubuntu-vm # 恢复挂起的虚拟机
销毁虚拟机
~$ virsh undefine ubuntu-vm # 销毁拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘
参考资料:https://phoenixnap.com/kb/ubuntu-install-kvm
http://manpages.ubuntu.com/manpages/precise/man1/virt-install.1.html
https://www.cnblogs.com/spec-dog/p/11178181.html
版权声明: 本文为 InfoQ 作者【玏佾】的原创文章。
原文链接:【http://xie.infoq.cn/article/af423568b655968a605ed7fac】。
本文遵守【CC BY-NC】协议,转载请保留原文出处及本版权声明。
评论