在VM虚拟机中搭建CentOS7并配置镜像仓库与网络

一、环境准备与虚拟机创建

1.1 硬件与软件要求

在搭建CentOS7虚拟机前,需确保主机硬件满足最低要求:CPU需支持虚拟化技术(Intel VT-x/AMD-V),内存建议不低于4GB(单虚拟机分配2GB以上),存储空间需预留20GB以上空闲磁盘。软件方面需安装VMware Workstation Pro(版本15.x及以上)或VirtualBox(6.x版本),并下载CentOS7官方ISO镜像文件(推荐选择”Everything ISO”完整版)。

1.2 虚拟机参数配置

启动VMware后,通过”创建新的虚拟机”向导选择”典型”配置模式。内存分配建议遵循”2N+1”原则(N为核心数),例如四核CPU可分配6GB内存。创建虚拟磁盘时选择SCSI控制器类型,磁盘大小设为40GB并启用”立即分配所有磁盘空间”以提升I/O性能。网络适配器建议选择NAT模式,便于后续通过主机网络访问外网资源。

二、CentOS7系统安装流程

2.1 启动安装介质

加载CentOS7 ISO镜像后,在启动菜单选择”Install CentOS Linux 7”选项。进入安装界面后,首先完成语言选择(推荐英文),在”INSTALLATION SUMMARY”界面需重点配置:

  • 日期与时间:设置时区为Asia/Shanghai
  • 键盘布局:保持默认English(US)
  • 安装源:验证自动检测的本地介质
  • 软件选择:推荐”Minimal Install”基础系统
  • 安装位置:选择自动分区或手动创建/boot(500MB)、/(20GB)、swap(2GB)分区

2.2 系统初始化配置

安装完成后首次启动,需完成root密码设置(建议包含大小写字母、数字及特殊字符)。创建新用户时,可通过useradd -m username命令创建,并使用passwd username设置密码。为提升安全性,建议通过vi /etc/ssh/sshd_config修改SSH配置,禁用root远程登录(PermitRootLogin no)并重启服务systemctl restart sshd

三、网络环境深度配置

3.1 基础网络设置

使用nmcli connection show查看当前网络连接,通过nmcli connection modify命令修改配置。例如将NAT模式下的静态IP配置为:

  1. nmcli connection modify "Wired connection 1" \
  2. ipv4.method manual \
  3. ipv4.addresses 192.168.122.100/24 \
  4. ipv4.gateway 192.168.122.1 \
  5. ipv4.dns "8.8.8.8,8.8.4.4" \
  6. connection.autoconnect yes
  7. nmcli connection up "Wired connection 1"

3.2 高级网络优化

为提升虚拟机网络性能,可修改内核参数:

  1. echo "net.ipv4.tcp_keepalive_time = 600" >> /etc/sysctl.conf
  2. echo "net.ipv4.tcp_max_syn_backlog = 8192" >> /etc/sysctl.conf
  3. sysctl -p

通过ethtool -K eth0 tx off rx off关闭校验和卸载功能,可解决某些网络环境下的连接问题。

四、本地镜像仓库搭建

4.1 仓库服务器配置

在已安装CentOS7的物理机或另一虚拟机上,安装createrepo工具:

  1. yum install createrepo yum-utils -y

创建仓库目录结构:

  1. mkdir -p /var/www/html/repos/{base,epel,extras}

使用reposync命令同步远程仓库(需配置好网络):

  1. reposync -n -p /var/www/html/repos/base -r base

4.2 客户端配置

在目标虚拟机上创建本地仓库配置文件:

  1. cat > /etc/yum.repos.d/local.repo <<EOF
  2. [local-base]
  3. name=Local Base Repository
  4. baseurl=file:///var/www/html/repos/base
  5. enabled=1
  6. gpgcheck=0
  7. EOF

若需通过HTTP访问,需安装并配置httpd服务:

  1. yum install httpd -y
  2. systemctl enable --now httpd

将仓库文件移动到Web目录后,客户端配置修改为:

  1. baseurl=http://<仓库服务器IP>/repos/base

五、自动化运维建议

5.1 配置管理工具

推荐使用Ansible进行批量管理,创建inventory文件:

  1. [centos_servers]
  2. 192.168.122.100
  3. 192.168.122.101
  4. [centos_servers:vars]
  5. ansible_ssh_user=adminuser
  6. ansible_become=true

编写playbook实现自动化配置:

  1. ---
  2. - hosts: centos_servers
  3. tasks:
  4. - name: Install common packages
  5. yum:
  6. name: ["vim", "wget", "curl"]
  7. state: present
  8. - name: Configure local repo
  9. copy:
  10. src: /path/to/local.repo
  11. dest: /etc/yum.repos.d/

5.2 监控告警系统

部署Prometheus节点导出器:

  1. wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
  2. tar xvf node_exporter-*.*-amd64.tar.gz
  3. cd node_exporter-*.*-amd64
  4. nohup ./node_exporter &

在Prometheus配置文件中添加抓取任务:

  1. scrape_configs:
  2. - job_name: 'centos-nodes'
  3. static_configs:
  4. - targets: ['192.168.122.100:9100']

六、故障排查指南

6.1 常见安装问题

  • 黑屏卡住:检查ISO镜像完整性(md5sum CentOS-7-x86_64-DVD-*.iso),尝试在启动参数添加nomodeset
  • 分区失败:使用fdisk -l确认磁盘设备名,手动创建分区表时注意GPT/MBR格式匹配
  • 网络不通:通过ip a检查接口状态,使用tcpdump -i eth0抓包分析

6.2 仓库访问故障

当出现”Failed to download metadata for repo”错误时:

  1. 检查/etc/resolv.conf配置
  2. 验证仓库目录权限(chmod -R 755 /var/www/html/repos
  3. 使用createrepo --update /var/www/html/repos/base重建仓库元数据

通过以上系统化配置,开发者可在VMware环境中快速构建标准化的CentOS7开发测试平台,结合本地镜像仓库实现快速软件部署,并通过完善的网络配置保障系统互联互通。建议定期使用yum clean all && yum makecache更新仓库缓存,保持系统软件包处于最新状态。