物理服务器装CentOS 7.9避坑实战指南
第一次在物理服务器上安装CentOS 7.9的经历,简直像一场与硬件的搏斗。从BIOS设置到分区规划,每个环节都暗藏玄机。本文将分享我在这个过程中踩过的七个典型坑位,以及如何用最有效的方式填平它们。
1. 启动盘制作与BIOS设置的隐藏陷阱
很多人以为用Rufus或Etcher刻录完镜像就万事大吉,但物理服务器往往比家用PC更挑剔。我最初用默认的FAT32格式制作启动盘,结果服务器根本无法识别。后来发现,对于超过4GB的CentOS镜像,必须选择以下配置:
# 使用dd模式刻录(适用于大多数服务器) dd if=CentOS-7.9-x86_64-DVD-2009.iso of=/dev/sdX bs=4M status=progress常见启动问题排查表:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 无启动项 | UEFI/BIOS模式不匹配 | 进入BIOS切换Legacy/UEFI模式 |
| 卡在dracut界面 | 启动介质损坏 | 重新校验ISO哈希值并刻录 |
| 报错"Missing operating system" | 引导顺序错误 | 调整启动盘为第一启动项 |
提示:戴尔PowerEdge系列需要先在BIOS中禁用Secure Boot,HPE服务器则需在iLO中配置一次性启动菜单
2. 分区规划的艺术与科学
原始安装界面那个"自动配置分区"的选项就像甜蜜的陷阱——看似简单,实则可能埋下性能隐患。对于生产环境,我推荐手动分区方案:
SSD典型分区方案:
/boot:1GB(ext4)/:50GB(xfs)/var:单独30GB(xfs)/home:剩余空间的20%swap:物理内存的1.5倍(当内存<16GB时)
# 安装后检查分区对齐(确保start值能被8整除) fdisk -l /dev/sda | grep -E '^/dev|Start'遇到已有旧系统的情况,要特别注意:
- 先备份
/etc/fstab和重要数据 - 使用
lsblk -f确认磁盘标识 - 删除分区时避免误操作(我差点把RAID配置清空了)
3. 网络配置的魔鬼细节
图形界面里那个小小的"打开网络"开关不知坑了多少人。更可靠的方式是在安装时就配置好网络:
# 安装后检查网络配置的正确姿势 nmcli connection show ip -4 addr show | grep -v 127.0.0.1企业级网络配置要点:
- 双网卡绑定建议使用mode=6(balance-alb)
- 固定IP要同时配置DNS(否则yum会报错)
- 防火墙规则预配置:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload4. 软件包选择的黄金组合
基础设施服务器选项虽然简洁,但缺少常用工具。我的推荐组合:
- 基础环境:
Infrastructure Server - 附加组:
Compatibility Libraries、Development Tools - 必要工具:
vim-enhanced、wget、net-tools
安装后立即执行的命令:
yum install -y epel-release yum update -y5. 引导修复实战案例
那个令人崩溃的/dev/root does not exist错误,其实有更优雅的解决方案:
- 在dracut调试shell中执行:
ls /dev | grep sd- 记录所有设备名后重启
- 在安装界面按Tab键编辑启动参数:
inst.repo=hd:/dev/sdb4:/quiet注意:不同服务器USB端口可能对应不同的设备名(sda/sdb/nvme0n1等)
6. 首次启动后的关键10分钟
系统安装完成只是开始,这些配置能让后续管理轻松十倍:
安全加固清单:
- 修改SSH端口并禁用root登录
- 配置自动安全更新
- 安装fail2ban防御暴力破解
- 设置正确的时区和NTP同步
# 时区设置示例(亚洲上海) timedatectl set-timezone Asia/Shanghai systemctl restart chronyd7. 性能调优隐藏参数
大多数教程不会告诉你的内核参数调整:
# 优化vm.swappiness(针对SSD) echo 'vm.swappiness=10' >> /etc/sysctl.conf # 提高文件描述符限制 echo '* soft nofile 65535' >> /etc/security/limits.confRAID阵列特别注意事项:
- 检查
/proc/mdstat状态 - 添加
noatime,nodiratime挂载选项 - 调整IO调度器为deadline
经过这趟安装之旅,我最大的体会是:物理服务器就像老式机械表,每个零件都需要精确校准。现在这台CentOS 7.9已经稳定运行了六个月,那些踩坑的经历反而成了最宝贵的运维经验。