插件窝 干货文章 安装KVM并创建虚拟机及基本使用方式

安装KVM并创建虚拟机及基本使用方式

virsh 虚拟 name bash 928    来源:    2025-04-01

KVM 虚拟化安装与使用指南

1. KVM 安装与配置

1.1 检查硬件虚拟化支持

egrep -c '(vmx|svm)' /proc/cpuinfo  # 大于0表示支持
grep -E --color=auto 'vmx|svm' /proc/cpuinfo

1.2 安装KVM及相关组件

对于Debian/Ubuntu系统:

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

对于RHEL/CentOS系统:

sudo yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager

1.3 启动并启用服务

sudo systemctl enable --now libvirtd
sudo systemctl status libvirtd

1.4 验证安装

virsh list --all
sudo kvm-ok

2. 创建虚拟机

2.1 使用virt-install命令行创建

sudo virt-install \
--name=ubuntu-vm \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/ubuntu-vm.qcow2,size=20 \
--os-type=linux \
--os-variant=ubuntu20.04 \
--network bridge=virbr0 \
--graphics spice \
--location='http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/' \
--extra-args='console=ttyS0'

2.2 使用virt-manager图形界面创建

  1. 启动virt-manager: sudo virt-manager
  2. 点击"创建新虚拟机"按钮
  3. 按照向导选择安装源、分配资源、配置存储等

3. 基本管理命令

3.1 虚拟机管理

virsh list --all          # 列出所有虚拟机
virsh start vm-name       # 启动虚拟机
virsh shutdown vm-name    # 正常关闭虚拟机
virsh destroy vm-name     # 强制关闭虚拟机
virsh reboot vm-name      # 重启虚拟机
virsh suspend vm-name     # 暂停虚拟机
virsh resume vm-name      # 恢复暂停的虚拟机
virsh autostart vm-name   # 设置虚拟机自动启动
virsh undefine vm-name   # 删除虚拟机(需先关闭)

3.2 虚拟机配置

virsh edit vm-name        # 编辑虚拟机XML配置
virsh dumpxml vm-name     # 查看虚拟机XML配置
virsh dominfo vm-name     # 查看虚拟机基本信息

3.3 网络管理

virsh net-list --all      # 列出所有网络
virsh net-start default   # 启动默认网络
virsh net-autostart default # 设置网络自动启动

4. 存储管理

4.1 创建存储池

virsh pool-define-as vm-disks dir - - - - "/var/lib/libvirt/images"
virsh pool-build vm-disks
virsh pool-start vm-disks
virsh pool-autostart vm-disks

4.2 创建存储卷

virsh vol-create-as vm-disks ubuntu-disk2.qcow2 30G --format qcow2

5. 快照管理

virsh snapshot-create-as --domain vm-name --name snapshot1
virsh snapshot-list vm-name
virsh snapshot-revert vm-name --snapshotname snapshot1
virsh snapshot-delete vm-name --snapshotname snapshot1

6. 高级功能

6.1 虚拟机克隆

virt-clone --original vm-name --name new-vm --file /path/to/new-vm.qcow2

6.2 远程管理

virsh -c qemu+ssh://user@host/system list --all

6.3 性能优化

  • 启用KSM(Kernel Samepage Merging): bash echo 1 > /sys/kernel/mm/ksm/run
  • 使用virtio驱动提高I/O性能
  • 配置CPU和内存热插拔

7. 常见问题解决

7.1 权限问题

sudo usermod -aG libvirt $(whoami)
sudo usermod -aG kvm $(whoami)

7.2 网络连接问题

检查默认网络状态:

virsh net-list --all
sudo virsh net-start default

7.3 图形界面问题

确保SPICE或VNC服务正常运行,或使用串行控制台:

virsh console vm-name

通过以上步骤,您应该能够成功安装KVM并创建、管理虚拟机。对于生产环境,建议进一步研究网络桥接、存储优化和性能调优等高级主题。