ubuntu22.04live安装配置KVM

温馨提醒
总结摘要
ubuntu安装KVM简介

ubuntu22.04live安装配置KVM

安装环境:IntelCPU + win10 + vmware

检查硬件是否支持

物理机需要在BIOS中开启VT ,vmware需要开启处理器的虚拟化

image-20240914105829040

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

如果输出的数字大于 0,则表示CPU 支持虚拟化。

配置IP

1
nmcli connection add con-name ens33 ifname ens33 type ethernet ipv4.method manual ipv4.addresses 10.61.125.53/24 ipv4.gateway 10.61.125.1 ipv4.dns 10.61.121.115 autoconnect yes

命令解释:

为接口 ens33 配置 IP 地址 10.61.125.53/24 设置网关为 10.61.125.1 设置 DNS 服务器为 10.61.121.115 确保该连接在启动时自动连接

WEB管理网络配置修改

1
vim /etc/NetworkManager/NetworkManager.conf

修改成如下所示

1
2
3
4
5
6
7
8
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no

配置网桥

1
2
3
4
5
备份原文件
cd /etc/netplan/
cp 00-installer-config.yaml 00-installer-config.yamlBAK
开始修改
vim 00-installer-config.yaml

如下所示

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
network:
  ethernets:
    ens33:
      dhcp4: false
  bridges:
    br0:
      interfaces: [ens33]
      dhcp4: false
      addresses: [10.61.125.53/24]
      macaddress: 00:0c:29:bc:ec:aa
      routes:
        - to: default
          via: 10.61.125.1
          metric: 100
      nameservers:
        addresses: [10.61.121.115]
      parameters:
        stp: false
  version: 2

将机器网卡ens33的地址配置到br0网桥上。根据实际环境替换IP地址,网口名称及mac地址

1
2
3
4
# 应用网络配置
sudo netplan apply
# 查看是否成功
ip add

更新软件包并安装KVM

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
apt update -y
apt upgrade -y
reboot
apt autoremove


# 安装KVM
sudo apt -y install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin cockpit cockpit-machines cockpit-bridge cockpit-storaged cockpit-networkmanager

# 安装Python API  [如果你需要编写或运行 Python 脚本来与虚拟机或虚拟化平台交互,这个库是必需的]
sudo apt install python3-libvirt

配置 cockpit 服务:

1
vim /lib/systemd/system/cockpit.service

最后一行添加如下

1
2
[Install]
WantedBy=multi-user.target

配置自启动

1
2
3
4
5
6
7
sudo systemctl daemon-reload
sudo systemctl enable cockpit
sudo systemctl restart cockpit

sudo systemctl enable libvirtd
sudo systemctl start libvirtd
sudo systemctl status libvirtd

添加当前用户到 kvm和libvirt 组(可选)

将当前用户添加到 kvmlibvirt 组是 可选的,因为这取决于你如何访问和管理虚拟化功能。如果不需要频繁以非管理员用户身份使用虚拟化服务,或者通过其他方式(如以 sudo 运行命令)就能满足需求,那么可以不添加用户到这些组

1
2
3
4
sudo usermod -aG kvm $USER
sudo usermod -aG libvirt $(whoami)
# 验证用户是否加入组中
id $(whoami)

创建虚拟机

使用virt-manager创建

1
2
3
# 按照图形化界面走就行

virt-manager

命令行创建

1
virt-install --virt-type=KVM --name cen --vcpus=4 --memory=4096 --network bridge=bridge618 --disk /vmdata/Cen,size=50,format=qcow2,bus=virtio--cdrom /media/CentOS-7.9-x86_64-Minimal-2009.iso --os-type=linux --graphics vnc,listen=0.0.0.0 --noautoconsole

备注:

–virt-type:使用的hypervisor,如kvm、qemu、xen等 –name 命名 –vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#]vCPU 的最大值、插槽数、每个插 槽的内核数、每个内核的线程数 –memory=内存单位MB –network bridge=桥接网卡 –disk /vmdata/Cen,size=50,format=qcow2,bus=virtio –cdrom 光驱 –os-type=linux 操作系统类型 –graphics vnc,listen=0.0.0.0 配置vnc –noautoconsole 不要自动连接

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看端口
ss -int

LISTEN 0 1
0.0.0.0:5904 0.0.0.0:* 
# 浏览器输入主机IP + 端口, 进入WEB VNC安装系统

# --常用命令
# 创建镜像文件
qemu-img create -f qcow2 -o size=120G /vmdata/centos.qcow2
# 修改配置
virsh edit {vm-name}
# 虚拟机下查询所有虚拟机
virsh list --all
# 查看虚拟机磁盘信息
virsh domblklist {vm-name}
# 开启/关闭虚拟机
virsh start {vm-name}
virsh shutdown {vm-name}
# 克隆虚拟机
virt-clone -o {old} -n {new} -f {store directory and filename}
# 删除虚拟机
virsh undefine {vm-name or id}

WEB管理单节点KVM

在 VMware 中选择桥接网络并在 Ubuntu 22.04 上安装 KVM,网络显示为“未管理”的原因可能与 VMware 的虚拟网络配置以及 KVM 的网络管理方式有关。桥接模式允许虚拟机直接通过主机的物理网络接口与外部网络通信,但 Ubuntu 的 NetworkManager 可能不会直接管理这些接口。

等待后续更新