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)|
相关推荐
生活很暖很治愈17 小时前
Linux基础开发工具
linux·服务器·git·vim
打工的小王18 小时前
docker(三)具体项目的部署
运维·docker·容器
似霰18 小时前
Linux Shell 脚本编程——核心基础语法
linux·shell
一叶星殇20 小时前
.NET WebAPI:用 Nginx 还是 IIS 更好
运维·nginx·.net
LUCIFER21 小时前
[驱动进阶——MIPI摄像头驱动(五)]rk3588+OV13855摄像头驱动加载过程详细解析第四部分——ISP驱动
linux·驱动开发
暮云星影21 小时前
四、linux系统 应用开发:UI开发环境配置概述 (一)
linux·ui·arm
a程序小傲1 天前
得物Java面试被问:RocketMQ的消息轨迹追踪实现
java·linux·spring·面试·职场和发展·rocketmq·java-rocketmq
Ghost Face...1 天前
i386 CPU页式存储管理深度解析
java·linux·服务器
LEEE@FPGA1 天前
zynq 是不是有了设备树,再linux中不需要编写驱动也能控制
linux·运维·单片机
Trank-Lw1 天前
Docker Devcontainer 管理命令
运维·docker·容器