CentOS虚拟机搭建与管理指南
egrep -c '(vmx|svm)' /proc/cpuinfo命令验证(返回值>0表示支持);建议使用SSD存储(提升I/O性能)和至少2GB内存(多虚拟机需预留15%以上内存)。qemu-kvm、libvirt、virt-install、bridge-utils),命令:sudo dnf install -y qemu-kvm libvirt virt-install bridge-utils;启动并设置libvirtd开机自启:sudo systemctl enable --now libvirtd。桥接模式让虚拟机直接接入物理网络,与主机同网段,便于直接访问。
nmcli命令创建网桥br0,并绑定物理接口(如eno1):sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection modify br0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
sudo nmcli connection add type bridge-slave con-name br0-slave ifname eno1 master br0
sudo nmcli connection down eno1 && sudo nmcli connection up br0-slave
virsh net-list --all查看虚拟网络状态,或brctl show查看网桥接口绑定情况。使用virt-install命令快速创建虚拟机(以CentOS 8为例):
sudo virt-install \
--name centos-vm1 \ # 虚拟机名称
--ram 2048 \ # 内存(MB)
--vcpus 2 \ # CPU核心数
--disk path=/var/kvm/images/centos-vm1.qcow2,size=20 \ # 磁盘路径与大小(GB)
--os-variant centos8 \ # 操作系统类型(优化驱动兼容性)
--network bridge=br0 \ # 网络模式(桥接)
--graphics vnc,listen=0.0.0.0 \ # 图形界面(VNC)
--location http://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/ \ # 安装源
--extra-args "ks=http://your-kickstart-server/ks.cfg" # 自动化安装脚本(可选)
virsh list --all查看虚拟机状态,使用virsh console centos-vm1进入控制台配置(需提前设置root密码)。sudo virsh start centos-vm1、sudo virsh shutdown centos-vm1、sudo virsh reboot centos-vm1;sudo virsh destroy centos-vm1(慎用,可能导致数据丢失);sudo virsh undefine centos-vm1(彻底删除,需先关闭虚拟机);sudo virt-clone -o centos-vm1 -n centos-vm2 -f /var/kvm/images/centos-vm2.qcow2(复制现有虚拟机)。sudo systemctl enable --now ksm开启内核同页合并,减少内存占用(适用于多相同系统虚拟机);/etc/sysctl.conf,调整vm.swappiness=10(减少交换空间使用)、net.core.somaxconn=1024(提高网络连接数),提升系统性能。ip link show查看,如ens33):sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static # 改为静态
ONBOOT=yes # 开机自启
IPADDR=192.168.1.101 # 静态IP(与网桥同网段)
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 网关(与主机一致)
DNS1=8.8.8.8 # DNS服务器
sudo systemctl restart NetworkManager;ping www.baidu.com(能通则表示配置成功)。virsh snapshot-create-as centos-vm1 --name "snap202511"创建快照(快速恢复到某一状态);rsync命令备份虚拟机磁盘文件(如rsync -av /var/kvm/images/centos-vm1.qcow2 /backup/),或使用virsh dumpxml导出虚拟机配置(virsh dumpxml centos-vm1 > /backup/centos-vm1.xml)。virsh edit centos-vm1),添加listen='127.0.0.1'和passwd='YourStrongPass',仅允许本地访问;setenforce 1开启SELinux,semanage fcontext -a -t virt_image_t "/var/kvm/images(/.*)?"设置正确的SELinux上下文,restorecon -Rv /var/kvm/images应用配置;firewall-cmd --add-service=ssh --permanent,firewall-cmd --reload。定期更新系统和软件包,修复安全漏洞:
sudo dnf update -y # 更新所有软件包
sudo dnf upgrade -y # 升级系统内核(谨慎操作,可能影响虚拟机兼容性)