一、为什么要先做系统初始化¶
在搭建综合架构之前,先做系统初始化有两个直接好处:
- 避免环境差异导致后续实验频繁出错
- 给多台服务器准备一致的基础运行环境
原始笔记中的初始化步骤非常典型,适合直接作为 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
这组工具基本覆盖了几类常见需求:
- 文件与目录查看:
tree、vim、wget - 命令补全:
bash-completion - 传输与终端:
lrzsz - 网络排障:
net-tools、nc、nmap、telnet、bind-utils - 性能与资源观察:
sysstat、iotop、iftop、htop、nethogs - 其他常用辅助:
unzip、bc、psmisc、httpd-tools、expect
安装好这批工具后,后面做网络检查、性能分析、服务测试会省很多事。
五、优化 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
- 配置时区和时间同步
当多台机器都按同一套流程初始化后,后面的架构部署、排障和自动化维护都会轻松很多。