一、迁移方案总体思路
新旧系统的迁移是一个整体系统工程。迁移必须保证用户系统建设的相关要求,在迁移过程中,我们需要重点考虑几个问题:
1、数据迁移如何保障“业务中断停机时间”。
业务中断对用用户无论是生产环境还是测试环境均存在较大的恢复风险,这样的风险特别是对于时间敏感型数据还是对于数据完整性业务都是不可以接受的。我们基于这样的要求,考虑到如何将停机时间最小,能否实现0停机的建设目标?
i. 对于应用IIS和其他应用服务器来说,我们可以基于应用服务器的动态业务扩展集群方式,来实现服务器不停机环境下的增加业务节点操作,这样可以实现应用服务器“热添加”到新环境中的故障转移/负载均衡集群系统中,在部分应用服务中我们可以使用session会话复制来实现旧系统的全局环境变量和会话请求状态也迁移到新环境中来。考虑到会话复制和状态的快速实时,我们可以采用会话内存复制,考虑到会话复制和状态的安全性,我们可以采用会话数据库复制管理。
ii. 对于数据库而言,我们可以基于数据库本身自带的数据库镜像技术、数据库日志传递技术来实现各自的分库、迁移库的构建,数据库镜像技术可以让我们不但保证数据库迁移的不停机,而且还可以保证万一迁移中出现停机故障也不影响源数据库,而日志传递技术构建的迁移可以保证系统数据库迁移以异步方式进行,这样可以让我们的系统环境在网络出现故障的情况依然可以进行迁移任务窗口的正常工作。
2、迁移涉及到的除了应用、实例、数据库的操作以外,还涉及到迁移前规划、迁移后测试的完整性测试。
这些测试包括但不限于数据一致性测试、数据完整性测试、应用会话状态完整性测试、连接中断测试、数据恢复测试。只有这样才能保证迁移的安全性和有效性。
二、服务器硬件环境迁移方案
1. 迁移评估
迁移前,对迁移方案进行评估以确保迁移成功。首先需要勘察现有系统的架构和资源使用状况,评估过程必须包含以下信息和内容:
现有系统支撑的服务数量以及在服务器中的分布情况
现有物理服务器资源占用状况,包括CPU、内存、磁盘和网络连接状况,为保证迁移成功,目标虚拟机规格应不低于原物理机标准
当前的物理环境是否支持虚拟化,是否支持资源扩展,因为在迁移之前须在物理服务器上完成虚拟化
对当前的存储容量和资源利用率进行评估,需在目标系统中规划好迁移需要的存储空间。需明确现有存储如何利用,比如有些服务器是在本地磁盘上创建系统盘和用户盘,有些服务器则在本地磁盘上创建系统盘而在SAN/NAS上创建用户盘。
2. 迁移计划
通过对现有网络环境的评估,我们对现有资源利用率,服务以及系统需求非常清晰。评估后才能开始对迁移进行计划,步骤如下:
一、确定迁移步骤,包括所有服务器的迁移先后顺序,其顺序按风险的高低降序排列。
二、确定备份方案,由于现有系统会被加固,某些服务器通过虚拟化重复利用,而在虚拟化前需要清除所有的数据,因此需要对这些服务器进行备份保证服务的连续性。
三、确定并准备好迁移所需的工具,包括工具在迁移中必备的一系列功能和使用工具所需具备的网络环境。
四、在实际迁移开始之前确定额外的测试环境,该测试环境能够引导测试从而确保迁移成功。因此,测试环境需明确设计的服务器和存储数量。
五、规划网络环境,由于网络中的服务器各处不同位置,因此在迁移中需考虑到网络连接情况、数据备份方式,以及网络流量来源,确定网络流量是否会引发网络拥塞
六、确定迁移周期以及参与人员,包括迁移起止时间,团队能力建设以及团队成员的角色。
3. 测试计划
迁移计划后,执行小批量的测试迁移方案,这里会涉及到首批迁移的测试和审核,步骤如下:
准备用于测试迁移的测试系统环境,在测试时,第一批服务器将会迁移到该系统环境中。
安装并核实迁移工具,此时要执行第一批服务器的P2V迁移。
对第一批服务器,需分析存储系统,不管该服务器在存储迁移中采用本地磁盘存储还是远端SAN/NAS存储系统。
4. 迁移测试
在第一批服务器和服务的小批量测试迁移后,需对迁移后的服务器进行测试,包括单元测试和性能测试。
5. 迁移实施
在迁移实施过程中,所有的服务器都会被迁移到虚拟化系统下。执行步骤如下:
确保批量迁移的整个网络环境已准备完毕,并通过迁移工具完成源系统和目标系统之间的连通。此处的目标系统属于中转系统。
对迁移系统进行性能审核和健康检查,如果系统状态监视则停用旧系统并将其服务暂时转移到新的虚拟化系统中。
进行利旧,对于一部分可用的旧硬件可在服务器虚拟化中重新再利用,一些软件资源需扩展,如内存和硬盘。这些服务器构成最终的虚拟化基础设施,即最终系统。
最后,在目标系统和最终系统之间进行V2V迁移。这样,最终系统完成了现存硬件的重复利用。
a. 服务器虚拟化前进行备份
为了对旧系统中的物理服务器进行虚拟化,需考虑服务器虚拟化带来的影响。例如,现有服务器的重复利用,服务器虚拟化时会对这些服务器的CPU,内存以及硬盘资源进行再利用,然而这些服务器上存在某些服务仍在运行,若无备份则会影响现有业务。因此,在执行迁移和虚拟化之前,必须先对需利旧的服务器进行备份。
提供物理备份服务器,并已进行虚拟化,数据和服务器已备份到虚拟化系统。
首先,对于要被迁移的服务器上,一般会存在多种服务正在运行,而且这些服务器在迁移评估后认为在虚拟化场景下可再利用的。但是,迁移过程中不允许存在较长的停机时间,因此需要准备一台采用虚拟化平台的备份虚拟机,通过P2V将该服务器备份到虚拟机上。
备份完所有需要进行虚拟化的服务器之后,这些服务器上安装虚拟化软件进行虚拟化,根据评估阶段确定的容量规划,在虚拟化平台上创建相应规格的虚拟机,其计算资源用于承接旧系统中的服务。
准备好所有的虚拟机后,规划和安装相关迁移工具,将备份系统中的服务迁移到虚拟化系统的虚拟机中。虚拟机迁移是指将备份的虚拟化系统中的应用服务迁移到最终的虚拟化系统中。
虚拟机迁移完毕后,要对这些服务进行测试,最后停用旧系统,所有服务切换到虚拟化系统中。
b. 迁移的详细操作步骤
A. 在评估阶段,虚拟化和迁移之前需收集的信息如下:
性能统计:包括CPU使用率,内存使用率,硬盘IOPS和硬盘使用情况;
物理服务器配置:包括CPU规格,内存容量,硬盘容量
统计物理服务器部署位置,分析是否支持虚拟化,累计支持虚拟化的服务器数量,并规划出虚拟化中需新增的硬件情况;
通过上述无代理收集和代理收集两种场景收集当前系统的使用和配置情况。可采用华为信息收集工具或者第三方工具。
B. 分析现有服务的依赖条件,对当前系统进行备份。
上图描述了一种应用系统下的依赖关系,可作为迁移参考,确定所有服务器的迁移优先级顺序。
在确定各服务的依赖条件后,对需进行虚拟化的服务器进行备份。具体备份过程参见本小节迁移实施方案中 “服务器虚拟化前进行备份”部分的内容。
C. 容量规划和虚拟化执行
根据当前的资源使用和需求情况,计算虚拟化所需的容量。
D. 规划应用服务
在华为虚拟化解决方案中,同类虚拟机部署在同一个计算资源池中,在同一个池中可相互共享存储/计算资源,一个集群的故障不会影响其他资源池。
E. 虚拟化规划和虚拟机分配
建立虚拟化平台后,要准备最终的迁移资源。迁移前,如果服务器a具备双核CPU和2G内存,那么在虚拟化平台中就创建一个2核/2G内存的虚拟机,并分配相应的硬盘。
F. 规划迁移工具
采用迁移工具从物理或虚拟的服务器向最终的虚拟化系统中进行磁盘复制。
G. 通过工具执行在线迁移
准备好源系统,目标虚拟机以及目标系统后,决定迁移时需使用的迁移工具和迁移策略。
H. 迁移测试
迁移后,需进行测试来验证迁移是否成功,测试场景如下:
应用服务迁移后对虚拟化基本功能的监测;
迁移前后应用服务的特性功能是否几乎相同;
虚拟化系统的性能监控;
….
I. 停用旧系统
截至目前现有的服务器已经被虚拟化和重复使用,其他一些不支持虚拟化的服务器上对应的服务也已经迁移到虚拟化平台,那么现在可将应用服务切换到虚拟系统并停用旧系统。
添加微信