1.
列清单:列出应用、依赖服务(数据库、缓存、认证)、数据量、峰值QPS与SLA。优先排序:按业务重要性、可停机窗口与复杂度分级(P0/P1/P2)。
技术评估:确认源端操作系统、CPU架构、内核版本、文件系统类型(ext4/xfs),以及使用的专有驱动或内核模块,标注潜在不兼容项。
2.
策略对比:热迁移(实时复制 + 负载切换)、冷迁移(停机同步)、增量迁移(初始全量+增量同步)。根据停机窗口与数据一致性要求选型。
建议组合:生产数据库采用主从复制(如MySQL replica/GTID、或使用广达云提供的DB迁移服务),文件与二进制使用rsync增量+快照结合。
3.
网络设计:在广达云创建VPC、子网、路由表,规划内网IP与NAT/弹性IP、负载均衡器。保证源端能与目的端建立稳定传输通道(VPN或专线)。
安全组与权限:开放必要端口(SSH, DB端口等),限制来源IP,预置IAM/密钥,准备密钥轮换计划与访问日志。测试连通性:ping、traceroute、telnet/ nc。
4.
盘类型与性能:选用广达云块存储(SSD/HDD)并根据IOPS需要选择规格,提前挂载并格式化(mkfs.xfs 或 mkfs.ext4),设置fstab确保重启自动挂载。
快照策略:迁移前对源端做完整快照或备份,目的端在正式切换前也做快照作为回滚点。确认快照恢复流程并演练一次。
5.
全量同步:在低峰窗口使用rsync:rsync -azP --delete --inplace /data/ user@target:/data/。建议先做一次全量,记录传输速度与耗时。
增量同步:在切换日前使用cron定期增量rsync,最终切换时再做一次短时停机的最后同步以保证一致性。
6.
准备复制:在源库开启binlog,配置复制账号并记录当前binlog位置(SHOW MASTER STATUS;)。在目的库创建空库导入初始全量(mysqldump --single-transaction --master-data=2)。
启动从库:在目的库配置CHANGE MASTER TO MASTER_HOST='源IP', MASTER_USER='replica', MASTER_PASSWORD='pw', MASTER_LOG_FILE='file', MASTER_LOG_POS=pos; START SLAVE; 验证:SHOW SLAVE STATUS\\G,确保 Seconds_Behind_Master 接近0。
7.
环境复刻:在广达云按相同或兼容的包版本复建运行时(Java/Python/Node),记录包管理器锁版本(requirements.txt、package-lock、pom.xml)。
功能与回归测试:执行单元、集成、端到端测试用例。注意认证、第三方API与定时任务的环境变量及网络访问权限。
8.
基线采集:在源端与目的端分别采集CPU、内存、磁盘IO、网络延迟、DB查询响应时间作为基线(使用top/iostat/vmstat、perf、netstat)。
压测方案:用ab、wrk、sysbench等工具在测试环境模拟生产流量,重点验证连接池、负载均衡、网络带宽与磁盘IO瓶颈,调整实例规格或参数。
9.
切换流程:降低DNS TTL,阻止新写入(置只读或在应用层短暂停写),做最后一次增量同步,验证数据一致性后将流量指向广达云实例或调整负载均衡后端。
回滚准备:确保快照/备份可在最短时间内恢复;记录所有变更点(安全组、路由、DNS、DB主从切换命令)并演练回滚步骤。
10.
答:先用nc/telnet测试目标端口连通性(nc -zv target_ip port),再用curl或应用层协议(HTTP、gRPC)进行请求校验,检查MTU、路由和防火墙策略;若跨地域建议做带宽与延时测试(iperf3)。
11.
答:常见问题包括库/依赖版本不一致、CPU架构差异、内核参数差异、SELinux/AppArmor限制或字符编码问题。定位靠日志、strace、ldd(检查依赖动态库),并对比 /proc/version、ulimit 与 sysctl 配置,逐项修复后重新测试。
12.
答:上线后配备监控(广达云自带或Prometheus+Grafana)监控指标(应用响应、错误率、DB延迟、磁盘IO),设置告警阈值;根据监控数据调整实例类型、水平扩展、连接池和缓存策略,并定期做成本与性能优化。