/boot
, swap
, /
根分区),设置root密码并创建用户,开始安装,安装完成后重启,首次配置并登录,系统即成功保存至物理机硬盘。物理机安装 CentOS 7 及配置持久化保存详细指南
在物理服务器上部署 CentOS 7 是企业级应用、开发环境及学习实践的基石,确保安装过程规范且配置持久化保存,是系统稳定运行的关键,本指南提供详细步骤与最佳实践,助您高效完成部署。
第一阶段:安装前准备
-
硬件兼容性检查
- 访问 CentOS 官方维基或服务器/主板制造商官网,确认硬件(特别是 RAID 卡、网卡)与 CentOS 7 兼容。
- 记录重要硬件型号(网卡、显卡、存储控制器)。
-
获取安装介质
- 官方源下载: 访问 CentOS 官方镜像站 (
https://www.centos.org/download/
或国内镜像如阿里云、酷盾镜像站),选择x86_64
架构的Minimal
或DVD
ISO 文件。 - 验证完整性 (重要!): 下载对应的
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
。 - 添加第三方仓库 (如 EPEL) 或自定义仓库时,在此目录创建新
- 仓库配置文件位于
-
用户与权限:
- 用户信息保存在
/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
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/32910.html