作者信息:https://home.cnblogs.com/u/huangjiabobk

在Linux中,如何创建和管理KVM虚拟机?

在Linux环境中创建和管理KVM(Kernel-based Virtual Machine)虚拟机通常涉及以下几个步骤:

1. 系统准备与检查

确保系统兼容性:

  • 检查CPU是否支持硬件虚拟化(如Intel VT-x或AMD-V)。可以使用以下命令:

    egrep -o '(vmx|svm)' /proc/cpuinfo
    

    如果返回结果中有vmx(Intel)或svm(AMD),则说明CPU支持虚拟化。

安装必要软件包:

  • 对于基于RPM的系统(如CentOS/RHEL):

    sudo yum install qemu-kvm libvirt libvirt-devel libguestfs-tools virt-install bridge-utils
    
  • 对于基于DEB的系统(如Ubuntu/Debian):

    sudo apt-get install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst
    

启动并设置服务开机启动:

  • 启动libvirtd服务:

    sudo systemctl start libvirtd
    
  • 设置libvirtd服务开机启动:

    sudo systemctl enable libvirtd
    
2. 创建虚拟机磁盘

使用qemu-img工具创建虚拟硬盘文件,例如创建一个20GB大小的QCOW2格式磁盘:

qemu-img create -f qcow2 myvm.qcow2 20G
3. 创建虚拟机

使用virt-install命令创建虚拟机。以下是一个基本示例,包括指定虚拟机名称、内存大小、CPU数量、操作系统类型、ISO镜像、磁盘、网络设备等:

virt-install \
  --name myvm \
  --memory 2048 \
  --vcpus 2 \
  --os-type linux \
  --os-variant generic \
  --cdrom /path/to/install.iso \
  --disk path=/path/to/myvm.qcow2,bus=virtio,size=20 \
  --network bridge=br0,model=virtio \
  --graphics vnc,listen=0.0.0.0 \
  --noautoconsole \
  --boot menu=on

解释:

  • --name: 虚拟机的名称。
  • --memory--vcpus: 分别指定虚拟机的内存大小(单位MB)和虚拟CPU数量。
  • --os-type--os-variant: 描述虚拟机的操作系统类型和具体版本,有助于libvirt自动设置合适的硬件兼容性。
  • --cdrom: ISO镜像文件路径,用于引导安装操作系统。
  • --disk: 指定虚拟机磁盘,包括路径、磁盘类型(如virtio)、大小(可选)。
  • --network: 配置网络接口,指定桥接的物理网卡(如br0)和网络模型(如virtio)。
  • --graphics: 设置远程访问方式,此处使用VNC,并监听所有网络接口。
  • --noautoconsole: 不自动启动图形化控制台。
  • --boot menu=on: 开启启动菜单,允许在启动时选择不同的启动项。
4. 安装操作系统

根据第3步创建虚拟机时设置的远程访问方式(如VNC),使用相应的客户端连接到虚拟机进行操作系统安装。按照常规步骤安装即可。

5. 管理虚拟机

安装完成后,可以使用以下工具管理KVM虚拟机:

libvirt管理工具:

  • virsh:命令行工具,用于管理虚拟机的生命周期(启动、关闭、暂停、迁移等)以及查询虚拟机状态。

    virsh list --all       # 列出所有虚拟机状态
    virsh start myvm      # 启动名为myvm的虚拟机
    virsh shutdown myvm   # 关闭虚拟机
    
  • virt-manager:图形化界面工具,提供更直观的虚拟机管理体验。

KVM相关配置:

  • 编辑虚拟机配置文件(通常位于/etc/libvirt/qemu目录下),如修改硬件资源配置、添加额外设备等。

  • 使用virsh edit命令直接编辑虚拟机配置:

    virsh edit myvm
    

资源监控:

  • 使用virt-top命令监控虚拟机资源使用情况。
  • 查看宿主机的资源使用情况,如使用tophtopsar等工具,结合virsh提供的信息,评估虚拟机对宿主机资源的影响。

快照与备份:

  • 使用virsh snapshot-*命令管理虚拟机快照,进行备份或回滚操作。
6. 使用Cockpit Web管理界面(可选)

如果希望使用Web界面管理KVM虚拟机,可以安装Cockpit:

sudo yum install cockpit cockpit-machines
sudo systemctl enable --now cockpit.socket

然后访问https://your_host_ip:9090,使用具有管理权限的用户登录。Cockpit提供了直观的界面来创建、管理虚拟机,以及监控系统资源。

综上所述,创建和管理KVM虚拟机涉及系统准备、虚拟机磁盘创建、虚拟机配置与安装、以及后期的资源监控与管理操作。根据具体需求,可以选择命令行工具、图形化界面工具或Web管理界面进行操作。

posted @ 2024-03-29 09:07  黄嘉波  阅读(152)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波