标准化运维

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了标准化运维相关的知识,希望对你有一定的参考价值。

标准化运维

一、服务器安装标准(基于VM-EXSI进行服务器资源管理):

1、web服务器:

        安装标准: 系统:centos6.6,为了环境纯净必须选择 basic server 安装

        分区:/boot-200M、swap-6G、其余均给 / 目录

        文件系统:ext4

2、DB、cache服务器(mysql):

        安装标准: 系统:centos6.6,为了环境纯净必须选择 basic server 安装

        分区:/boot-200M、swap-6G、其余均给 / 目录

        文件系统:XFS

       (内网测试环境基于exsi虚拟机,做好快照,且不考虑raid)

 

二、服务器具体部署流程:

1、建立服务器帐号,避免直接使用root权限。

        研发帐号:

        统一增加研发应用帐号linux用户 appuser:appuser 主目录在/home/appuser

        sudo su - ; su - appuser 切换到appuser用户,修改crontab(crontab -e)

        数据库帐号:

        增加数据库帐号linux用户 mysql:mysql 主目录 /home/mysql

        允许:sudo su -切换到root权限,启动mysql权限(cp xxx /etc/init.d/mysqld; chmod -R 700 /etc/init.d/mysqld; chkconfig --add mysqld;

        chkconfig mysqld on; service mysqld start)

        sudo su - ; su - mysql 切换到mysql用户,修改crontab(crontab -e)

        (内网可以允许不禁用直接登录root,但是相关进程不能用root启动,避免之后标准化部署脚本从内网到外面产生权限问题

            所有web项目都以appuser启动,db用mysql账户启动)

2、关闭selinux、关闭iptables

        > /etc/sysconfig/selinux

        setenforce 0

        echo ‘SELINUX=disabled‘ >> /etc/sysconfig/selinux

        echo ‘SELINUXTYPE=targeted‘ >> /etc/sysconfig/selinux

3、统一创建计划任务目录、包放置目录。

        mkdir -p /data/cron (统一计划任务放置点)
        mkdir -p /data/source (统一文件包放置点)

4、统一yum扩展源地址包,初始化部署服务器时先全部update

        yum -y install wget

        wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

        rpm -ivh epel-release-6-8.noarch.rpm

        rm -rf epel-release-6-8.noarch.rpm

        yum -y update

5、服务器时间同步

        CTfile=/tmp/crontab.${USER}

        CTstr="*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1"

        /usr/bin/crontab -l > ${CTfile}

        echo "" >> ${CTfile}

        echo "${CTstr}" >> ${CTfile}

        /usr/bin/crontab ${CTfile}

        rm -rf ${CTfile}

6、优化IO调试器
        for sd in `cd /dev/ && ls sd?`

        do

        echo "" >> /etc/rc.local

        echo "echo \"deadline\" > /sys/block/${sd}/queue/scheduler" >> /etc/rc.local

        done

7、为历史命令加上时间

        sed -i ‘/HISTTIMEFORMAT/d‘ /etc/profile

        echo ‘HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "‘ >> /etc/profile

 

 三、服务器统一路径管理

        DB数据库服务器(如DB):

        /data/3306下目录所有者mysql:mysql(如果多实例,目录按端口创建,/data/{port},如/data/3307, /data/3308)

        /etc/my.cnf 文件所有者mysql:mysql

        web容器服务器(如tomcat):

        启动关闭脚本:/data/deploy-script下目录所有者appuser:appuser

       日志路径: /data/httplogs下目录所有者appuser:appuser

        所有相关资源:/data/tomcat下目录所有者appuser:appuser

        tomcat-pid:/data/ tomcat-run-pid下目录所有者appuser:appuser

        tomcat启动关闭主目录:/data/ webapps下目录所有者appuser:appuser

        cache服务器(如redis):

        /data/redis/下目录所有者appuser:appuser

       (注:所有运维批量化部署脚本届时都有我整理后提供,结合以上路径形成统一标准,结合自动化部署提高效率,减少人为操作失误。)

 

四、内网、测试环境项目持续集成与发布流程

        变更管理:利用svn+jenkins+shell的方式进行项目管理控制,与运维一键发布。

        变更流程:开发环境-qa环境-预发布环境-线上生产环境

        所有过程由SVN实行版本控制,统一代码管理,做到多版本分支及合并,并实时备份,准备回滚。

        利用jenkins结合svn对各个环境自动高效准确持续的软件版本发布/测试项目

        监控外部调用执行的工作,准确定位构建中的错误信息,快速准确变更部署

        大致发布流程:

  •         开发环境发布 - 研发介入

  •         Qa环境发布 - 研发、测试组介入

  •         预发布环境 - 运维进行发布后测试组回归测试

  •         正式环境 - 运维进行发布


参考博文:http://www.cnblogs.com/Javame/p/6018312.html

以上是关于标准化运维的主要内容,如果未能解决你的问题,请参考以下文章

标准化运维

智能运维 | 为何说自动化运维三大要素是标准化工程化和智能化?

服务器运维标准化

如何做好金融行业自动化运维的规范化标准化?

企业标准化运维权限管理实施方案

系统运维标准化制定(待完善)