Ubuntu上安装KVM虚拟机

准备工作

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

 

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

 

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

 

安装KVM

执行以下命令安装KVM

 

sudo apt update

扫描二维码关注公众号,回复: 4575621 查看本文章

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

 

将libvirtd添加自启动

sudo systemctl start libvirtd.service

sudo systemctl enable libvirtd.service

 

网络模式

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

桥接模式

NAT模式

用户网络模式

直接分配设备模式

桥接(Bridge)模式

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

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

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

编辑/etc/network/interfaces,如果原始内容为:

可以将原始内容删掉,再添加

auto br0

iface br0 inet dhcp # 网桥使用DHCP模式,从DHCP服务器获取IP

bridge_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

 

安装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路径

--location /root/ubuntu-18.04.1-desktop-amd64.iso

 

注意:location表示.iso的位置,并且,文件必须在root目录下才可以。这点对于图形安装来说是一样的。

图形界面安装:

命令行输入virt-manager,添加iso路径,之后点击next,即可安装成功。

通过图形界面安装的虚拟机,默认是没有网络的,需要关闭虚拟机,在脚本中添加网络访问方式为桥接模式。这里,默认安装KVM前已经设置好了桥接模式。

客户机配置客户机安装时注意,网络要选择用br0桥接方式。

 

文本方式:(同样只介绍文本方式)

编辑修改虚拟机配置文件 /etc/libvirt/qemu/v1.xml,增加如下内容

 

<interface type='bridge'>

  <mac address='52:54:00:da:c3:dc'/>

  <source bridge='br0'/>

  <model type='virtio'/>

  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

</interface>

启动客户虚拟机,即可看到:

虚拟机的ip地址是:192.168.2.53,宿主机的ip是:192.168.2.253

 

远程连接

以上配置完成后,客户虚拟机可以使用浏览器上网,也可以ping通宿主机的ip。此时,局域网内的其他电脑(win10)还是无法通过mstsc与客户虚拟机远程连接。

需要在虚拟机上安装xrdp/vnc4server/xfce4/lightdm,安装好后,就可以用win10远程连接虚拟机了。具体操作可以参考下面的连接:

https://blog.csdn.net/wszonline/article/details/60583254

 

 

参考链接:

参考链接:

https://blog.csdn.net/wszonline/article/details/60583254

https://blog.csdn.net/weixin_36820871/article/details/80595855

https://blog.csdn.net/wszonline/article/details/60583254

猜你喜欢

转载自blog.csdn.net/shizao/article/details/85112933