
# 正式切换
正式切换的组织、准备和角色分工同切换演练基本一致，这里不再重复介绍。切换实施时，按照正式切换Runbook执行。不同业务系统的切换方案不同，对应的切换Runbook步骤也会不同，下面Runbook切换步骤仅供参考：
1. **切换前准备和检查**
   
   正式切换前，先要按照Runbook Check List做切换前准备和检查，不同业务系统的切换Runbook准备和检查步骤会有所不同，下面步骤仅供参考：
   表1切换前准备和检查项 
   | **大类**                 | **前置工作项**         | **责任部门** | **活动**                                                            | **是否涉及** | **是否完成** |
   |:---|:---|:---|:---|:---|:---|
   | 组织和保障准备                | 确定停机切换窗口          | 企业项目经理   | 确定停机切换窗口为：X月X日X时X分开始                                              | 是        | 是        |
   | 组织和保障准备                | 确认停机公告图片和话术       | 企业项目经理   | 确认停机公告图片和话术已更新为最新版本                                               | 是        | 是        |
   | 组织和保障准备                | 通知相关人员发布官网公告      | 企业项目经理   | 邮件发送通知相关人员进行官网公告发布                                                | 是        | 是        |
   | 组织和保障准备                | 预约会议作战室           | 企业项目经理   | 会议室布置安排                                                           | 是        | 是        |
   | 组织和保障准备                | 切换相关人员通知和核对       | 企业项目经理   | 确认切换参与人员是否可以出席                                                    | 是        | 否        |
   | 组织和保障准备                | 切换相关人员通知和核对       | 企业项目经理   | 第三方配合切换当晚参与人员和联系方式确定                                              | 是        | 是        |
   | 组织和保障准备                | 切换相关人员通知和核对       | 企业项目经理   | 停服切换期间，运营中心值班人员就位                                                 | 是        | 是        |
   | 组织和保障准备                | 企业内部发送内部通知        | 企业项目经理   | 切换通知群名：XX项目切换群                                                    | 是        | 是        |
   | 组织和保障准备                | 云厂家建立后端保障团队       | 云厂家项目经理  | 云厂家建立和客户的联合切换保障团队 云厂家单独拉通后端运维和研发组建保障群 | 是        | 是        |
   | 第三方/业态影响沟通和提醒          | 第三方/业态提前通知项       | 企业项目经理   | 分别与业态沟通停机影响和应对方案                                                  | 是        | 否        |
   | 第三方/业态影响沟通和提醒          | 第三方/业态提前通知项       | 运维团队     | 对于第三方调用固定IP地址的情况，确认配置修改详细步骤                                       | 是        | 否        |
   | 环境清单核对                 | 确定发版暂停的截至日期       | 研发团队     | 确定发版暂停的截至日期                                                       | 是        | 否        |
   | 环境清单核对                 | 应用清单检查并刷新启停脚本     | 研发团队     | 研发人员Check上云应用清单                                                   | 是        | 否        |
   | 环境清单核对                 | JOB清单检查并刷新脚本      | 研发团队     | Check最新的job清单                                                     | 是        | 否        |
   | 环境清单核对                 | JOB清单检查并刷新脚本      | 研发团队     | 检查脚本中的清单是否是最新的                                                    | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 云服务基础检查项          | 运维团队     | 确认运维提供的测试wifi是否已准备就绪                                              | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 云服务基础检查项          | 运维团队     | 检查华为云专线同步带宽使用是否有超带宽的告警                                            | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 云服务基础检查项          | 运维团队     | 云厂家后端保障人员进行日常状态检查                                                 | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 云服务基础检查项          | 运维团队     | 云服务高可性检查，确认目标端云资源是否存在单AZ或单点故障问题                                   | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查华为云数据库端口是否和生产保持一致                                               | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查NTP时钟设置是否一致                                                     | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查中间件Redis数据迁移任务状态正常，无异常报错或告警（包含回退任务）                             | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查DRS-mysql数据迁移任务状态'增量迁移中'，无异常报错或告警（包含回退任务），数据动态比对任务配置完成          | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查DRS-mongodb数据迁移任务状态'增量迁移中'，无异常报错或告警（包含回退任务）                     | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 检查MySQL数据库源和目的端字符集是否一致                                            | 是        | 是        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 数据库检查项            | 数据库相关    | 数据库确认源端和目的端库用户一致                                                  | 是        | 是        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 周边系统配合检查项         | 大数据相关    | 修改大数据抽数的数据库地址为IDC备库地址                                             | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 执行脚本检查            | 运维团队     | 应用服务启动脚本放在执行机                                                     | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 执行脚本检查            | 运维团队     | 应用心跳检查脚本放在执行机                                                     | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 日志系统检查            | 运维团队     | 检查ELK日志平台，是否能承受大量应用启动时产生的大量日志                                     | 是        | 否        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 告警监控系统检查          | 运维团队     | 监控系统是否正常                                                          | 是        | 是        |
   | 环境（源端、目的端、迁移任务、执行脚本）检查 | 磁盘无用信息清理          | 运维团队     | 生产环境检查磁盘使用情况，提前执行脚本批量清理磁盘                                         | 是        | 是        |
   | 操作指导书、工具、终端和登录平台准备     | 通知全员更新到最新的Runbook | 项目经理     | 同步最新生产Runbook地址给切换全员（包含业态人员）                                      | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 相关人员准备            | 项目经理     | 人员最后一次熟悉整体切换流程以及各自操作指导                                            | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 相关人员操作权限检查        | ALL      | 人员登录操作环境检查操作权限（登录系统，OS，操作界面等）                                     | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 相关人员操作权限检查        | 测试团队     | ITSM是否可以正常登录？是否可以正常记录上云项目的问题？                                     | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 相关人员操作权限检查        | ALL      | 登录批处理任务平台后检查当天操作人员是否有操作执行器的权限                                     | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 操作终端检查            | ALL      | 具体到人，割接、演练前一晚必须确保笔记本，环境等无异常（DBA单独一根网线，提前准备好大交换机）                  | 是        | 否        |
   | 操作指导书、工具、终端和登录平台准备     | 测试客户端检查           | 测试团队     | 测试人员清理客户端以及浏览器缓存                                                  | 是        | 否        |
      
   
   

1. **Runbook切换操作**
   
   完成切换前准备和检查后，企业就可以按照Runbook中的计划和步骤进行正式切换了，每个任务都要严格按照Runbook中的操作命令进行操作，不同业务系统对应的切换Runbook步骤会有不同，下面步骤仅供参考，注意步骤顺序标号一致的表示是并行执行。
   如果批处理任务较多，切换时间窗有限，可根据优先级分批次进行启动。
   表2切换操作步骤样例 
   |                       **任务**                       | **步骤顺序** |                                                                                                                                                              **子任务**                                                                                                                                                               |
   |---|---|---|
   | 源端业务流量转发至维护公告页面                                    | 1.1      | 变更CMDB业务状态为维护中                                                                                                                                                                                                                                                                                                                     |
   | 源端业务流量转发至维护公告页面                                    | 1.2      | 外部访问流量转发至维护公告页面                                                                                                                                                                                                                                                                                                                    |
   | 停止源端定时任务                                           | 2.1      | 停止源端的定时任务                                                                                                                                                                                                                                                                                                                          |
   | 停止源端定时任务                                           | 2.1      | 停止源端的数据库定时任务                                                                                                                                                                                                                                                                                                                       |
   | 停止源端应用服务及配置中心                                      | 3.1      | 停止源端应用服务（xxx个）                                                                                                                                                                                                                                                                                                                     |
   | 停止源端应用服务及配置中心                                      | 3.1      | 停止源端配置中心                                                                                                                                                                                                                                                                                                                           |
   | 消息队列数据迁移                                           | 4.1      | 消息队列MQ数据迁移                                                                                                                                                                                                                                                                                                                         |
   | 消息队列数据迁移                                           | 4.2      | 等待\&确认kafka消费完成                                                                                                                                                                                                                                                                                                                    |
   | 确认源端的数据层数据静止                                       | 5.1      | 确认源端的redis数据静止                                                                                                                                                                                                                                                                                                                     |
   | 确认源端的数据层数据静止                                       | 5.1      | 确认源端的MySQL数据静止                                                                                                                                                                                                                                                                                                                     |
   | 确认源端的数据层数据静止                                       | 5.1      | 确认源端的MongoDB数据静止                                                                                                                                                                                                                                                                                                                   |
   | 数据一致性对比                                            | 6.1      | redis数据一致性对比、停止同步任务                                                                                                                                                                                                                                                                                                                |
   | 数据一致性对比                                            | 6.1      | MongoDB数据一致性对比、停止同步任务                                                                                                                                                                                                                                                                                                              |
   | 数据一致性对比                                            | 6.1      | MySQL 数据一致性对比、停止同步任务                                                                                                                                                                                                                                                                                                               |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改应用间访问的内部域名-》华为云上应用实例                                                                                                                                                                                                                                                                                                             |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改目的端redis的内网域名-》华为云实例IP                                                                                                                                                                                                                                                                                                           |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改目的端的MySQL的内网域名-》华为云实例IP                                                                                                                                                                                                                                                                                                          |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改目的端MongoDB的内网域名-》华为云实例IP                                                                                                                                                                                                                                                                                                         |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改目的端消息队列MQ的内网域名-》华为云实例IP                                                                                                                                                                                                                                                                                                          |
   | 修改数据层的DNS内网域名解析                                    | 7.1      | 修改目的端Kafka的内网域名-》华为云实例IP                                                                                                                                                                                                                                                                                                           |
   | 启动配置中心、定时任务调度服务、JOB注册、开启kafka消费开关                  | 8.1      | 启动配置中心                                                                                                                                                                                                                                                                                                                             |
   | 启动配置中心、定时任务调度服务、JOB注册、开启kafka消费开关                  | 8.2      | 启动定时任务调度服务                                                                                                                                                                                                                                                                                                                         |
   | 启动配置中心、定时任务调度服务、JOB注册、开启kafka消费开关                  | 8.3      | 批量发布配置中心配置（执行JOB注册）                                                                                                                                                                                                                                                                                                                |
   | 启动配置中心、定时任务调度服务、JOB注册、开启kafka消费开关                  | 8.3      | 批量发布配置中心配置（开启kafka的消费开关）                                                                                                                                                                                                                                                                                                           |
   | 启动配置中心、定时任务调度服务、JOB注册、开启kafka消费开关                  | 8.4      | 检查阿配置中心和定时任务调度服务的开关是否正确                                                                                                                                                                                                                                                                                                            |
   | 内网停机公告撤销\&启动目的端应用\&检查                              | 9.1      | 启动目标端消息队列MQ                                                                                                                                                                                                                                                                                                                        |
   | 内网停机公告撤销\&启动目的端应用\&检查                              | 9.2      | 启动目的端应用服务（xxx个服务）                                                                                                                                                                                                                                                                                                                  |
   | 内网停机公告撤销\&启动目的端应用\&检查                              | 9.3      | 心跳检查                                                                                                                                                                                                                                                                                                                               |
   | 内网停机公告撤销\&启动目的端应用\&检查                              | 9.4      | 基础业务检查                                                                                                                                                                                                                                                                                                                             |
   | 内网停机公告撤销\&启动目的端应用\&检查                              | 9.5      | 内网维护公告页面下线                                                                                                                                                                                                                                                                                                                         |
   | 启动目的端的数据库定时任务和优先级最高的定时任务）                          | 10.1     | 启动数据库定时任务                                                                                                                                                                                                                                                                                                                          |
   | 启动目的端的数据库定时任务和优先级最高的定时任务）                          | 10.1     | 启动目的端第一批批处理任务                                                                                                                                                                                                                                                                                                                      |
   | 主流程测试（P0用例）                                        | 11.1     | 主流程测试（P0用例） - 进行验证测试，确保应用程序在目标云环境中正常运行。  - 验证核心功能和关键业务流程，确保与迁移前一致。  - 监测日志和指标，确保系统运行情况正常。   |
   | 外网停机公告撤销                                           | 12.1     | 外网维护公告页面下线                                                                                                                                                                                                                                                                                                                         |
   | 启动目的端第二批批处理任务                                      | 13.1     | 启动目的端第二批批处理任务                                                                                                                                                                                                                                                                                                                      |
   | 启动目的端第二批批处理任务                                      | 13.2     | 启动目的端第二批批处理任务                                                                                                                                                                                                                                                                                                                      |
   | P1业务验证 （启动JOB后，P1用例验证） | 14.1     | 验证目的端业务功能                                                                                                                                                                                                                                                                                                                          |
   | 启动目的端第三批批处理任务                                      | 15.1     | 启动目的端第三批批处理任务                                                                                                                                                                                                                                                                                                                      |
   | 启动目的端第二批批处理任务                                      | 13.1     | 启动目的端第二批批处理任务                                                                                                                                                                                                                                                                                                                      |
      
   
   
 
