/boot,
swap,
/ 根分区),设置root密码并创建用户,开始安装,安装完成后重启,首次配置并登录,系统即成功保存至物理机硬盘。
物理机安装 CentOS 7 及配置持久化保存详细指南
在物理服务器上部署 CentOS 7 是企业级应用、开发环境及学习实践的基石,确保安装过程规范且配置持久化保存,是系统稳定运行的关键,本指南提供详细步骤与最佳实践,助您高效完成部署。
第一阶段:安装前准备
-
硬件兼容性检查
- 访问 CentOS 官方维基或服务器/主板制造商官网,确认硬件(特别是 RAID 卡、网卡)与 CentOS 7 兼容。
- 记录重要硬件型号(网卡、显卡、存储控制器)。
-
获取安装介质
- 官方源下载: 访问 CentOS 官方镜像站 (
https://www.centos.org/download/或国内镜像如阿里云、酷盾镜像站),选择x86_64架构的Minimal或DVDISO 文件。 - 验证完整性 (重要!): 下载对应的
SHA256SUM文件,在本地使用sha256sum CentOS-7-x86_64-XXXX.iso命令校验,确保镜像未被改动。
- 官方源下载: 访问 CentOS 官方镜像站 (
-
制作启动盘
- Windows: 使用 Rufus (推荐) 或 UltraISO,选择
DD模式写入,兼容性最佳。 - Linux/macOS: 使用
dd命令 (谨慎操作!):sudo dd if=/path/to/CentOS-7-x86_64-XXXX.iso of=/dev/sdX bs=4M status=progress && sync
(
/dev/sdX是U盘设备,务必确认无误)。
- Windows: 使用 Rufus (推荐) 或 UltraISO,选择
-
服务器准备
- 连接显示器、键盘、电源和网络线。
- 开机进入 BIOS/UEFI:
- 设置从制作好的 USB 驱动器启动。
- 根据需要启用/禁用 Secure Boot (CentOS 7 支持有限,若遇问题可尝试禁用)。
- 确认存储控制器模式 (AHCI/RAID)。
- 记录或配置 BMC/iLO/IPMI 等远程管理卡信息。
第二阶段:启动安装程序
- 插入启动盘,重启服务器,在引导界面选择
Install CentOS 7。 - 语言与时区: 选择安装过程语言 (建议英文
English (United States)) 和系统时区 (Asia/Shanghai等)。 - 安装源: 确认检测到安装介质 (
Local media)。 - 软件选择:
- 最小化安装 (推荐):
Minimal Install,基础系统,安全高效,后续按需通过yum添加软件包。 - 带GUI: 如
GNOME Desktop或KDE Plasma Workspaces(仅当确实需要图形界面时选择)。 - 附加环境: 可勾选
Compatibility Libraries,Development Tools等。
- 最小化安装 (推荐):
第三阶段:磁盘分区与文件系统 (核心步骤)
目标: 创建稳定、可扩展、符合业务需求的存储布局。
-
进入分区界面: 在
INSTALLATION SUMMARY点击Installation Destination。
-
选择目标磁盘: 勾选要安装 CentOS 的物理磁盘 (如
sda,sdb)。谨慎操作,避免误选。 -
分区方案:
- 自动分区:
Automatic下可选Standard Partition,LVM,LVM Thin Provisioning或Btrfs(实验性),对于服务器,强烈推荐LVM。 - 手动分区 (推荐掌握): 选择
I will configure partitioning->Done进入高级界面。
- 自动分区:
-
手动分区最佳实践 (LVM 示例):
/boot分区 (必须):- 挂载点:
/boot - 期望容量:
1024MiB(1GB, 足够存放内核和引导文件) - 文件系统:
xfs(CentOS 7 默认) - 不 加入 LVM (物理分区)。
- 挂载点:
- 根分区 (必须):
- 挂载点:
- 文件系统:
xfs - 创建方式:选择
LVM-> 点击Volume Group区域旁的 创建新 VG。- 创建 PV (Physical Volume): 选择剩余磁盘空间 (或指定大小),点击
Add创建 PV。 - 创建 VG (Volume Group): 输入 VG 名称 (如
vg_centos),勾选刚创建的 PV,点击Add。
- 创建 PV (Physical Volume): 选择剩余磁盘空间 (或指定大小),点击
- 创建 LV (Logical Volume):
- 在 VG (
vg_centos) 上点击 。 - 挂载点:
- 期望容量: 分配剩余大部分空间 (如
50GiB或100GiB,根据需求预估,LVM 后续可扩展)。 - 文件系统:
xfs
- 在 VG (
swap交换分区 (推荐):- 挂载点:
swap - 期望容量: 通常为物理内存的 1-2 倍 (服务器内存大时可酌情减少,如
8GiB或16GiB)。 - 创建方式:在同一个 VG (
vg_centos) 上点击 -> 挂载点选swap-> 分配容量 -> 文件系统类型自动为swap。
- 挂载点:
/home分区 (可选,推荐):- 挂载点:
/home - 创建方式:在 VG (
vg_centos) 上点击 -> 分配容量 (如100GiB或更大) -> 文件系统xfs。
- 挂载点:
/var或/opt分区 (可选,根据应用需求): 类似/home创建。
-
确认分区: 仔细检查分区方案,确保
/boot独立且 有足够空间,点击Done-> 接受更改Accept Changes。
为何推荐 LVM?
- 灵活性: 可在线动态调整逻辑卷 (LV) 大小 (
lvextend/lvreduce+xfs_growfs/resize2fs)。- 快照: 支持创建 LV 快照,用于备份或测试。
- 条带化/镜像: 可配置高级存储特性 (需多个 PV)。
- 管理性: 简化存储池管理。
第四阶段:网络与主机名配置
- 进入配置: 在
INSTALLATION SUMMARY点击Network & Hostname。 - 启用网络: 在界面右侧,找到检测到的网卡 (如
ens192,eth0),将开关拨到ON。 - 配置主机名:
- 在底部
Hostname输入框设置主机名 (如server01.example.com),使用 FQDN (完全限定域名) 最佳。 - 勾选
Automatically set the hostname...(安装程序会将其写入/etc/hostname和/etc/hosts)。
- 在底部
- 配置 IP (可选,DHCP 通常可用):
- 点击网卡右侧的
Configure...。 IPv4 Settings选项卡:- 方法:选择
Manual(静态) 或Automatic (DHCP)。 - 静态配置: 点击
Add,输入Address(IP),Netmask(或Prefix如/24),Gateway,DNS servers(逗号分隔,如8.8.8, 114.114.114.114),确保信息准确。
- 方法:选择
IPv6 Settings选项卡:根据需要配置。- 点击
Save。
- 点击网卡右侧的
- 验证连接: 确保状态显示
Connected,并可尝试Test网络连通性 (如访问www.baidu.com)。
第五阶段:安全设置与安装启动
- 设置 Root 密码:
- 在
INSTALLATION SUMMARY点击Root Password。 - 输入强密码并确认。务必牢记! 勾选
Allow root SSH login需谨慎 (生产环境建议禁用)。
- 在
- 创建用户 (强烈推荐):
- 点击
User Creation。 - 输入全名、用户名 (如
sysadmin)。 - 勾选
Make this user administrator(加入wheel组,可使用sudo)。 - 设置强密码。
- 点击
- KDUMP (内核崩溃转储):
- 点击
Kdump,默认启用占用一小部分内存 (约 128MB+),生产环境建议启用以诊断崩溃原因,内存紧张时可禁用。
- 点击
- 安全策略 (可选):
- 点击
Security Policy,可选择应用预定义策略 (如Standard System Security Profile) 增强安全基线,安装后也可通过openscap配置。
- 点击
- 开始安装: 确认所有配置无误后,点击
Begin Installation。 - 安装过程: 等待进度条完成,期间可点击
ROOT PASSWORD或USER CREATION再次确认密码。 - 完成安装: 安装完成后,点击
Reboot按钮。务必在重启提示出现后移除安装介质 (USB/DVD)。
第六阶段:首次启动与基础配置
- 接受许可证: 首次启动可能提示阅读并接受许可证协议 (GPL),勾选同意。
- 登录系统: 使用创建的普通用户 (
sysadmin) 或root用户登录。 - 系统更新:
- 立即更新系统以获取最新补丁和安全修复:
sudo yum clean all # 清理缓存 sudo yum update -y # 更新所有包
- 如需更新内核,运行
sudo yum update kernel -y并重启 (sudo reboot)。
- 立即更新系统以获取最新补丁和安全修复:
第七阶段:配置持久化保存 (核心目标)
关键: 所有修改需写入配置文件或通过持久化服务管理,确保重启后生效。

-
网络配置持久化:
- 配置文件: CentOS 7 默认使用
NetworkManager,但服务器常改用传统network-scripts(更可控)。# 禁用 NetworkManager (可选,根据偏好) sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager # 启用 network 服务 sudo systemctl start network sudo systemctl enable network
- 编辑网卡配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens192 # 替换为你的网卡名
- 确保关键参数正确且
ONBOOT=yes:TYPE=Ethernet BOOTPROTO=static # 或 dhcp DEVICE=ens192 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 # 或 PREFIX=24 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=114.114.114.114
- 确保关键参数正确且
- 应用配置:
sudo systemctl restart network或sudo ifdown ens192 && sudo ifup ens192。 - 主机名: 检查
/etc/hostname和/etc/hosts(确保包含0.0.1 localhost localhost.localdomain <your_hostname>和实际 IP 的主机名解析)。
- 配置文件: CentOS 7 默认使用
-
防火墙 (firewalld) 持久化:
- CentOS 7 默认使用
firewalld,规则默认持久化。 - 开放端口:
sudo firewall-cmd --permanent --add-service=http # 开放 HTTP (80) sudo firewall-cmd --permanent --add-service=https # 开放 HTTPS (443) sudo firewall-cmd --permanent --add-port=8080/tcp # 开放自定义端口 sudo firewall-cmd --reload # 重载使永久规则生效
- 查看状态:
sudo firewall-cmd --list-all。
- CentOS 7 默认使用
-
SELinux 策略持久化:
- SELinux 状态保存在
/etc/selinux/config。 - 查看状态:
getenforce(Enforcing, Permissive, Disabled)。 - 临时更改:
sudo setenforce 0(Permissive),sudo setenforce 1(Enforcing)。 - 永久更改: 编辑
/etc/selinux/config,设置SELINUX=enforcing(推荐) 或permissive/disabled。修改后需重启生效。 非必要不推荐禁用。
- SELinux 状态保存在
-
服务管理 (systemd) 持久化:
- 使用
systemctl管理服务。enable命令确保服务开机自启:sudo systemctl enable httpd cronyd sshd # 启用常用服务 sudo systemctl disable postfix # 禁用不需要的服务
- 使用
-
YUM/DNF 仓库配置持久化:
- 仓库配置文件位于
/etc/yum.repos.d/目录,以.repo 添加第三方仓库 (如 EPEL) 或自定义仓库时,在此目录创建新.repo文件,官方仓库配置 (CentOS-Base.repo) 不要直接修改,可备份后修改或使用yum-config-manager。
- 仓库配置文件位于
-
用户与权限:

- 用户信息保存在
/etc/passwd,/etc/shadow,/etc/group,使用标准命令修改确保正确:sudo useradd newuser sudo passwd newuser sudo usermod -aG wheel newuser # 授予 sudo 权限
- 用户信息保存在
-
内核参数持久化 (
/etc/sysctl.conf或 `/etc/sysctl.d/):- 修改内核参数 (如
net.ipv4.tcp_tw_reuse):# 临时生效 sudo sysctl -w net.ipv4.tcp_tw_reuse=1 # 永久生效:在 /etc/sysctl.conf 或 /etc/sysctl.d/ 下新建 .conf 文件 echo 'net.ipv4.tcp_tw_reuse = 1' | sudo tee /etc/sysctl.d/90-tcp_tuning.conf # 应用 sysctl.d/ 下的配置 sudo sysctl --system
- 修改内核参数 (如
-
计划任务 (cron):
- 用户 cron:
crontab -e(配置保存在/var/spool/cron/下)。 - 系统 cron: 将脚本放入
/etc/cron.hourly/,/etc/cron.daily/等目录,或创建/etc/cron.d/文件。
- 用户 cron:
-
文件系统挂载 (
/etc/fstab):- 任何需要开机自动挂载的分区 (如额外数据盘、NFS) 都需在
/etc/fstab中配置。务必使用 UUID 或持久化名称 (如/dev/mapper/vg_centos-lv_home),避免使用/dev/sdX(可能变化)。 - 获取 UUID:
sudo blkid。 - 测试: 修改
/etc/fstab后,务必执行sudo mount -a测试配置是否正确,避免无法启动。
- 任何需要开机自动挂载的分区 (如额外数据盘、NFS) 都需在
第八阶段:验证与最佳实践
- 重启验证: 执行
sudo reboot,检查:
- 系统是否能正常启动?
- 网络是否按预期连接 (IP, 主机名, 网关, DNS)?
- 关键服务 (如
sshd, firewalld) 是否自动启动?
- 配置的分区 (如
/home) 是否正常挂载 (df -h)?
- 用户能否登录?
- SELinux 状态是否符合预期 (
getenforce, sestatus)?
- 防火墙规则是否生效 (
firewall-cmd --list-all)?
- 备份: 系统稳定后,立即制定备份策略 (如使用
rsync, tar, Bacula 或云备份服务),备份 /etc, /home, /var (重要应用数据), /boot 及数据库等。
- 监控: 配置基础监控 (如
top, free, df, ss, journalctl 或 Prometheus+Grafana),关注资源使用和系统日志。
- 文档: 记录服务器硬件配置、IP地址、安装日期、关键配置变更、备份恢复步骤。
遵循本指南,您已完成物理服务器 CentOS 7 的规范安装与持久化配置,理解每个步骤背后的原理 (如 LVM 优势、网络配置方式、SELinux 作用) 至关重要,持续的系统维护、更新和备份是保障长期稳定运行的基石,务必在修改关键配置前进行备份,并在生产环境进行充分测试。
引用说明:
- CentOS 官方安装指南:
https://docs.centos.org/en-US/centos/install-guide/ (基于 RHEL 文档)
- CentOS Wiki:
https://wiki.centos.org/
- Red Hat Enterprise Linux 7 文档 (大部分适用于 CentOS 7): `https://access.redhat
