JS22上实现Live Partition Mobility
在分区转移阶段会发生什么?
在动态转移 LPAR 期间,状态信息会从源系统传输到目标系统。这些 "状态信息" 包括分区内存、处理器状态、虚拟适配器状态、NVRAM 和 LPAR 配置等。下面是在转移期间发生的一部分 事件和活动:
" 在目标系统上创建一个分区 shell。这个分区 shell 用来保留创建 LPAR 所需的资源(即处理器权利)、内存配置和虚拟适配器配置。
" 通过 VIOS 上的 Virtual Asynchronous Service Interface(VASI)设备在源和目标系统与它们的 POWER Hypervisor 之间建立连接。源和目标 VIOS 使用这个新的虚拟设备与 POWER Hypervisor 通信,从而访问 LPAR 的状态并协调转移过程。可以在 VIOS 上使用 lsdev 命令检查是否存在此设备。

图 14. VIOS 上的 VASI 设备
vasistat 命令显示 VASI 设备的统计数据。在转移期间,在源 VIOS 上运行此命令。在输出中,"Total Bytes to Transfer" 表示内存复制量,"Bytes Left to Transfer" 表示传输的进度,见图 15。

图 15. vasistat 命令
" 在目标系统上创建虚拟目标设备和虚拟 SCSI 适配器。在转移之前,在目标 VIOS 上使用 lsmap 命令,会看到没有虚拟 SCSI 适配器或虚拟目标设备映射,见下图。

图 16. 转移之前目标 VIOS 上的 lsmap
在转移之后运行相同的命令,可以看到在转移过程中已经自动创建了虚拟磁盘映射。

图 17. 转移之后目标 VIOS 上的 lsmap
" LPAR 的物理内存页面被复制到目标系统上的 shell LPAR。在源 VIOS 上使用 topas 命令,可以看到 SEA(ent6)上有一些网络通信流,这是内存复制产生的通信流。

图 18. 源 VIOS 上的 topas 显示 SEA 通信流
" 因为 LPAR 仍然在运行,SAP 也正在运行,所以在复制内存时它的状态会继续改变。在传输期间修改的内存页面被标为 dirty。内存复制过程会重复进行,直到标为 dirty 的页面数量不再减少为止。这时,目标 系统就通知源 系统上的 Hypervisor 暂停 LPAR。
" LPAR 通过停止所有正在运行的线程暂停运行。LPAR 现在处于 suspended 状态。
" 在 LPAR 暂停期间,源 LPAR 继续把分区状态信息发送给目标 服务器。然后,LPAR 处于 resumed 状态。
" LPAR 在目标 系统上恢复执行。如果 LPAR 需要还没有转移的页面,那么它会根据需要从源 系统获取页面。
" LPAR 恢复它的 I/O 操作。一个 ARP 请求被发送到所有虚拟以太网,从而更新网络上所有外部交换机和系统上的 ARP 缓存。LPAR 现在重新活跃。
" 当目标系统从源系统接收到最新的脏页面时,转移过程结束。LPAR 暂停和恢复之间的时间只持续几秒。在我们的测试中,我们没有注意到这个操作使 LPAR 产生任何 中断。
完成内存复制之后,源系统上的 Virtual I/O Server 删除与 LPAR 相关联的虚拟 SCSI 服务器适配器,删除现有的设备到 LUN 映射。
然后,从源 Blade 中自动删除 LPAR(见图 19)。

图 19. 转移之后 IVM 显示的源 Blade 视图,LPAR 已经被删除
这个 LPAR 现在转移到了目标 Blade 上并处于 Running 状态,见图 20。

图 20. 转移之后 IVM 显示的目标 Blade 视图,LPAR 处于 Running 状态
转移过程已经完全完成了,见图 21。

图 21. 转移过程完全完成
既然 LPAR 已经在另一个 Blade 上运行了,现在再次运行 lsconf 命令,确认物理硬件的序列号已经改变了:

图 22. 转移之后的 lsconf
为了确认 SAP 和 Oracle 没有受到转移的影响,检查 Oracle 警告日志中是否有任何错误。没有发现任何错误,见图 23。

图 23. Oracle 警告日志表明在转移期间没有发生错误
在 SAP 中,在转移之前和之后运行 lsconf 命令,从而确认物理服务器已经改变了:

图 24. 在转移之前和之后在 SAP 中执行 lsconf
我在 bxaix85 上的 ssh 登录会话仍然是有效的,这意味着动态转移没有造成任何连接问题。SAP 用户不会注意到在 LPAR 上运行的 SAP GUI 客户机会话或作业出现任何中断。
转移活动被记录在 LPAR 以及源和目标 VIOS 上的日志中。用 errpt(AIX)和 errlog(VIOS)命令检查日志。在 AIX 上,会看到与 CLIENT_PMIG_STARTED 和 CLIENT_PMIG_DONE 相似的消息。在 AIX 上,来自 DRMGR 的相关信息还被记录在系统日志中,例如 Starting CHECK phase for partition migration。在 VIOS 上,会找到与 VIOS 的暂停和转移状态相关的消息(Client partition suspend issued 和 Migration completed successfully)。
结束语
最终目标已经实现了。LPAR 现在在另一个物理服务器上运行(图 25)。现在能够在 Blade 上按计划执行维护活动,而不需要停止 SAP。
