如何在物理服务器或虚拟机中安装CentOS系统(完整指南)

一、环境准备与镜像获取

1.1 硬件兼容性检查

CentOS 8及后续版本对硬件有明确要求:

  • CPU架构:支持x86_64、ARM64(需验证驱动兼容性)
  • 内存:最小2GB(生产环境建议4GB以上)
  • 存储:至少20GB可用空间(建议使用SSD提升I/O性能)
  • 网络:需支持PXE或USB设备启动(虚拟机环境可忽略)

1.2 镜像文件获取

从官方镜像站下载ISO文件时需注意:

  • 版本选择:推荐使用CentOS Stream(持续更新版)或LTS版本
  • 镜像类型
    • DVD ISO:完整安装镜像(约10GB)
    • Minimal ISO:最小化安装镜像(约1GB,适合自动化部署)
    • NetInstall ISO:网络安装镜像(需联网下载组件)
  • 校验和验证:通过sha256sum命令核对下载文件的哈希值

二、制作安装介质

2.1 物理服务器场景

U盘启动盘制作

  1. 使用dd命令(Linux)或工具(如Rufus)写入ISO
    1. sudo dd if=CentOS-8-x86_64-dvd.iso of=/dev/sdb bs=4M status=progress
  2. 设置BIOS启动顺序:将USB设备置于首位
  3. 保存设置并重启服务器

PXE网络启动(大规模部署场景):

  1. 配置TFTP服务器存放引导文件
  2. 设置DHCP服务器分配IP并指定PXE引导路径
  3. 在客户端BIOS中启用网络启动

2.2 虚拟机环境配置

主流虚拟化平台(如KVM、VMware)的通用配置步骤:

  1. 创建新虚拟机,分配至少2核CPU和4GB内存
  2. 添加虚拟硬盘(建议使用SCSI接口,容量40GB以上)
  3. 挂载CentOS ISO文件作为虚拟光驱
  4. 在启动顺序中优先选择光驱

三、安装流程详解

3.1 引导菜单选择

启动后进入引导界面,常见选项:

  • Install CentOS Linux:图形化安装(推荐新手)
  • Test this media & install CentOS Linux:先校验镜像完整性
  • Troubleshooting:救援模式(用于系统修复)

3.2 系统语言与区域设置

  1. 选择安装界面语言(建议使用英文避免编码问题)
  2. 配置时区(亚洲/上海)
  3. 设置键盘布局(默认US English)

3.3 磁盘分区方案

手动分区示例(适用于生产环境):
| 挂载点 | 文件系统 | 容量 | 标志 |
|———————|—————|————|——————————|
| /boot | ext4 | 1GB | 必须为主分区 |
| / | xfs | 50GB | LVM逻辑卷 |
| /var/log | xfs | 20GB | 单独分区避免日志填满根分区 |
| swap | swap | 4GB | 内存不足时启用交换空间 |

自动化分区

  • 选择Automatic选项可快速创建LVM分区
  • 适合测试环境或标准部署场景

3.4 网络配置

关键参数设置:

  • IPv4配置:静态IP(生产环境)或DHCP(测试环境)
  • 主机名:遵循FQDN规范(如server01.example.com
  • DNS服务器:配置至少两个DNS服务器地址
  • 防火墙服务:选择Firewalldiptables(需后续配置规则)

3.5 软件包选择

最小化安装

  • 仅包含基础系统组件
  • 适合服务器环境(减少攻击面)

完整安装

  • 包含图形界面、开发工具等
  • 适合桌面或开发环境

自定义安装

  • 可选择特定软件组(如Web Server、Database Server)
  • 通过@符号选择软件包组(如@base

四、安装后配置

4.1 用户管理

  1. 创建普通用户并加入wheel组(获得sudo权限)
    1. useradd -m -G wheel alice
    2. passwd alice
  2. 禁用root远程登录(编辑/etc/ssh/sshd_config
    1. PermitRootLogin no

4.2 安全加固

  1. 更新系统到最新版本
    1. dnf update -y
  2. 安装Fail2Ban防止暴力破解
    1. dnf install fail2ban -y
    2. systemctl enable --now fail2ban
  3. 配置SELinux(生产环境建议保持enforcing模式)

4.3 常用服务配置

SSH服务优化

  • 修改默认端口(编辑/etc/ssh/sshd_config
  • 禁用密码认证(使用密钥对)
    1. PasswordAuthentication no

NTP时间同步

  1. dnf install chrony -y
  2. systemctl enable --now chronyd

五、常见问题处理

5.1 安装过程卡住

  • 现象:进度条长时间无变化
  • 解决方案
    1. 检查镜像完整性
    2. 尝试更换安装介质(如从U盘改为PXE)
    3. 在引导菜单添加nomodeset参数(显卡驱动问题)

5.2 磁盘无法识别

  • 现象:分区界面显示”No disks detected”
  • 解决方案
    1. 检查BIOS中AHCI模式是否启用
    2. 加载额外驱动(如virtio驱动)
    3. 使用lsblk命令确认磁盘设备名

5.3 网络连接失败

  • 现象:安装过程中无法下载软件包
  • 解决方案
    1. 手动配置静态IP
    2. 检查物理网线/虚拟网络配置
    3. 更换镜像源(编辑/etc/yum.repos.d/下的repo文件)

六、自动化安装方案

对于大规模部署场景,可使用Kickstart实现无人值守安装:

  1. 创建ks.cfg配置文件
    1. # 示例配置片段
    2. text
    3. keyboard us
    4. timezone Asia/Shanghai --isUtc
    5. rootpw --plaintext CentOS@123
    6. %packages
    7. @core
    8. chrony
    9. %end
  2. 将文件放在HTTP服务器可访问路径
  3. 在引导菜单添加inst.ks=http://server/ks.cfg参数

通过以上步骤,读者可系统掌握CentOS从环境准备到生产部署的全流程。实际实施时需根据具体业务需求调整分区方案和安全策略,建议先在测试环境验证配置后再应用于生产系统。