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)|
相关推荐
哈基咪怎么可能是AI43 分钟前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行17 小时前
Linux和window共享文件夹
linux
木心月转码ing1 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪2 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
崔小汤呀2 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端
何中应2 天前
vi编辑器使用
linux·后端·操作系统
何中应2 天前
Linux进程无法被kill
linux·后端·操作系统
何中应2 天前
rm-rf /命令操作介绍
linux·后端·操作系统
何中应2 天前
Linux常用命令
linux·操作系统
葛立国2 天前
从 / 和 /dev 说起:Linux 文件系统与挂载点一文理清
linux