金融行业数据中心的在线迁移
如果无法正常显示,请先停止浏览器的去广告插件。
1. 金融行业数据中心
在线迁移
陈晓宇 / 宜信运维总监
2.
3. 目录
•
•
•
•
•
数据中心迁移背景
搬迁前准备
具体搬迁方案
遇到问题和经验总结
下阶段数据中心建设规划
4. 一、数据中心迁移背景
5. 数据中心搬迁背景
降本增效
网络架构优化
6. 为什么我们没有直接上云
• 不都说上云便宜吗?
• 金融行业特殊性
7. 迁移机房最大的挑战
资源华容道
在线业务不受影响
(金融行业监管)
涉及面广
8. 二、搬迁前准备
9. 资源梳理和整改
• 应用调用关系梳理(服务的关系是个
有向无环图)
• 防火墙规则梳理
• 历史遗留资源(包含数据、容器、域
名)清理
• 域名整改
• 出口IP三方白名单添加 、三方专线
• 准备迁移备机
10. 制定迁移计划
• 精确到每一台设备的搬迁时间
• 制定每种中间件迁移方案
• 与每个研发团队沟通搬迁计划
11. 三、具体搬迁方案
12. 辅助搬迁的神器:宜信容器云平台
基于开源项目构建的
一套集成资源管理
(物理机、虚拟机、
容器、存储)、
DNS、Nginx、代码
发布CICD、中间件
一键部署以及监控和
告警的平台
13. 容器在线迁移
•
•
•
•
•
Deployment
Service
Configmap
PV/PVC
Nginx
混跑过程中服务变更
怎么办?
14. 从flannel 到 calico
• 是否应该把容器的IP 暴露出去 ?
• 新老机房的容器网络如何打通?
Calico rr 模式
15. DNS是先迁还是后迁
宜信容器云
域名解析
域名解析
老机房
新机房
域名解析本地化
16. Nginx迁移
宜信容器云
客户端
老机房
新机房
Nginx配置同步
批量域名替换
服务端
17. 数据库中间件
主从切换 + 域名切换
主库
从库
从库
mysql-master.paas.idc mysql-slave1.paas.idc mysql-slave2.paas.idc
老机房
新机房
18. 分布式中间
添加节点 + 域名切换
zk1 zk2 zk3
zk1.paas.idc zk2.paas.idc zk3.paas.idc
zk4
老机房
新机房
注意:client和ZooKeeper server之间是TCP长连接
zk5
zk6
19. 对象存储迁移
• 写:新集群
• 读:优先新集群,如果文件不存在
切换到老集群
• 流拷贝 + 多线程加快迁移速度
20. 大数据集群迁移
•
•
•
•
•
•
•
•
•
•
Hadoop
Spark
Hive
Flink
Kudu
Datax
Sqoop
Presto
Clickhouse
HBase
大容量
小容量
小容量
大容量
21. 四、遇到问题和经验总结
22. 大数据延迟
网关切换
23. 裸光延迟与毛刺
高IO的应用和中间件一起迁移,只允许HTTP请求走裸光
24. 其他网络问题
1、防火墙性能问题
2、不同厂商设备,生成树成环,导致NAS网络中断,统一stp版本
3、线材利旧导致网络错误包
25. Redis哨兵只读
• Redis哨兵模式切换后,服务日志依然报超
时/只读
redis.clients.jedis.exceptions.JedisDataExce
ption: READONLY You can't write against a
read only slave.
jedis版本升级到>=2.9.3 (jar包扫描)
26. 谨慎合并数据库
• 数据量小,并非负载低
27. 虚拟机三方遗留系统
业务要求所有配置必须保
持原状
遗留系统
• 网络二层打通,固定IP
和MAC
• 虚拟机在线迁移
kvm虚拟机
192.168.10.10
xx:xx:xx:xx:xx:xx
二层打通
28. 解决Nginx长链接造成的问题
Nginx长链接一直无法释放,运维
添加定时脚本
tcpkill -i any -9 host 10.0.x.x
29. 经验总结
• 打造一个完善的基础设施是一个企
业长期的积累过程
• 云原生统一规范,让资源快速迁移
成可能
• 备用裸光的必要性
• 不确定的防火墙规则先放开
• 系统分级和故障优先级处理
30. 五、下阶段数据中心建设规划
31. 宜信私有云平台
• 将容器云进阶到私有云
• 中间件管理
• 基础资源、中间件、应用
统一监控告警
• 多云管理
32. 混合云
• 为啥需要混合云
金融行业SLA要求
• 混合云实施步骤
专线拉通
数据备份
测试业务部署
生产业务灰度
双活
故障切换
33.