Ubuntu 18.04 LTS安装KVM虚拟机

作者 : 开心源码 本文共2369个字,预计阅读时间需要6分钟 发布时间: 2022-05-11 共63人阅读

前一阵用在最新的Ubuntu 18.04上安装了KVM来虚拟一个小的VM集群,将主要过程和其中遇到的少量问题记录下来。

准备工作

首先需要检查一下CPU能否支持虚拟化,执行一下命令来检查/proc/cpuinfo文件中能否又虚拟化相关的字眼,假如有的话表明CPU支持虚拟化技术。

egrep -c '(svm|vmx)' /proc/cpuinfo

上面命令执行结果假如返回0,表示CPU不支持虚拟化技术。当然主板BIOS中的虚拟化技术也可可以不是默认开启的,假如没有开启需要手动开启一下。

安装KVM

执行以下命令安装KVM

sudo apt updatesudo apt install qemu qemu-kvm libvirt-bin  bridge-utils  virt-manager

将libvirtd增加自启动

sudo systemctl start libvirtd.servicesudo systemctl enable libvirtd.service

网络模式

KVM安装完成后,首先需要进行网络设定,KVM支持四种网络模式:

  • 桥接模式
  • NAT模式
  • 使用户网络模式
  • 直接分配设施模式

主要讲一下前两种

桥接(Bridge)模式

在桥接模式下,宿主机和虚拟机共享同一个物理网络设施,虚拟机中的网卡和物理机中的网卡是平行关系,所以虚拟机能直接接入外部网络,虚拟机和宿主机有平级的IP。

桥接模式

本来宿主机是通过网卡eth0连接外部网络的,网桥模式会新创立一个网桥br0,接管eth0来连接外部网络,而后将宿主机和虚拟机的网卡eth0都绑定到网桥上。

用桥接模式需要进行以下操作:

编辑/etc/network/interfaces,添加如下内容

auto br0iface br0 inet dhcp  # 网桥用DHCP模式,从DHCP服务器获取IPbridge_ports enp3s0  # 网卡名称,网桥创立前连接外部的网卡,可通过ifconfig命令查看,有IP地址的就是bridge_stp on  # 避免数据链路出现死循环bridge_fd 0  # 将转发推迟设置为0

接下来需要重启networking服务(假如是通过SSH连接到宿主机上的,这一步会导致网络中断,假如出现问题可可以导致连不上宿主机,最好在宿主机上直接操作)

systemctl restart networking.service

用ifconfig命令查看IP能否从enp3s0(网桥创立前的网卡)变到了br0上,假如没有变化则需要重启。假如宿主机ip已经成功变到网桥上,并且宿主机可以正常上网而虚拟机获取不到ip,可可以是ufw没有允许ip转发导致的,编辑/etc/default/ufw允许ip转发。

DEFAULT_FORWARD_POLICY="ACCEPT"

重启ufw服务让设置生效

systemctl restart ufw.service

NAT(Network Address Translation)模式

NAT模式是KVM默认的网络模式,KVM会创立一个名为virbr0的虚拟网桥,但是宿主机和虚拟机对于网桥来说不是平等的了,网桥会把虚拟机藏在背后,虚拟机会被分配一个内网IP,而从外网访问不到虚拟机。

NAT模式

安装Linux虚拟机

用如下命令安装安装Linux虚拟机

sudo virt-install -n ubuntu_3 --description "ubuntu_3"  --os-type=linux --os-variant=ubuntu17.10 --ram=1024 --vcpus=1  --disk path=/var/lib/libvirt/images/ubuntu_3.img,bus=virtio,size=50  # 磁盘位置,大小50G --network bridge:br0  # 这里网络选择了桥接模式 --accelerate --graphics vnc,listen=0.0.0.0,keymap=en-us  # VNC监听端口,注意要选择en-us作为key-map,否则键位布局可可以会乱 --cdrom /home/zzy/Downloads/ubuntu-18.04-live-server-amd64.iso  # 安装ISO路径

安装Windows 10虚拟机

安装Windows 10虚拟机会出现没有virtio驱动的问题,导致安装程序找不到硬盘,需要先下载virtio驱动。

https://fedoraproject.org/wiki/Windows_Virtio_Drivers

创立虚拟机时,将其加入到CD-ROM中

sudo virt-install -n win10 --description "win10" --os-type=win --os-variant=win10 --ram=4096 --vcpus=2  --disk path=/var/lib/libvirt/images/win_10.img,bus=virtio,size=100 --network bridge:br0 --accelerate --graphics vnc,listen=0.0.0.0,keymap=en-us --cdrom =/home/zzy/Downloads/cn_windows_10_consumer_editions_version_1803_updated_march_2018_x64_dvd_12063766.iso--cdrom=/home/zzy/Downloads/virtio-win.iso

用VNC用户端连接虚拟机

执行以下命令查看虚拟机的列表

sudo virus list

通过上一步查处的虚拟机列表,查看单台机器的VNC端口

sudo virsh vncdisplay ubuntu_3  # ubuntu_3是虚拟机名称

知道了VNC端口号,即可以用VNC用户端连接到虚拟机完成安装了。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Ubuntu 18.04 LTS安装KVM虚拟机

发表回复