CentOS环境下配置虚拟机的常见方案(以KVM、VirtualBox为例)
egrep -c '(vmx|svm)' /proc/cpuinfo,结果≥1表示CPU支持虚拟化(Intel为vmx,AMD为svm)。sudo yum update -y(CentOS 7/8)或sudo dnf update -y(CentOS Stream)更新系统软件包。KVM是Linux内核集成的虚拟化技术,适合生产环境,性能接近物理机。
运行以下命令安装核心组件:
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils virt-manager
qemu-kvm:虚拟化核心引擎;libvirt:虚拟化管理库;virt-install:命令行创建虚拟机工具;virt-manager:图形化管理工具(可选)。sudo systemctl start libvirtd
sudo systemctl enable libvirtd
确保服务开机自启。
使用virt-install命令创建虚拟机,示例如下:
sudo virt-install \     --name=my-vm \          # 虚拟机名称     --ram=2048 \            # 内存大小(MB)     --vcpus=2 \             # CPU核心数     --disk path=/var/lib/libvirt/images/my-vm.qcow2,size=20 \  # 磁盘路径及大小(GB)     --os-type=linux \       # 操作系统类型     --os-variant=rhel8 \    # 操作系统变种(根据镜像选择,如rhel7.0、centos8.0)     --network bridge=virbr0 \ # 网络模式(默认NAT,bridge为桥接)     --graphics spice \      # 图形界面(可选vnc/none)     --cdrom=/path/to/CentOS-8-x86_64-1-20211209.iso  # ISO镜像路径。
安装virt-manager后,运行virt-manager打开图形界面,点击“新建”按向导创建虚拟机,支持可视化配置。
VirtualBox是第三方开源虚拟化工具,适合个人测试或学习。
sudo yum install -y kernel-devel gcc make;sudo wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo;sudo yum install -y VirtualBox-6.1;sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-*.vbox-extpack。my-vm),选择类型为“Linux”,版本为“Red Hat (64-bit)”;启动虚拟机,进入CentOS安装界面,按向导完成语言、时区、软件选择(如“带GUI的服务器”)、安装位置(自动分区或手动分区)、网络配置(开启以太网)、root密码及用户创建等步骤。
虚拟机网络模式需根据需求选择,常见模式如下:
ping 8.8.8.8测试网络连通性。eth0);/etc/sysconfig/network-scripts/ifcfg-ens33),设置BOOTPROTO=dhcp(自动获取IP)或手动配置静态IP(需与宿主机同一网段):TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100  # 静态IP(需唯一)
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1   # 网关(通常为路由器IP)
DNS1=8.8.8.8          # DNS服务器
sudo systemctl restart NetworkManager(CentOS 8+)或sudo systemctl restart network(CentOS 7)。虚拟机磁盘空间不足时,可通过以下方式扩展:
VBoxManage createhd --filename "/var/lib/VirtualBox/vm_disks/new_disk.vdi" --size 50000(创建50GB虚拟磁盘);.vdi文件。sudo fdisk -l(找到需扩展的分区,如/dev/sda2);sudo pvcreate /dev/sdb1(若新增磁盘)或sudo pvresize /dev/sda2(现有分区);sudo vgextend centos /dev/sdb1(centos为卷组名,可通过vgdisplay查看);sudo lvextend -L +20G /dev/mapper/centos-root(扩展root分区20GB,可通过lvdisplay查看逻辑卷路径);sudo resize2fs /dev/mapper/centos-root(ext4文件系统)或sudo xfs_growfs /dev/mapper/centos-root(XFS文件系统)。sudo rm -rf /tmp/*;sudo yum clean all;sudo logrotate -f /etc/logrotate.conf;sudo du -sh /* | sort -h(按大小排序)。