您好,欢迎来到汇智旅游网。
搜索
您的当前位置:首页linux_运维标准化方案外_v1 4

linux_运维标准化方案外_v1 4

来源:汇智旅游网
Linux运维标准化方案

版本号 V1.0 V1.4

版本日期 2013.03.12 2013.07.15 修改人 李志明 李志明 修改章节 修改记录 创建 修改 目录

Linux运维标准化方案 ..................................................................................................................... 1 1 内部DNS规范 .......................................................................................................................... 2

1.1 内部DNS简介 ............................................................................................................. 2 1.2 命名规范 ...................................................................................................................... 2 1.3 配置解析DNS规范流程 ............................................................................................. 2 2 操作系统配置标准 ................................................................................................................... 2

2.1 操作系统安装标准 ...................................................................................................... 2 2.2 主机名标准 .................................................................................................................. 5 2.3 操作系统网络标准 ...................................................................................................... 5 2.4 操作系统权限标准 ...................................................................................................... 5 2.5 操作系统环境配置标准 .............................................................................................. 5 3 WEB服务器标准化 .................................................................................................................. 7

3.1 WEB server配置标准 .................................................................................................. 7 3.2 负载均衡标准 .............................................................................................................. 8 3.3 以下软件禁止研发同事安装、使用 .......................................................................... 9 4 JAVA应用标准化 ...................................................................................................................... 9

3.1权限说明............................................................................................................................. 9 3.2 目录使用说明 .................................................................................................................... 9 3.3 单个Tomcat实例控制脚本 ............................................................................................ 10 5 配置文件敏感信息分离 ......................................................................................................... 10 6 预发布机制 ............................................................................................................................. 10

1

1 内部DNS规范

1.1 内部DNS简介

内部DNS用于在IDC机房提供DNS解析服务,只限于为部署在IDC内部的应用提供服务; 可为服务器的主机名、内部域名提供DNS解析;

内部域名是指应用名,具体命名规范请参考“1.2 命名规范”;

如果应用需要提供对解析,需要申请域名,并在应用服务器上为应用做别名;

1.2 命名规范

域名:从域名可以确定机器用途; 数据库服务器:

pekingr1.ms.jd.local对应peking这个sqlserver数据库的只读库集群之一,解析到虚拟IP。 pekingr1-01.ms.jd.local对应到上面数据库集群中间的一台机器,解析到真实IP。 peking:数据库名;

r:读,代表只读库,如果是w代表可写库;r1代表有多个这样的集群,这是其中的一个集群。

ms--sqlserver my—mysql mg-mongo oc—oracle

应用服务器:

app.pop.jd.local pop部门的app这个应用,解析到虚拟IP。

1.3 配置解析DNS规范流程

应用需要做对做DNS解析时,请参考相关流程。

DNS是指需要对用户(包括公司内以及普通用户)提供服务

内网DNS是只对IDC内部应用间调用提供DNS解析,不对任何用户提供解析服务。 注:如果即需要机房内部应用间调用,也需要对用户提供服务,需要同时申请内、DNS。

2 操作系统配置标准

2.1 操作系统安装标准

应用服务器(如有变化,另行通知)

1. 操作系统为CentOS 6.3 X86_

2

2. 安装的相关Packages为

a)

%packages --ignoremissing @additional-devel @base

@chinese-support @client-mgmt-tools @compat-libraries @console-internet @core

@debugging @development @dial-up

@directory-client @ftp-server

@hardware-monitoring @ha

@large-systems @legacy-unix @load-balancer

@network-file-system-client @network-tools @performance @perl-runtime

@system-management-snmp @server-platform

@server-platform-devel @server-policy

@system-admin-tools @ruby-runtime libXinerama-devel xorg-x11-proto-devel startup-notification-devel libgnomeui-devel libbonobo-devel libXau-devel libgcrypt-devel popt-devel libXrandr-devel libxslt-devel libglade2-devel gnutls-devel mtools pax

3

oddjob sgpio edac-utils glibc-utils gdb-gdbserver lslk

flightrecorder gcc-gnat cmake imake

compat-gcc-34 gcc-java

compat-gcc-34-g77 jpackage-utils gcc-objc gcc-objc++

compat-gcc-34-c++ python-docs pptp

certmonger pam_krb5

krb5-workstation xferstats edac-utils lm_sensors

python-repoze-what-quickstart talk-server telnet

tcp_wrappers nmap sg3_utils perl-LDAP

perl-DBD-SQLite perl-Date-Calc perl-suidperl perl-Date-Manip perl-Mozilla-LDAP perl-Frontier-RPC net-snmp-python net-snmp-perl symlinks rrdtool pexpect screen

4

ftp tree

2.2 主机名标准

2.3 操作系统网络标准

路由IP、配置 如果需要连接外地IDC、各分公司网络,需要运维内网组提供路由网关 时间同步 IDC机房内部配置有NTP时间服务器 时间服务器ntp.jd.local

2.4 操作系统权限标准

1、所有线上Linux服务器禁使用root用户登录服务器;禁止使用任何用户跟其他机器建立ssh信任; 2、禁止使用root用户启动所有应用级程序,所有应用级程序全部使用admin普通用户程序;

2.5 操作系统环境配置标准

1、Linux系统分区说明(如需要修改,请提前与运维沟通)

a) 禁止在系统分区下有任何程序的运行,以及禁止数据、日志等写入系统分区 b) / 20G

swap 16G /export 其余所有

2、目录说明

a) /export/App 应用程序部署目录 b) /export/Logs 应用日志部署目录 c) /export/Data 应用数据目录

d) /export/servers Nginx等容器级程序部署目录 e) /export/Domains Tomcat的实例部署目录 f) /export/Shell 应用启动、重启脚本 g) /export/Config 应用程序配置文件存放目录

3、 日志保留说明: 系统上所有形式的日志(包括程序日志、Tomcat控制台日志、Nginx日志),如无特殊说明,全部保留7天。

5

4、 系统编码(如需要修改,请提前与运维沟通) a) LANG=zh_CN.UTF-8

LC_CTYPE=\"zh_CN.UTF-8\" LC_NUMERIC=\"zh_CN.UTF-8\" LC_TIME=\"zh_CN.UTF-8\" LC_COLLATE=\"zh_CN.UTF-8\" LC_MONETARY=\"zh_CN.UTF-8\" LC_MESSAGES=\"zh_CN.UTF-8\" LC_PAPER=\"zh_CN.UTF-8\" LC_NAME=\"zh_CN.UTF-8\" LC_ADDRESS=\"zh_CN.UTF-8\" LC_TELEPHONE=\"zh_CN.UTF-8\" LC_MEASUREMENT=\"zh_CN.UTF-8\" LC_IDENTIFICATION=\"zh_CN.UTF-8\"

5、Linux系统优化标准(如需要修改,请提前与运维沟通) a) /etc/sysctl.conf

kernel.shmall = 4294967296 net.core.somaxconn = 32768

net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_timestamps = 0 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 0 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800

net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_keepalive_time = 100 net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 20000

b) ulimit

在/etc/security/limits.d目录中,添加配置

i. 90-nproc.conf用于配置nproc

* soft nproc 204800 * hard nproc 307200 ii. 90-nofile.conf用于配置nofile

* soft nofile 102400

6

* hard nofile 204800 iii.

90-stack.conf 用于配置Stack * soft stack * hard stack

10240

20480

3 WEB服务器标准化

3.1 WEB server配置标准

Apache已经被淘汰,运维全部默认使用Jengined,版本1.2.7稳定版;

Jengined使用的1.2.7稳定版Nginx,并加入了Tengine、openresty等特色,默认编译进了很多常用模块,以及支持Lua语言。 Jengined环境说明如下:

i. 已经关闭keepalived(如果需要开启,请在项目部署文档中说明) ii. 配置说明如下: 1. Configure参数

./nginx -V

nginx version: JDWS/1.2.7 TLS SNI support enabled configure arguments:

--prefix=/export/servers/jengined-1.2.7.1/nginx --add-module=../ngx_devel_kit-0.2.18 --add-module=../echo-nginx-module-0.42 --add-module=../xss-nginx-module-0.03rc9 --add-module=../ngx_coolkit-0.2rc1

--add-module=../set-misc-nginx-module-0.22rc8 --add-module=../form-input-nginx-module-0.07

--add-module=../encrypted-session-nginx-module-0.02 --add-module=../srcache-nginx-module-0.19 --add-module=../ngx_lua-0.7.16

--add-module=../headers-more-nginx-module-0.19 --add-module=../array-var-nginx-module-0.03rc1 --add-module=../memc-nginx-module-0.13rc3 --add-module=../redis2-nginx-module-0.09 --add-module=../redis-nginx-module-0.3.6 --add-module=../auth-request-nginx-module-0.2 --add-module=../rds-json-nginx-module-0.12rc10 --add-module=../rds-csv-nginx-module-0.05rc2

--add-module=../session-sticky-tengine-module-1.4.4

--add-module=../murmurhash-nginx-upstream-module-0.01 --add-module=../user_agent-tengine-module-1.4.4 --add-module=../upstream-check-tengine-module-1.4.4

7

--add-module=../chunkin-nginx-module-0.23rc4 --with-ld-opt=-Wl,-rpath,/usr/local//lib --with-http_ssl_module 2. 默认的配置:

a)

server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 300m; sendfile on; tcp_nopush on; keepalive_timeout 0; tcp_nodelay on; client_body_buffer_size 512k; fastcgi_intercept_errors on; proxy_connect_timeout 90; proxy_read_timeout 180; proxy_send_timeout 180; proxy_buffer_size 256k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; server_name_in_redirect off; proxy_hide_header X-Powered-By; b) upstream tomcat_xxx {

server 127.0.0.1:8001 weight=10 max_fails=2 fail_timeout=30s; } location / { proxy_next_upstream http_500 http_502 http_503 http_504 \\

error timeout invalid_header;

proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://tomcat_xxx; expires 1d; } c) Jengined(Nginx)禁止直接通过IP进行访问。

3.2 负载均衡标准

Jengined(Nginx)会做为反向代理,将请求按比例转发给后面的Tomcat

8

为了合理负载,禁止各项目在服务器本地写session。如果需要写session,建议将Session写在Redis或其它缓存系统中。

3.3 以下软件禁止研发同事安装、使用

Puppet Rsync

除统一监控以外的其它的监控客户端 除统一日志以外的其它的日志收集客户端

所有收集线上服务器信息、网络设备信息以及网络拓扑的客户端 所有用于性能测试、功能测试的软件 所有有安全漏洞的软件、程序

4 JAVA应用标准化

3.1权限说明

所有应用都以admin用户启动(如果有特殊要求,请提前与运维沟通)。 admin用户为受限权限,没有在应用部署目录(/export/App)写权限,只有/export/Data、/export/Logs写权限

3.2 目录使用说明

应用程序部署路径(xxx.jd.local为项目名)

i. 应用部署路径为:/export/App/xxx.jd.local,为只读权限

ii. 禁止在应用程序部署路径中写入任何数据,数据产生应写入/export/Data/xxx.jd.local c) local_policy.jar和US_export_policy.jar已经替换 d) 日志路径(禁止写入隐藏文件)

/export/Logs/xxx.jd.local 日志的格式为: LogName.log.Year-Month-Day(例:UserData.log.2013-02-28) e) 数据路径(禁止写入隐藏文件)

/export/Data/xxx.jd.local

9

3.3单个Tomcat实例控制脚本

命名tomcat_ctrl.sh 接收参数:start stop

用途:用于控制单个tomcat实例的启动与停止,并确保操作成功。 部署路径:tomcat实例的bin目录下。

5 配置文件敏感信息分离

1、 标准说明

a) 将数据库等敏感信息与普通配置信息分离,普通配置文件通过自动部署系统修改;

数据库等敏感信息的配置由运维修改

b) 发布包内包含多台机器用到的所有配置文件,应用程序根据机器载入所需配置。 2、 用途与效果

a) 研发人员在上线之前完成普通配置文件的修改,减少上线时由于配置文件修改导致

的耗时。

3、 具体目录结构

数据库 :/export/Config/xxx.jd.local/DB.conf 敏感信息:/export/Config/xxx.jd.local/Info.conf

6 预发布机制

(暂未实行) 1、 标准说明

a) 预发布机器的环境与线上环境完全一致。

b) 允许研发人员在预发布机器上,通过自动化部署系统,在任何时间内,进行有限次

数的上线、业务检查、调试与回滚。

2、 用途与效果

a) 研发人员在正式上线之前,完成业务检查与调试工作。 b) 预发布测试通过,方可触发正式上线。

c) 正式上线时不再进行业务检查与调试工作,根据匹配错误日志、测试URL判断上

线是否成功,以大幅度减少上线耗时。

10

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hzar.cn 版权所有 赣ICP备2024042791号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务