生产服务器部署规范
一、服务器选型
CPU、硬盘、内存等硬件必须是当前主流产品,必须配备冗余电源、远程管理卡,,硬盘至少为两块,应用服务器RADI1,数据库服务器RADI5。。
参考现在的服务器选型标准文档
二、操作系统标准
.初始化系统安装包
系统 包名 用途 Suse 服务器基本系统包 系统日常工具包 c/c++编译器和工具 用于程序的开发编辑 redhat Vim-enhanced Vim编辑器 开发工具(Automaker、gcc、用于程序的开发编辑 perl、python..) networkmanager 网络管理组件 Acpld Acpi事件守护进程 Autofs 自动挂载和卸载文件系统的工具 conman 控制台管理器 coolkey coolkey PKCS模块 Cpuspeed CPU频率调节守护进程 crash 系统的崩溃实用程序,用于转存,磁盘,kdump的,LKCD边际资本产出率转储文件 Crytsetup-luks 设置加密文件系统的工具 Dos2unix 文本文件格式转换器 dump 用于备份和恢复文件系统的程序 Ipstate 性能检查工具 Irqbalance IRQ平衡守护进程 Libalo Linux自然不对称I/O存取库 Mlcrocode_ctl 更新x86/x86-64CPU代码的工具 Mkbootdisk 创建一个用于引导系统的引导软盘 Mlocate 按名称查找文件的一个实用工具 Mtr 网络诊断工具 Nc 使用TCP/UDP在网络连接中读取并写入数据 Nfs-utlls NFS公用设施及支援的内核NFS客户端 Numactl 用于统一内存存取机 Pam_ccreds 用来存储登陆证书的pam模块 Pam_krb 一个kerberos5的可插入验证模块(pam) Pam_passwdqc 可插入的口令强健性控制模块 Readahead 将文件预置列表写入内存 Redhat-lsb LSB支持 red hed linux Rng-utlls 随机数字生产程序相关的工具 Rsh 客户机远程访问命令 Rsync 一个在网络中同步文件的程序 Stunnel 一个SSL加密套接字会绕程序 Sudo 允许给指定的用户以严格限制的根访问权 Symllnks 维护一个系统的符号链接的工具 System-config-network-tul 网络管理工具 Tcp_wrappers 如同TCP守护进程的安全工具 Tcpdump 网络交通监视工具 Tesh 一个csh(C shell)的增进版 telnet 远程登陆协议的客户程序 Tlme 一个用来监视程序对系统资源的GNU工具 Tree 一个现实目录内容的树形试图的工具 Unix2dos Unix到dos文本文件格式转换器 Unzip Zip解压工具 Wget 一个http或ftp协议检索文件的工具 Which 现实文件路径 Yum-updatesd Yum工具守护进程 Zip 与pkzip兼容的文件压缩打包工具 ccld 通用的USB CCID智能卡读写器驱动器产品
初始化系统需要开启的服务:
系统 服务名字 用途 redhat acpid 电源管理 auditd 审计守护进程 Atd At命令守护进程,用户用at命令调度的任务。 anacron 一个自动化运行任务守护进程 crond 计划任务守护进程 hald 设备的属性管理 dbus-daemon 是一个应用程序,它使用这个库来实现messagebus守护进程 Pcscd 用于监视进程活动的工具 portmap 主要功能是把RPC程序号转化为Internet的端口号,nfs依赖它 network 网络进程 ZENworks Management 管理网络 Name Service Cache 名字服务缓存守护进程 smart terminals card 智能卡服务 RPC portmap 主要功能是把RPC程序号转化为Internet的端口号,nfs依赖它 syslog 日志信息守护进程 klogd 系统日志守候进程的脚本 yum-updatesd Yum源更新守候进程 Suse acpid 电源管理 auditd 审计守护进程 udevd udevd是根据一定的规则在/dev/目录下生成设备文件 Cron 定时任务 D-BUS 提供简单的应用程序互相通讯 syslog 日志信息守护进程 HAL 设备的属性管理 network 网络进程 ZENworks Management 管理网络 Name Service Cache 名字服务缓存守护进程 smart terminals card 智能卡服务 RPC portmap 主要功能是把RPC程序号转化为Internet的端口号,nfs依赖它 powersaved 支持apm random 保存和恢复系统的高质量随机数生产器,这些随机数是系统一些随机行为提供的。 resource manager 资源管理器 sshd 远程登陆
初始化参数优化
配置参文件 数用途 值 /etc/ = 30 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数(修改系統默认的TIMEOUT时间)。 表示开启SYN Cookies。当出现SYN等待队 = 1 列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; = 1 让系统对广播没有反映 = 1 启用IP欺骗保护,打开源路由核查. = 300 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时。
= 2 = 2 syn重试次数 = 5000 65000 表示用于向外连接的端口范围。缺省情况下很小:32768到61000。 soft stack 最大栈大小soft nofile 409600 unlimited hard stack unlimited soft 65535 hard 63535 nproc 在OS级别设置打开文件的最大数目 nproc soft data 最大数据大小 unlimited hard data unlimited soft fsize 最大文件大小 unlimited hard fsize unlimited soft unlimit hard unlimit core 限制内核文件的大小 core soft 409600 hard 409600
nofile 打开文件的最大数目 nofile 对现有现有操作系统操作系统进行标准化,其中包括初始化安装包、初始化系统服务,优化标准话内核参数的初始化(针对不同应用如数据库或web),以及文件系统格式的标准化。
三、目录标准(分区)
服务分区目录 器类型 空间 备注 实体/boot 机 /swap 200M 启动分区 内存(16G交换分区,内存大于16G的,一下)X2 交换分区大小与内存大小一致 / 40G 系统根分区 /home 10G 系统用户目录 /var 10G 系统var目录 /app(非数所有剩余空非数据库的数据资源目录 据库) 间 /data(数所有剩余空数据库的数据资源目录 据库) 间 虚拟/ 机
30G 直接自动分区 四、应用程序(中间件的版本,即目录结构)
中间件名称 版本 备注 apache 无 PHP 无 nginx
无 五、新应用上线的标准
web服务器:
数据 存放目录 备注 容器/apps/product/ 每个服务器上必须只存运行在一个应用或应用容器(相同的,可以存在冷备) (jboss、tomcat、jdk) 备份数据 /apps/backup 生产代码目录禁止放备份或其他垃圾文件 脚本 /opt/bin /opt/bin/crontab 下存放所有加入计划任务的(所有用户),/opt/bin/app 下放置涉及到应用的脚本 ,/opt/bin/other 下放置其他脚步 用户家目/home/user 录(除root) 环境变量必须在用户的bash里设定,无重要需求不修改系统层的环境变量。 Web系统上线所需脚本:
脚本位置 脚本名字 脚本内容 用途 /opt/bin/crontab 见尾部备切割并归档nohup日志注 的 切割并归档access日志的 时间同步的 六、代码上线标准
目录 文件类型 权限 应用启动代码更新用户 用户 /apps/product/txxx 代码目录(不可变读、执行 文件) 读、写、执行 /apps/logs 可变文件目录(如读、写、执读写 log) 行 /apps/share 存放随机生产的读、写、 文件 读 /apps/data 存放临时文件 读、写 读 注:
代码上线标准:每次代码上线开发人员本地必须保留版本库(与生成上保持一致),上线完成后验证本地与生产的代码是否一致。
七、服务器上架标准
服务器上线需确认的基本信息:
所需确认内容 确认结果 确认时间 机柜电量 确认是否合规 服务器到机房之前 网关、本机及本机及网管ip必须未被使用,必须在插网线网管ip 网关必须是网络同事确认过的 之前确认 验证网管ip、用户名和密码(统上线离开机房一的)是否正确及是否可连接 之前 服务器ip 必须贴在服务器明显位置 必须在加电之前确认 初始化脚本 确认初始化脚本是否执行成功 插网线之前确认 资产列表 将设备信息添加到公司资产列上架后一周内 表里去 HQAGENT(占安装及运行正常 无) 业务正式上线前及上架后一周内
备注(初始化脚本内容):
因篇幅问题不能全部显示,请点此查看更多更全内容