一、为什么要先做系统初始化

在搭建综合架构之前,先做系统初始化有两个直接好处:

  • 避免环境差异导致后续实验频繁出错
  • 给多台服务器准备一致的基础运行环境

原始笔记中的初始化步骤非常典型,适合直接作为 CentOS 集群环境的标准准备流程。

二、关闭 firewalld 和 Selinux

2.1 关闭防火墙

systemctl disable --now firewalld

这条命令会同时完成两件事:

  • 立即停止 firewalld
  • 禁止它在开机时自启

2.2 关闭 Selinux

setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

临时关闭用 setenforce 0,持久关闭则需要修改配置文件。

验证方式:

getenforce

只要结果不是 Enforcing,就表示已经关闭或进入宽容模式。

三、把默认 YUM 源切换到国内镜像

3.1 先备份原有源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

3.2 配置阿里云 CentOS 与 EPEL 源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

这样处理后,后续安装基础工具和服务包会更快,也更适合国内环境。

3.3 刷新 YUM 缓存

yum clean all
yum makecache

查看最终源状态:

yum repolist

四、安装集群环境常用工具

原始笔记给出了一组非常实用的工具清单:

yum install -y tree vim wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect

这组工具基本覆盖了几类常见需求:

  • 文件与目录查看:treevimwget
  • 命令补全:bash-completion
  • 传输与终端:lrzsz
  • 网络排障:net-toolsncnmaptelnetbind-utils
  • 性能与资源观察:sysstatiotopiftophtopnethogs
  • 其他常用辅助:unzipbcpsmischttpd-toolsexpect

安装好这批工具后,后面做网络检查、性能分析、服务测试会省很多事。

五、优化 SSH 连接速度

5.1 修改 sshd_config

原始笔记的做法是修改 /etc/ssh/sshd_config,关闭 DNS 反查和 GSSAPI 认证带来的额外等待:

sed -i '/^GSSAPIAuthentication/s@^@#@g' /etc/ssh/sshd_config

cat >> /etc/ssh/sshd_config << EOF
UseDNS no
GSSAPIAuthentication no
EOF

5.2 重启 SSH 服务

systemctl restart sshd

5.3 检查配置是否生效

egrep '^(GSSAPIAuthentication|UseDNS)' /etc/ssh/sshd_config

期望看到:

UseDNS no
GSSAPIAuthentication no

这一步通常能明显改善 SSH 登录等待时间。

六、配置时区与时间同步

6.1 检查当前时区

timedatectl status

重点看 Time zone 是否为 Asia/Shanghai

如果不正确,可以修改为:

timedatectl set-timezone Asia/Shanghai

6.2 使用 ntpdate 做定时同步

yum install -y ntpdate

然后配置定时任务,每两分钟同步一次:

crontab -e
*/2 * * * * /sbin/ntpdate ntp1.aliyun.com &>/dev/null

查看结果:

crontab -l

6.3 为什么时间同步很重要

在集群环境里,时间不一致会带来很多隐蔽问题:

  • 日志时间线混乱
  • 自动化任务执行顺序难以判断
  • 监控与告警时间不统一
  • 某些依赖时间的服务行为异常

所以时间同步虽然不起眼,但非常关键。

七、小结

系统初始化这一部分建议直接形成固定模板,至少包含下面几项:

  • 关闭 firewalld
  • 关闭 Selinux
  • 切换国内 YUM
  • 安装常用工具
  • 优化 SSH
  • 配置时区和时间同步

当多台机器都按同一套流程初始化后,后面的架构部署、排障和自动化维护都会轻松很多。