CentOS虚拟机配置教程(以KVM+virt-install为例)
验证虚拟化支持
运行以下命令检查CPU是否支持虚拟化(Intel VT-x或AMD-V):
grep -E '(vmx|svm)' /proc/cpuinfo
若有输出(vmx
为Intel,svm
为AMD),则表示支持。再检查KVM模块是否加载:
lsmod | grep kvm
若看到kvm_intel
(Intel CPU)或kvm_amd
(AMD CPU),说明模块已加载。
安装KVM及管理工具
使用yum安装KVM核心组件、虚拟化管理工具和网络支持:
sudo yum install -y qemu-kvm libvirt libvirt-devel virt-install virt-viewer bridge-utils
启动并设置libvirtd服务开机自启:
sudo systemctl start libvirtd sudo systemctl enable libvirtd
验证服务状态:
sudo systemctl status libvirtd
(可选)安装图形化管理工具virt-manager
(需桌面环境):
sudo yum install -y virt-manager ```。
使用virt-install
命令快速创建虚拟机,示例(以CentOS 7为例):
sudo virt-install \ --name=mycentos7 \ # 虚拟机名称 --memory=2048 \ # 内存大小(MB) --vcpus=2 \ # 虚拟CPU核心数 --os-variant=centos7 \ # 优化系统设置的变体 --cdrom=/var/lib/libvirt/images/CentOS-7-x86_64-DVD.iso \ # ISO镜像路径 --disk size=20 \ # 虚拟磁盘大小(GB) --network network=default \ # 使用默认NAT网络 --graphics vnc,listen=0.0.0.0 \ # 启用VNC远程显示 --noautoconsole # 不自动连接控制台
执行后会启动虚拟机,通过VNC客户端(如TigerVNC)连接至宿主机IP即可完成安装。
若已安装virt-manager
,可通过以下步骤创建:
virt-manager
打开图形界面;常见模式及适用场景:
ens33
):ip link show
/etc/sysconfig/network-scripts/ifcfg-ens33
):sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改以下参数(静态IP配置):BOOTPROTO=static # 改为static ONBOOT=yes # 开机自动启用 IPADDR=192.168.122.100 # 静态IP(需在NAT网段内,如192.168.122.x) NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.122.1 # 网关(通常为NAT网关) DNS1=8.8.8.8 # DNS服务器
sudo systemctl restart NetworkManager
ping www.baidu.com ```。
若虚拟机磁盘空间不足,可通过以下步骤扩容(以LVM为例):
调整虚拟磁盘大小
关闭虚拟机,通过虚拟化管理工具(如VMware、VirtualBox)扩展虚拟磁盘容量(如从20GB增至40GB)。
扩展虚拟机内分区
lsblk
假设原磁盘为/dev/sda
,分区为/dev/sda1
(根分区)。growpart
扩展分区(需安装cloud-utils
):sudo yum install -y cloud-utils sudo growpart /dev/sda 1 # 扩展第1个分区至磁盘末尾
sudo pvresize /dev/sda1 # 扩展物理卷 sudo lvextend -l +100%FREE /dev/mapper/centos-root # 扩展逻辑卷至剩余空间 sudo xfs_growfs /dev/mapper/centos-root # 扩展XFS文件系统(若为ext4,用resize2fs)
df -h ```。
sudo virsh start mycentos7
/ sudo virsh shutdown mycentos7
;sudo virsh destroy mycentos7
(彻底删除前需先关闭);sudo virt-clone --original=mycentos7 --name=mycentos7-clone --auto-clone
;sudo virsh snapshot-create-as mycentos7 my_snapshot "初始状态"
(用于恢复系统)。