温馨提示×

CentOS虚拟机如何搭建与管理

小樊
47
2025-11-01 19:59:53
栏目: 云计算

CentOS虚拟机搭建与管理指南

一、CentOS虚拟机搭建步骤

1. 准备工作

  • 硬件检查:确保CPU支持虚拟化技术(Intel VT-x或AMD-V),可通过egrep -c '(vmx|svm)' /proc/cpuinfo命令验证(返回值>0表示支持);建议使用SSD存储(提升I/O性能)和至少2GB内存(多虚拟机需预留15%以上内存)。
  • 软件安装:在CentOS主机上安装KVM及相关工具(qemu-kvmlibvirtvirt-installbridge-utils),命令:sudo dnf install -y qemu-kvm libvirt virt-install bridge-utils;启动并设置libvirtd开机自启:sudo systemctl enable --now libvirtd

2. 网络配置(以桥接模式为例)

桥接模式让虚拟机直接接入物理网络,与主机同网段,便于直接访问。

  • 创建网桥:使用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查看网桥接口绑定情况。

3. 创建虚拟机

使用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密码)。

二、CentOS虚拟机日常管理

1. 基础操作命令

  • 启动/关闭/重启sudo virsh start centos-vm1sudo virsh shutdown centos-vm1sudo 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(复制现有虚拟机)。

2. 性能优化技巧

  • 使用VirtIO驱动:安装虚拟机时勾选“VirtIO”驱动(磁盘、网络),提升I/O性能;
  • 调整资源分配:根据虚拟机用途合理分配CPU(如数据库虚拟机分配更多核心)、内存(如Web服务器分配2-4GB);
  • 启用KSM:通过sudo systemctl enable --now ksm开启内核同页合并,减少内存占用(适用于多相同系统虚拟机);
  • 使用SSD存储:将虚拟机磁盘放在SSD分区,提升读写速度;
  • 优化内核参数:编辑/etc/sysctl.conf,调整vm.swappiness=10(减少交换空间使用)、net.core.somaxconn=1024(提高网络连接数),提升系统性能。

三、CentOS虚拟机网络配置

1. 常见网络模式

  • 桥接模式:虚拟机直接接入物理网络,获取与主机同网段的IP,适合需要对外提供服务的场景(如Web服务器);
  • NAT模式:虚拟机通过主机网络访问外部,外部无法直接访问虚拟机,适合内部测试环境(默认模式);
  • 仅主机模式:虚拟机与主机之间通信,不接入外部网络,适合隔离测试。

2. 静态IP配置(桥接模式为例)

  • 编辑网络配置文件(接口名通过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(能通则表示配置成功)。

四、CentOS虚拟机维护与安全

1. 数据备份

  • 快照备份:通过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)。

2. 安全加固

  • 限制VNC访问:修改虚拟机XML配置(virsh edit centos-vm1),添加listen='127.0.0.1'passwd='YourStrongPass',仅允许本地访问;
  • 启用SELinuxsetenforce 1开启SELinux,semanage fcontext -a -t virt_image_t "/var/kvm/images(/.*)?"设置正确的SELinux上下文,restorecon -Rv /var/kvm/images应用配置;
  • 防火墙规则:开放必要的端口(如SSH的22端口),firewall-cmd --add-service=ssh --permanentfirewall-cmd --reload

3. 系统更新

定期更新系统和软件包,修复安全漏洞:

sudo dnf update -y      # 更新所有软件包
sudo dnf upgrade -y     # 升级系统内核(谨慎操作,可能影响虚拟机兼容性)

0