ubuntu22.04live安装配置KVM
安装环境:IntelCPU + win10 + vmware
检查硬件是否支持
物理机需要在BIOS中开启VT ,vmware需要开启处理器的虚拟化

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 组(可选)
将当前用户添加到 kvm
和 libvirt
组是 可选的,因为这取决于你如何访问和管理虚拟化功能。如果不需要频繁以非管理员用户身份使用虚拟化服务,或者通过其他方式(如以 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
可能不会直接管理这些接口。
等待后续更新