分享知识,分享快乐

0%

服务器管理规范(V1)

服务器管理规范(V1)

一 配置管理规范

所有设备信息必须录入配置管理系统,在配置系统中能随时查询到现网业务的部署分布情况 具体信息待配置管理系统建立后再补充

主机命名规范

网卡vlan规范

安全策略命名规范

监控/部署/插件/模块命名规范

版本命名规范

二 文件系统管理规范

2.1 文件布局

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
. 系统服务及配置文件优先采用LSF标准,其余文件可采用BSD标准[注1],例如:
/etc/vimrc ---- vim默认配置
/etc/bash.bashrc ---- shell环境配置
. 用户脚本
/opt/admin/shell/ ---- 自定义脚本,函数
/opt/admin/cron/ ---- cron脚本
/opt/admin/firwall/ ---- 防火墙脚本
. data分区(/data或/home, 这里以/data为基准)
/data/db_dir/mysql ---- mysql data目录
/data/db_dir/redis ---- redis data目录
/data/www ---- web目录
/data/backup ---- 备份目录
注1: LSF(Linux Stand Filesytem)
BSD: 软件包通常位于: /usr/local/$package
SYS V: 软件包通常位于: /opt/$package
程序原始文件必须放置于/data目录下,可以自行加入软连接 如:ln -s /data/apps /opt/apps
数据放置于/data下

2.2 文件修改

1
2
3
4
5
6
. 默认配置文件    ---- xxxx.orig
在没有任何改动的情况下以orig扩展名做一次备份并保留注释,以供参考
. 修改配置文件 ---- xxxx.$date
对当前配置文件做出修改时, 建议首先以xxxx.$date的命名方式对其做一次备份.
. 当前配置文件
建议移除相关注释及空行, 在有缩进的情况下以四个空格作为缩进,以保证阅读的清爽性.

三 软件包管理规范

3.1 包管理

1
2
3
. 采用自动部署工具(salt, puppet等)管理相应软件包,应避免手动直接安装。
. 只保留安全补丁升级,应避免系统库及相应服务升级。
. 建立官方仓库本地镜像及私有仓库。

3.2 包安装

1
2
3
4
5
. 尽量采用官方源,及稳定的三方源安装相应软件包。
. 如有必须源码编译[注1],务必遵照Debian官方打包方式进行打包[注2],以保持LSF规范及自动化管理。
. 自打包程序通过测试及审核后放入私有仓库。
注1: GCC保持默认的o2就好,不要修改CFLAG,以稳定为优先原则。
注2: 勿用checkinstall直接打包。

四 日志管理规范

4.1 系统日志

1
2
3
4
5
6
7
8
9
10
11
12
. 系统日志服务统一采用syslog-ng, 不应与rsyslogd混用
. 针对不同日志类型, 存于不同的文件. 例如
/var/log/auth.log ---- 安全日志
/var/log/kern.log ---- 内核日志
/var/log/user.log ---- 用户日志
/var/log/daemon.log ---- 守护进程日志
/var/log/misc.log ----
/var/log/cron.log ---- 计划任务日志
/var/log/syslog ---- 系统日志
/var/log/boot.log ---- 引导日志
/var/log/messages ---- 所有日志
. 系统级日志保留7天回滚, 服务级日志保留15天回滚, 并做定期检查

4.2 操作日志

1
2
3
4
. 将所有ssh操作日志记录于文件, 方便系统管理员定位具体时间点的操作, 例如:
/var/log/audit/sysop
/var/log/audit/dba
/var/log/audit/root

五 安全管理规范

5.1 .网络访问规则 业务模块类型不同策略组尽量不通,比如db类,前端类,下载类等等。(这样做的目的是尽量把权限控制死,减少黑客入口) ACL 外网策略默认入默认全关,针对访问需求开放 外网策略默认出全开 内网默认出和入均开放 不同vlan之间做绝对隔离 iptables 外网策略默认入全关,针对访问需求开放 外网策略默认出全开 内网默认出和入均开放 5.2 .程序监听端口 非特殊需求1024以下端口禁止使用,且定义为高危端口,若发现高危端口暴露公网则进行罚款警告 数据库端口和ssh进程端口严谨暴露外网 只使用内网访问的程序禁止使用0.0.0.0监听

六 DB操作规范

6.1 用户权限分级 业务账户 备份账户 管理账户 其他需求账户(主要指查询) 主从复制账户 6.2 修改db和数据前先备份,大型db变更可以先停掉slave,待变更完成后再开启。 6.3 禁止擅自修改数据,若要修改需要提交需求 6.4 db 备份必须要有异地备份,db 需要打开binlog,备份需要有slave. 6.5 不确定情况请找DBA 确认。

七 版本更新规范

7.4 版本更新checklist模板制定 每次版本更新需要针对实际操作情况根据checklist模板进行细化制定。 7.5 禁止开发登陆服务器进行更新和修改操作(特殊情况请说明) 7.6 未经测试通过或者有严重bug的版本禁止对外发布,如需要发布,需要项目PM和QA确认。 7.7 临时修改发布内容视实际情况自行评估,原则上确定的内容临时调整不接受。

八 故障处理规范 .

大型故障处理 .服务器故障 .业务故障处 主要是checklist,需要包含故障现象,分析问题过程和故障处理恢复过程

**九 监控规范 **

业务上线后必须马上加入监控,此作为上线的其他步骤同等重要 监控中必需监控指标项必须加入(之前lorin有提供文档)

十 其他变更规范

搬迁,开服,新功能上线等都属于变更范畴。

10.1 新服开放 需要提前主动搜集运营需求,进行资源的准备和规划 需要准备变更所需checklist 10.2 搬迁及升级 升级扩容预案 搬迁方案的准备 回滚方案准备 数据一致性校验 以上方案在操作前需要提交运维团队进行评审确认。