菜鸟科技网

KVM命令行如何安装CentOS系统?

在Linux系统中,KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它将Linux内核转化为一个Type-1(裸金属)虚拟机监控程序(Hypervisor),能够在支持虚拟化扩展的CPU上运行多个虚拟机,本文将详细介绍如何在CentOS系统上通过命令行方式安装和配置KVM虚拟化环境,包括环境检查、安装必要软件包、配置网络、创建虚拟机及常用管理命令等步骤。

KVM命令行如何安装CentOS系统?-图1
(图片来源网络,侵删)

需要确认系统是否支持虚拟化技术,通过执行egrep -c '(vmx|svm)' /proc/cpuinfo命令,若返回值大于0,则表示CPU支持虚拟化扩展,确保在BIOS/UEFI中已启用虚拟化选项(Intel VT-x或AMD-V),更新系统并安装KVM核心组件,执行yum update -y后,安装qemu-kvmlibvirtvirt-installvirt-manager等软件包,这些是KVM虚拟化的核心依赖。qemu-kvm提供虚拟化硬件模拟,libvirt是虚拟化API和管理工具,virt-install用于命令行创建虚拟机,安装完成后,启动libvirtd服务并设置开机自启:systemctl start libvirtdsystemctl enable libvirtd

网络配置是KVM虚拟化的重要环节,默认情况下,libvirt会创建一个名为default的NAT网络,虚拟机可通过该网络访问外部网络,但外部无法直接访问虚拟机,如需配置桥接网络(使虚拟机直接与宿主机处于同一网段),需创建网桥接口,首先安装bridge-utils工具:yum install bridge-utils -y,然后编辑网络配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33,根据实际网卡名调整),将类型改为Bridge,并关联物理网卡,重启网络服务后,可通过ip a命令查看网桥是否创建成功,创建虚拟机时,选择桥接网络即可实现虚拟机直接暴露在局域网中。

创建虚拟机主要通过virt-install命令实现,以下是一个示例命令:virt-install --name centos7 --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/centos7.img,size=20 --cdrom /path/to/CentOS-7-x86_64-DVD-xxxx.iso --network bridge=virbr0 --graphics none --os-variant centos7.0,该命令中,--name指定虚拟机名称,--ram--vcpus分别分配内存和CPU核心数,--disk指定磁盘镜像路径和大小(若磁盘不存在会自动创建),--cdrom指定系统镜像路径,--network选择网络类型,--graphics none表示无图形界面(适合服务器环境),安装过程中,可通过virsh list --all查看虚拟机状态,virsh start <vm_name>启动虚拟机,virsh shutdown <vm_name>关闭虚拟机。

虚拟机磁盘管理也是常用操作,使用qemu-img命令可以创建、调整或转换磁盘镜像,例如qemu-img create -f qcow2 centos8.img 10G创建一个10GB的qcow2格式镜像(qcow2支持动态扩容和快照),若需扩容现有磁盘,可先使用virt-filesystemslsblk查看虚拟机磁盘分区信息,然后在虚拟机内部使用growpartfdisk调整分区大小,最后通过resize2fs(针对ext4文件系统)扩容文件系统,libvirt支持快照功能,通过virsh snapshot-create-as <vm_name> snap1 --description "first snapshot"创建快照,virsh snapshot-revert <vm_name> snap1恢复快照,便于虚拟机状态备份和回滚。

KVM命令行如何安装CentOS系统?-图2
(图片来源网络,侵删)

以下是KVM常用管理命令的简要总结:

命令分类 示例命令 功能说明
虚拟机生命周期 virsh start <vm_name> 启动虚拟机
virsh shutdown <vm_name> 关闭虚拟机(需系统支持)
virsh destroy <vm_name> 强制关闭虚拟机
virsh undefine <vm_name> 删除虚拟机配置文件(不删除磁盘)
虚拟机状态管理 virsh list --all 列出所有虚拟机及其状态
virsh dominfo <vm_name> 查看虚拟机详细信息
virsh console <vm_name> 连接虚拟机控制台
磁盘与快照 qemu-img info <disk_path> 查看磁盘镜像信息
virsh snapshot-create-as <vm_name> ... 创建快照
virsh snapshot-list <vm_name> 列出虚拟机快照

相关问答FAQs:

  1. 问:KVM虚拟机无法连接网络,如何排查?
    答:首先检查虚拟机网络配置是否正确,确保虚拟机内网卡已启用并获取IP,若使用NAT模式,确认default网络是否启动(virsh net-list --all),未启动则执行virsh net-start default并设置开机自启,若使用桥接模式,检查宿主机网桥是否创建成功,物理网卡是否正确桥接,以及网络服务是否重启,检查防火墙和SELinux是否阻止了网络流量,可临时关闭防火墙(systemctl stop firewalld)测试。

  2. 问:如何为KVM虚拟机添加新的磁盘或网卡?
    答:添加磁盘可通过qemu-img创建新镜像文件,然后使用virsh attach-disk <vm_name> <disk_path> vdb --persistent命令将磁盘附加到虚拟机(vdb为设备名,需确保不与现有设备冲突),添加网卡则执行virsh attach-device <vm_name> <network_xml_file> --persistent,其中XML文件定义网卡类型(如<interface type='network'><source network='default'/></interface>),修改后需重启虚拟机使配置生效,也可使用virsh reboot <vm_name>命令。

    KVM命令行如何安装CentOS系统?-图3
    (图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇