在主流国内云平台(如阿里云、腾讯云、华为云、百度云等)上部署 CentOS 7.9 64位实例,虽然流程标准化程度较高,但由于 CentOS 8/Stream 的停更背景以及云平台底层虚拟化技术的特殊性,仍有不少“坑”需要注意。
以下从镜像选择、网络配置、安全组、系统初始化、驱动兼容性五个维度,梳理出关键注意事项:
1. 镜像来源与版本确认
- 官方镜像 vs 自定义镜像:
- 优先使用云平台提供的公共镜像。这些镜像通常已经预装了云厂商的专属驱动(如 virtio 网卡、块存储驱动),能显著提升 I/O 性能。
- 如果使用本地上传的 ISO 制作的自定义镜像,务必检查是否安装了
cloud-init和云厂商专用的内核模块(如阿里云的alinux-kernel或腾讯云的qemu-guest-agent),否则可能导致重启后 IP 丢失或磁盘挂载异常。
- CentOS 7.9 的特殊性:
- CentOS 7.9 是 CentOS 7 系列的最后一个大版本。请确保你获取的是最终的 7.9.2009 版本,而非早期的 7.0-7.8,以获得最新的安全补丁。
- 注意生命周期:Red Hat 已于 2024 年 6 月 30 日停止对 CentOS Linux 8 的支持,而 CentOS 7 的支持也将在 2024 年 6 月 30 日正式结束。这意味着此后将不再获得安全更新。如果是新业务,强烈建议评估迁移至 Rocky Linux、AlmaLinux 或 Ubuntu 20.04/22.04 的必要性。若必须使用 CentOS 7.9,请仅用于兼容旧有环境或测试场景。
2. 网络配置与弹性 IP(EIP)
- 私有网络(VPC)规划:
- 创建实例时,务必将其放入正确的 VPC 子网中。确保子网的 CIDR 范围不与本地 IDC 或其他云资源冲突。
- 路由表:检查 VPC 的路由表,确保默认路由指向 NAT 网关或互联网网关,以便实例访问网络。
- 弹性公网 IP(EIP):
- 如果不需要固定公网 IP,可选择按流量计费或包月带宽。但建议绑定 EIP,便于后续解绑和迁移,避免更换实例时公网 IP 变化导致 DNS 解析失效。
- SSH 端口暴露:不要直接通过安全组开放 22 端口到
0.0.0.0/0。建议使用跳板机、堡垒机,或将 SSH 端口修改为非标准端口,并限制源 IP 白名单。
3. 安全组与防火墙策略
- 双防火墙机制:
- 云平台存在两层防火墙:安全组(Security Group) 和操作系统内部的 firewalld/iptables。
- 最佳实践:在安全组层面只开放必要端口(如 22, 80, 443)。进入系统后,建议禁用 firewalld,改用 iptables 或直接依赖安全组,以减少维护复杂度。
- 命令参考:
systemctl stop firewalld systemctl disable firewalld
- SELinux 状态:
- 生产环境中,若不熟悉 SELinux 策略,建议设置为
permissive模式或disabled,以避免因权限问题导致服务启动失败。 - 检查方法:
getenforce。若为 Enforcing,可通过/etc/selinux/config修改。
- 生产环境中,若不熟悉 SELinux 策略,建议设置为
4. 系统初始化与云助手
- Cloud-Init 自动配置:
- 大多数云平台在首次启动时会通过 cloud-init 自动设置主机名、SSH 密钥和用户密码。
- 重要提示:首次登录前,请在控制台查看“实例详情”中的“初始密码”,或通过重置密码功能设置 root 密码。切勿尝试用默认密码登录。
- YUM 源优化:
- 默认 YUM 源可能较慢或已归档。建议切换至国内镜像源(如阿里云、清华源、中科大源)。
- 注意:由于 CentOS 7 即将 EOL,部分公共镜像站可能已下架基础包。需提前配置好备份源或使用云厂商提供的内部源(如阿里云的
mirrors.aliyun.com)。 - 示例:编辑
/etc/yum.repos.d/CentOS-Base.repo,替换 baseurl 为国内镜像地址。
5. 驱动与性能调优
- virtio 驱动:
- 确保内核加载了
virtio_pci和virtio_blk模块。这是实现高性能网络和磁盘 I/O 的关键。 - 可通过
lsmod | grep virtio验证。
- 确保内核加载了
- NUMA 与 CPU 绑定:
- 对于高并发 Web 服务或数据库,建议在云平台控制台开启“CPU 超分比”调整(如设为 1:1 独占),或在实例类型中选择“计算型”而非“通用型”。
- 在系统内,可使用
numactl --hardware查看 NUMA 拓扑,必要时进行进程绑定。
- 时间同步:
- 启用 NTP 服务,确保系统时间与云端时间服务器同步。推荐使用云平台提供的内部 NTP 服务器(如阿里云的
ntp.aliyun.com),延迟更低。yum install chrony -y systemctl enable chronyd systemctl start chronyd
- 启用 NTP 服务,确保系统时间与云端时间服务器同步。推荐使用云平台提供的内部 NTP 服务器(如阿里云的
6. 备份与快照策略
- 定期快照:
- 在部署应用前,务必对系统盘和数据盘创建手动快照。
- 配置自动快照策略(如每天凌晨 2 点),保留最近 7-30 天的快照,以应对误操作或勒索病毒风险。
- 数据持久化:
- 明确区分系统盘和数据盘。应用程序代码、配置文件应放在数据盘(云盘)上,避免重装系统时丢失数据。
总结 checklist:
- [ ] 确认镜像为 CentOS 7.9 最新构建版本。
- [ ] 检查安全组是否仅开放必要端口。
- [ ] 验证 cloud-init 是否正常执行(主机名、用户配置)。
- [ ] 切换 YUM 源至国内镜像,并测试
yum makecache。 - [ ] 安装并启用 chrony 时间同步。
- [ ] 创建初始快照备份。
- [ ] 评估 CentOS 7 EOL 风险,制定长期迁移计划。
遵循以上步骤,可最大程度保障 CentOS 7.9 在云平台上的稳定性、安全性和性能表现。
云技术博客