本文主要是介绍Ubuntu18.04 server使用KVM安装openEuler22.03记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、验证系统是否支持硬件虚拟化
查看命令如下,如果输出大于 0,则表示您的系统支持虚拟化,否则请重新启动系统,然后转到 BIOS 设置并启用 VT 技术。
egrep -c '(vmx|svm)' /proc/cpuinfo
现在使用以下命令安装“ kvm-ok ”实用程序,它用于确定您的服务器是否能够运行硬件加速的 KVM 虚拟机。
sudo apt install cpu-checker
sudo kvm-ok% 输出如下:
INFO: /dev/kvm exists
KVM acceleration can be used
二、安装KVM和它依赖的软件
安装命令
sudo apt install qemu qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
安装包介绍:
qemu-kvm – 一个提供硬件仿真的开源仿真器和虚拟化包
virt-manager – 一款通过 libvirt 守护进程,基于 QT 的图形界面的虚拟机管理工具
libvirt-daemon-system – 为运行 libvirt 进程提供必要配置文件的工具
virtinst – 一套为置备和修改虚拟机提供的命令行工具
libvirt-clients – 一组客户端的库和API,用于从命令行管理和控制虚拟机和管理程序
bridge-utils – 一套用于创建和管理桥接设备的工具
所有安装包安装完毕后,通过一下命令启动libvirt守护进程。
sudo systemctl enable --now libvirtd
sudo systemctl start libvirtd
可以通过以下命令验证该虚拟化进程是否已经运行:
sudo systemctl status libvirtd
将当前登录用户加入kvm和libvirt用户组,以便能够创建和管理虚拟机($USER 环境变量引用的即为当前登录的用户名。你需要重新登录才能使得配置生效)。
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $USER
以上部分内容参考来源:https://linux.cn/article-14661-1.html
二、创建网桥
如果你打算从本机(Ubuntu 18.04)之外访问 KVM 虚拟机,你必须将虚拟机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后自动创建的,仅做测试用途。
你可以通过如下内容在 /etc/netplan 目录下创建文件 01-netcfg.yaml 来新建网桥,在修改前注意保存备份:
# Let NetworkManager manage all devices on this system
network:version: 2renderer: NetworkManagerethernets:enp0s3:dhcp4: nodhcp6: nobridges:br0:interfaces: [enp0s3]dhcp4: noaddresses: [10.1.124.28/24]gateway4: 10.1.124.1nameservers:addresses: [114.114.114.114]
编辑01-netcfg.yaml完成后保存退出,使用netplan apply命令应用以上变更。
netplan apply
使用ifconfig查看当前网卡网桥配置信息。
本部分内容可以参考文章:(60条消息) 虚拟机里Ubuntu20.04的桥接模式的设置_一只快乐的推土机的博客-CSDN博客
三、非图形化界面进行安装KVM虚拟操作系统,本次实验中安装的是openEuler操作系统
使用shell命令行安装方法,命令如下
sudo virt-install -n test1 \
--description "test1" \
--os-type=Linux \
--ram=4096 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/test1.img,bus=virtio,size=100 \
--network bridge=br0 \
--graphics none \
--location /home/jianguoliu/Downloads/openEuler-22.03-LTS-SP1-x86_64-dvd.iso \
--extra-args console=ttyS0
命令解释
--name test,虚拟机名字;
--vcpus 2,处理器核数;
--memory 10240,内存大小(MB);
--os-type=Linux,操作系统类型;
--os-variant=openEuler22.03,操作系统变体类型;
--location=/jianguoliu/Download/openEuler-22.03-LTS-SP1-x86_64-dvd.iso,操作系统镜像位置;
--network network=br0,配置网桥,默认为:--network network=default;
--disk path=/var/lib/libvirt/images/dbserver.img,bus=virtio,size=100,配置安装位置及可用空间,其中virtion为半虚拟化的意思,相关介绍可以参考这篇文章;
--extra-args console=ttyS0,用于重定向终端窗口上的 STDOUT。注意:如果使用图形化安装,此需要改为--graphics=vnc。
安装完成成后,使用ctrl 5断开与虚拟机的连接。虚拟机开启时,需要再次连接时,可使用命令virsh console test1。下图为安装配置形式。

当虚拟机关闭时,可以使用virsh相关命令启动连接虚拟机,比如:virsh start test1 --console。
virsh其他命令可参考这篇文章
本部分内容参考自:15 virt-install examples | KVM virtualization commands cheatsheet | GoLinuxCloud
安装过程报以下错误,通过sudo apt-get install qemu-efi命令解决,参考文章:https://www.cnblogs.com/winstom/p/15074737.html和https://www.pianshen.com/article/3445803119/
ERROR unsupported configuration: ACPI requires UEFI on this architecture
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:virsh --connect qemu:///system start vm_kylinv10
otherwise, please restart your installation.
图形化安装方法可以参考以下文章
https://www.linuxtechi.com/install-configure-kvm-ubuntu-18-04-server/
https://help.ubuntu.com/community/KVM/Installation
https://phoenixnap.com/kb/ubuntu-install-kvm#:~:text=Step%201%3A%20Install%20KVM%20Packages%201%20First%2C%20update,ENTER%2C%20and%20wait%20for%20the%20installation%20to%20finish.
https://cloud.tencent.com/developer/article/1657533
https://linux.cn/article-14661-1.html
https://xie.infoq.cn/article/af423568b655968a605ed7fac
四、在虚拟机中配置网络进行远程远程连接
在安装过程中,发现一个BUG,那就是在VMware或者virtualBox中,使用桥接网络配置会导致无法连接到外部网络,具体原因未知。以下方法是在服务器kvm上进行的网络配置,可以设置固定IP,实现从外部网络进行连接。
欧拉系统网络配置文件位置是/etc/sysconfig/network-scripts/ifcfg-ens2
cd /etc/sysconfig/network-scripts
vi ifcfg-ens2
设置固定IP等信息,修改后效果如下。建议通过命令nmtui来实现图形化的配置,可参考文章https://blog.csdn.net/no1xium/article/details/125456703

重启网络,命令如下:
systemctl reload NetworkManager
使用ip -addr查看配置后的IP。若IP未变化,可通过reboot命令重启操作系统。

使用ping www.baidu.com来检查网络配置情况。

这篇关于Ubuntu18.04 server使用KVM安装openEuler22.03记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!