知识库

标准化实施手册及常见错误


部署实施规范(总则)

<p>[部署实施规范--总则2021_06_15.docx](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0316305975f0e8fea734febbc42969f5">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0316305975f0e8fea734febbc42969f5</a> &quot;[瑞成部署实施规范--总则2021_06_15.docx&quot;)</p> <h2>部署实施规范(总则)</h2> <h3>1.目的和范围</h3> <p>本规范是为了配合具体项目部署规范分册文件的编写所给出的规范总则,目的是在各项目编写部署实施规范时有据可依、统一部署规范和标准。 编写各项目部署实施规范文件的相关人员通过本规范的学习,结合各项目的具体情况,编写出准确有效的部署实施规范,更有效地保证部署实施的顺利完成。</p> <h3>2.项目规范</h3> <h4>2.1高可用架构拓扑图</h4> <h5>2.1.1传统架构单应用高可用部署实例:</h5> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d96e1f7453601ac593c248bc38589697" alt="" /> <strong>负载均衡高可用</strong>:通过keepalived构建nginx负载均衡集群,可实现虚拟IP根据服务器状态实现故障切换 <strong>web应用高可用</strong>:通过nginx 集群实现四层的负载均衡,建议使用缓存数据库,存储会话,防止session丢失 <strong>数据库高可用</strong>:mysql构建MHA集群(一台Master,两台Slave节点,Master为写入节点,其余两台为写入节点,可实现故障切换);金仓数据库构建高可用集群(最小为两个节点,一主一备,可实现故障切换); <strong>文件服务器高可用</strong>:通过OSS或者高可用的NAS+高可用RIAD组策略来保证文件的高可用性。</p> <table> <thead> <tr> <th>&lt;center&gt;功能区&lt;/center&gt;</th> <th>&lt;center&gt;服务器数量&lt;/center&gt;</th> <th>&lt;center&gt;备注&lt;/center&gt;</th> </tr> </thead> <tbody> <tr> <td>&lt;center&gt;负载均衡集群&lt;/center&gt;</td> <td>&lt;center&gt;至少2台&lt;/center&gt;</td> <td></td> </tr> <tr> <td>&lt;center&gt;web应用服务器&lt;/center&gt;</td> <td>&lt;center&gt;至少2台&lt;/center&gt;</td> <td></td> </tr> <tr> <td>&lt;center&gt;数据库集群&lt;/center&gt;</td> <td>&lt;center&gt;根据不同数据库类型不同,情况可能不一样,至少2台&lt;/center&gt;</td> <td></td> </tr> <tr> <td>&lt;center&gt;文件服务服务器&lt;/center&gt;</td> <td>&lt;center&gt;高可用NAS系统一套或者OSS存储&lt;/center&gt;</td> <td></td> </tr> <tr> <td>&lt;center&gt;总计&lt;/center&gt;</td> <td>&lt;center&gt;服务器6台+高可用NAS系统一套或者OSS存储&lt;/center&gt;</td> <td></td> <td></td> </tr> </tbody> </table> <h5>2.1.2分布式架构高可用部署拓扑图(基于zookeeper+dubbo)</h5> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/8b080b05df9689e9edf19f120dee4bf9" alt="" /> <strong>负载均衡高可用</strong>:通过keepalived构建nginx负载均衡集群,可实现虚拟IP根据服务器状态实现故障切换 <strong>web应用访问高可用</strong>:通过nginx 集群实现四层的负载均衡,建议使用缓存数据库,存储会话,防止session丢失; zookeeper注册中心高可用:多服务器(大于等于5)构成zookeeper集群 <strong>数据库高可用</strong>:mysql构建MHA集群(一台Master,两台Slave节点,Master为写入节点,其余两台为写入节点,可实现故障切换);金仓数据库构建高可用集群(最小为两个节点,一主一备,可实现故障切换)。其他数据库服务器数量以厂家要求为准 <strong>文件服务器高可用</strong>:通过OSS或者高可用的NAS+高可用RIAD组策略来保证文件的高可用性。</p> <table> <thead> <tr> <th style="text-align: center;">&lt;center&gt;功能区&lt;/center&gt;</th> <th style="text-align: center;">&lt;center&gt;服务器数量&lt;/center&gt;</th> <th style="text-align: center;">&lt;center&gt;备注&lt;/center&gt;</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">&lt;center&gt;负载均衡集群&lt;/center&gt;</td> <td style="text-align: center;">&lt;center&gt;至少2台&lt;/center&gt;</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">&lt;center&gt;web应用服务器&lt;/center&gt;</td> <td style="text-align: center;">&lt;center&gt;至少4台&lt;/center&gt;(2台consumer、2台provider)&lt;/center&gt;</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">&lt;center&gt;zookeeper集群&lt;/center&gt;</td> <td style="text-align: center;">&lt;center&gt;至少5台&lt;/center&gt;</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">&lt;center&gt;数据库集群&lt;/center&gt;</td> <td style="text-align: center;">&lt;center&gt;根据不同数据库类型不同,情况可能不一样,至少2台&lt;/center&gt;</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">&lt;center&gt;文件服务服务器&lt;/center&gt;</td> <td style="text-align: center;">&lt;center&gt;高可用NAS系统一套或者OSS存储&lt;/center&gt;</td> <td style="text-align: center;"></td> <td></td> </tr> </tbody> </table> <h4>2.2操作系统信息</h4> <p>本规范围绕三类操作系统( windows操作系统、发行版Linux操作系统和国产操作系统)进行系统版本、盘符分区、磁盘挂载点和其他信息规范。 各项目需严格按照此规范表格制定各项目部署实施规范手册。具体见下表所示。</p> <table> <thead> <tr> <th style="text-align: center;">操作系统类别</th> <th style="text-align: center;">操作系统版本</th> <th style="text-align: center;">盘符或分区规定</th> <th style="text-align: center;">磁盘挂载点</th> <th style="text-align: center;">备注</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">Windows 操作系统</td> <td style="text-align: center;">Windows Server 2012 R2</td> <td style="text-align: center;">至少有两个磁盘分区:C盘和D盘</td> <td style="text-align: center;">至少有两个磁盘分区:C盘和D盘</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">Linux操作系统</td> <td style="text-align: center;">Centos 7</td> <td style="text-align: center;">分区选择默认分区</td> <td style="text-align: center;">初始磁盘挂载在根分区下;数据盘挂载在 /risen目录</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">国产操作系统</td> <td style="text-align: center;">银河麒麟</td> <td style="text-align: center;">分区选择默认分区</td> <td style="text-align: center;">初始磁盘挂载在根分区下;数据盘挂载在 /risen目录</td> <td style="text-align: center;">国产操作系统具体版本号以商务采购为准</td> </tr> <tr> <td style="text-align: center;">国产操作系统</td> <td style="text-align: center;">中标麒麟</td> <td style="text-align: center;">分区选择默认分区</td> <td style="text-align: center;">初始磁盘挂载在根分区下;数据盘挂载在 /risen目录</td> <td style="text-align: center;">国产操作系统具体版本号以商务采购为准</td> </tr> </tbody> </table> <p>除上表所列规范内容外,在各项目的部署实施规范中,还需要提供包括但不限于如下硬件信息:<code>CPU架构、CPU数量、CPU总核数、内存大小、存储磁盘种类和存储磁盘大小</code>。</p> <h4>2.3应用环境规范</h4> <p>本章内容主要描述JDK、中间件、数据库等基础环境应用在各种操作系统的部署实施规范 [应用环境规范表.xlsx](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/f27c9b25f386fc66b3dc10f2073dd7ad">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/f27c9b25f386fc66b3dc10f2073dd7ad</a> &quot;[应用实施规范.xlsx&quot;) 各项目需严格按照此规范表格制定各项目部署实施规范手册。 具体安装步骤和标准版本下载地址详见附件: 《杭州瑞成中间件安装参考手册》 《杭州瑞成DB安装参考手册》</p> <h4>2.4资源存储路径规范</h4> <h5>2.4.1应用数据存储路径</h5> <p>各项目依据此路径进行应用资源存储路径配置。由公司平台项目后台配合决定。</p> <table> <thead> <tr> <th style="text-align: center;">系统类型</th> <th style="text-align: center;">路径</th> <th style="text-align: center;">描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: center;">Win系列</td> <td style="text-align: center;">D:/RESOURCE_ROOT/ATTACHMENT</td> <td style="text-align: center;"></td> </tr> <tr> <td style="text-align: center;">Linux系列</td> <td style="text-align: center;">/risen/data/RESOURCE_ROOT</td> <td style="text-align: center;"></td> <td></td> </tr> </tbody> </table> <h5>2.4.2其他目录规范</h5> <p>本章主要描述个类型文件上传路径及命名规范 [其他目录规范.xlsx](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/5f50fd50588696db7c77f57400a03f87">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/5f50fd50588696db7c77f57400a03f87</a> &quot;[其他目录规范.xlsx&quot;) 各项目需严格按照此规范表格制定各项目部署实施规范手册</p> <h4>2.5数据库备份还原策略</h4> <p>以下所有具体操作步骤和脚本下载地址详见附件: 《杭州瑞成DB安装参考手册》</p> <h5>2.5.1 数据库本地备份策略</h5> <p>将数据库备份到本地目录/risen/data/dbdata目录下,使用预先写好的备份脚本和定时任务进行自动备份(按需设置备份频率和保存的备份数量)。 Linux系统备份脚本:[Mysql.sh](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/626d2c6377992c08d30c573d4459fa21">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/626d2c6377992c08d30c573d4459fa21</a> &quot;[mysql.sh&quot;)、[Kingbase.sh](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0f5e7fcfac3d359a5afefa3db611dc26">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0f5e7fcfac3d359a5afefa3db611dc26</a> &quot;[kingbase.sh&quot;)、[Oracle.sh](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/51e473e4b93f1942d607f94b774f2f6a">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/51e473e4b93f1942d607f94b774f2f6a</a> &quot;[oracle.sh&quot;) Windows系统备份脚本:[Oracle.bat](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/ea818f344a5204cadd8dbb536747f7cd">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/ea818f344a5204cadd8dbb536747f7cd</a> &quot;[oracle.bat&quot;)、[Mysql.bat](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0289eea5e0f169255fd7f3d5403aa006">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/0289eea5e0f169255fd7f3d5403aa006</a> &quot;[mysql.bat&quot;) 备份时间:每天凌晨0点 备份频率:每天全库备份 保存时间:保留15天</p> <h5>2.5.2 数据库异地备份策略</h5> <p>在本地备份的基础上,利用定时脚本将备份好的备份文件备份到公司存储服务器或者由客户提供的备份服务器。 点击下载增量同步脚本:[rsync.sh](<a href="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/dfbcd6f11c9f8d2be93a3c91ebe88829">http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/dfbcd6f11c9f8d2be93a3c91ebe88829</a> &quot;[rsync.sh&quot;) 使用脚本须修改一下内容: <img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/27b2063947bf02d340030c3efa69827c" alt="" /></p> <pre><code class="language-shell">1. 适用范围:linux操作系统,服务器安装rsync服务 如若没有rsync命令,请先执行安装命令: yum install -y rsync或者apt-get install -y rsync 2. 服务器免密操作 &amp;gt;首先在备份服务器执行生成公钥:ssh-keygen -t rsa -b 2048(默认回车即可) &amp;gt;root免密公钥拷贝:ssh-copy-id -p 6690 root@192.168.5.163(回车之后需输入源服务器root密码) 注意:-p 6690是ssh端口,默认22可不写,192.168.5.163源服务器ip,其他不变 3. 将rsync脚本放置/risen/data/sh目录下,赋予执行权限: chmod +x /risen/data/sh/rsync.sh 4. 设置定时任务crontab(备份服务器设置) 执行crontab -e,添加以下内容 #每天凌晨1点增量同步 00 1 * * * sh /risen/data/sh/rsync.sh #每周六凌晨2点清空同步日志文件 00 2 * * 6 echo &amp;quot; &amp;quot; &amp;gt;/risen/data/sync/sync.log :wq保存退出 5. 查看当前用户下设置的定时任务:crontab -l</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/e46df2374ebbdfaa1a342c8aad53969b" alt="" /></p> <h5>2.5.3 数据库还原策略</h5> <p>在数据库库出现误删,或其他未知原因,线上业务或重要数据无法恢复时,为不影响系统使用,需要将数据库还原到上一个最新的备份,操作步骤如下: (1)将故障数据库进行备份或者改名,用以可用数据恢复和故障分析。 (2)将最新的数据库还原到数据库,重启应用,验证线上业务是否可用。 (3)将故障数据库还原,进行分析或者线上新业务数据恢复,由项目负责人确认数据库丢失情况和用户进行确认后,再次启用项目。</p> <h4>2.6账户密码规范</h4> <p>本章内容主要是为了规范账户密码的实施规范,避免弱密码漏洞的出现。 适用对象: 1.服务器账户密码,特别是管理员账户 2.数据库账户及密码,特别是管理员账户 3.应用系统admin管理员账户及密码 命名规范要求:</p> <ul> <li>密码长度不得少于8位。</li> <li>包含以下四类字符中的三类字符: 英文大写字母(A 到 Z) 英文小写字母(a 到 z) 个基本数字(0 到 9) 非特殊字符(例如 !、$、#、%)</li> <li>数据库用户名与密码命名不得一致。</li> <li>测试数据库和正式数据库用户名不得一致。</li> </ul> <p>实施规范要求: 1.服务器、数据库、应用系统账户密码统一由专人维护管理,定期更新。 2.更新数据库、项目包前,做好备份。 3.数据库普通用户不得授予DBA管理权限。 4.应用项目包的数据库连接信息不得使用管理员root账户信息。</p> <p>附加信息: 1.Mysql修改root用户密码: alter user 'root'@'localhost' identified by ‘新密码’; 2.oracle修改用户密码: 修改SYSTEM的密码: alter user system identified by 新密码;</p>

页面列表

ITEM_HTML