Ubuntu 虚拟化 - alx696/share GitHub Wiki

安装KVM及工具

参考1 参考2

检查是否支持KVM:

m@m-pc:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used

安装KVM支持包:

sudo apt install -y qemu-kvm qemu-utils bridge-utils libvirt-daemon-system libvirt-clients virtinst cloud-image-utils ovmf virt-manager

重启之后才能生效! ovmf为虚拟机启用UEFI支持,支持将显卡直通给虚拟机。virt-manager是管理虚拟机的界面工具。

使用云映像cloud images

https://github.com/alx696/doc/blob/master/linux-%E4%BD%BF%E7%94%A8%E4%BA%91%E6%98%A0%E5%83%8F.md

网络

参考

查看全部,查看具体:

$ virsh net-list --all
$ virsh net-info default

编辑定义:

$ virsh net-edit default

定义,启用,设为启动启动:

$ virsh net-define nat.xml
$ virsh net-start nat
$ virsh net-autostart nat

定义nat.xml的方法见后文。

销毁,取消定义:

$ virsh net-destroy nat
$ virsh net-undefine nat

桥接

桥接网络能够将有线网卡分享给虚拟机,虚拟机能够直接获取到路由器分配的IP。

注意:只有有线网卡能够提供这种功能,无限网卡不行!下方示例参考

主机准备桥接网卡

编辑 /etc/netplan/01-network-manager-all.yaml 文件,修改配置成如下样子:

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s31f6:
      dhcp4: false
      dhcp6: false
  bridges:
    br0:
      interfaces: [ enp0s31f6 ]
      addresses: [192.168.1.200/24]
      gateway4: 192.168.1.1
      mtu: 1500
      nameservers:
        addresses: [119.29.29.29]
      parameters:
        stp: true
        forward-delay: 4
      dhcp4: no
      dhcp6: no

enp0s31f6是主机有线网卡ID,192.168.1.200/24是主机IP,可以通过$ ip a确定。其它网关和DNS根据实际情况设定。 保存后应用:

$ sudo netplan apply

执行 $ ip a 确认:

2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether c8:5b:76:20:4c:b9 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether c8:5b:76:20:4c:b9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.200/24 brd 192.168.1.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 fe80::287f:53ff:fe6e:8d00/64 scope link 
       valid_lft forever preferred_lft forever

这里的效果类似于用桥接接口br0顶替了enp0s31f6,此时enp0s31f6没有IP信息,br0成了交换机。

定义虚拟网络

定义后启用:

<network>
  <name>vbridge</name>
  <forward mode="bridge"/>
  <bridge name="br0"/>
</network>

br0为上面配置的桥接器接口地址。修改已有虚拟机网卡配置$ virsh edit name-of-vm,使用刚刚定义网络。


qcow2增加大小

  1. 关闭虚拟机后执行 $ qemu-img resize win10.qcow2 +100G 为win10.qcow2增加100G。
  2. 进入计算机管理,磁盘管理中在需要增加的分区上右键选扩展卷即可。

参考 https://computingforgeeks.com/how-to-extend-increase-kvm-virtual-machine-disk-size/ 注意:sudo virsh blockresize这个步骤不确定要不要。

⚠️ **GitHub.com Fallback** ⚠️