ubuntu 24.04.03 部署虚拟kvm

一、部署Kvm

bash 复制代码
apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager -y

二、启动并启用服务

bash 复制代码
systemctl enable --now libvirtd
systemctl status libvirtd  # 确认运行正常

三、将用户加入 libvirt 和 kvm 组(免 sudo)

bash 复制代码
sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

四、根据镜像创建虚拟机

bash 复制代码
virt-install \
    --name ubuntu2004 \
    --ram 4096 \
    --disk path=/data/kvm/data/ubuntu2004-20260104.img,size=100,bus=virtio \
    --vcpus 4 \
    --os-type linux \
    --os-variant ubuntu24.04 \
    --network bridge=br0,model=virtio \
    --graphics vnc,listen=0.0.0.0 \
    --cdrom /data/software/ubuntu-20.04.6-live-server-amd64.iso \
    --console pty,target_type=serial

五、模版制作

bash 复制代码
#清除Machine ID
# Ubuntu/Debian 方式
truncate -s 0 /etc/machine-id
rm -f /var/lib/dbus/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id

六、创建干净的模版

bash 复制代码
qemu-img convert \
  -O qcow2 \
  -c \                          # 启用压缩(zlib)
  /data/kvm/data/ubuntu2004-20260104.img \
  /data/images/ubuntu2004-template.qcow2

七、根据模版创建新服务器,根据实际情况调整ram、vcpus、disk path。

bash 复制代码
virt-install \
  --name test04 \
  --ram 4096 \
  --vcpus 4 \
  --disk path=/data/kvm/data/test04.qcow2,bus=virtio \
  --os-variant ubuntu24.04 \
  --network bridge=br0,model=virtio \
  --graphics vnc,listen=0.0.0.0 \
  --import \
  --noautoconsole

八、 扩容到 200GB(+100G 表示增加 100GB)

bash 复制代码
qemu-img resize /data/kvm/data/ubuntu2004.qcow2 200G

九、 验证新大小

bash 复制代码
qemu-img info /data/kvm/data/ubuntu2004.qcow2

十、扩大内存和磁盘空间

bash 复制代码
virsh edit your-vm-name
<memory unit='KiB'>4194304</memory>   <!-- 4GB = 4 * 1024 * 1024 -->
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static'>4</vcpu>

十一、根据模版新建服务器

bash 复制代码
virt-install \
  --name pengxinyan \
  --ram 4096 \
  --vcpus 4 \
  --disk path=/data/kvm/data/pengxinyan.qcow2,bus=virtio \
  --os-variant ubuntu24.04 \
  --network bridge=br0,model=virtio \
  --graphics vnc,listen=0.0.0.0 \
  --import \
  --noautoconsole

十二、查看VPN连接端口

bash 复制代码
 virsh dumpxml pengxinyan | grep vnc

十三、查看模版信息CPU、内存

bash 复制代码
 virsh dominfo test01

十四、常用命令

bash 复制代码
| 功能        | 命令 |  |------|------|
| 列出所有 VM | `virsh list --all` |
| 启动 VM     | `virsh start <name>` |
| 关闭 VM     | `virsh shutdown <name>` |
| 强制关机    | `virsh destroy <name>` |
| 删除 VM(保留磁盘)| `virsh undefine <name>` |
| 删除 VM + 磁盘 | `virsh undefine <name> --remove-all-storage` |
| 连接控制台 | `virsh console <name>`(需 VM 内启用 serial console)|
相关推荐
xiaoxiangsiyan1 分钟前
HCIA 网络技术基础核心模块详解
运维·网络·网络协议·tcp/ip·运维开发·网络基础
MuMuMu12231 小时前
工业园区 VOCs 绿岛集中治理:越华环保集团项目技术方案与工程实践
大数据·运维
sxstj3 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
国际云,接待3 小时前
Nginx 后面接负载均衡,502/504 到底该先查哪里?
运维·nginx·负载均衡
天疆说3 小时前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
mounter6254 小时前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
刘某的Cloud4 小时前
Galera Cluster部署 mariadb 节点down机,log sequence number恢复
linux·运维·数据库·负载均衡·mariadb·集群·高可用
小此方4 小时前
Re:Linux系统篇(五十四)线程篇 · 七:互斥锁的底层实现原理:从硬件上下文、原子交换指令(Swap)到并发封装实战
linux·运维·驱动开发
meilindehuzi_a4 小时前
TypeScript面试题:interface 与 type:相同点、核心区别与选择指南
java·ubuntu·typescript
郭涤生5 小时前
rootfs 详解与裁剪优化记录
linux·c++·bsp