源计算机上的 Logical Domains Manager 接受迁移域的请求,与目标计算机上运行的 Logical Domains Manager 建立安全的网络连接。建立此连接之后,执行迁移。迁移本身可以分为五个不同的阶段:
|
图 3. 实时迁移第 1 阶段
源计算机开始跟踪活动来宾域的哪些内存块在迁移操作过程中有所变化。如果待迁移域为非活动或绑定的域,则迁移操作转到第 5 阶段。
图 4. 实时迁移第 5 阶段
以下示例使用 ldm migrate-domain
命令将来宾域从一个系统迁移到另一个系统。
您还可以指定在目标计算机上进行身份验证的备用用户。请参见文档的 Oracle VM Server for SPARC 2.1 管理指南 中的“为用户分配授权”。
您可以使用 ldm migrate-domain -n
命令执行空运行迁移,此操作执行迁移检查但不迁移指定的域。将任何未满足的要求均报告为错误,这样您可以在尝试实际迁移之前纠正所有配置错误。
以下示例显示了执行域迁移的各种方法:
ldg1
域向名为 t4-1
的目标计算机的空运行迁移。# ldm migrate-domain -n ldg1 t4-1 Target Password: password
ldg1
域向名为 t4-1
的目标计算机的迁移。# ldm migrate-domain ldg1 t4-1 Target Password: password
ldg1
来宾域以非交互方式迁移到名为 t4-1
的目标计算机。-p
选项指定文件名称 pfile
,此文件包含目标计算机的纯文本超级用户口令,您可以使用此口令访问 t4-1
目标计算机。# ldm migrate-domain -p pfile ldg1 t4-1
注:确保您对包含超级用户口令的文件实施了保护,以便只有根所有者或特权用户用户可以读取它。
# chmod 400 pfile
ldg1
域迁移到名为 t4-1
的目标计算机,并指定使用另一个用户 tracy
在 t4-1
计算机上进行身份验证。# ldm migrate-domain ldg1 tracy@t4-1
有关为用户分配授权的信息,请参见 Oracle VM Server for SPARC 2.1 管理指南 中的“管理用户配置文件”。
# ldm list -o status ldg1
注:迁移时间可能有所不同,具体取决于分配的内存量和网络利用率。
SwingBench 工具包包含负载生成器和基准测试,旨在对 Oracle 数据库进行压力测试。SwingBench 附带的代码包括 OrderEntry、SalesHistory、CallingCircle 和 StressTest 基准测试。
对于本文,使用 SwingBench OrderEntry 负载在迁移的来宾域上生成负载。OrderEntry 基于 Oracle Database 11g 自带的 oe
模式。此负载会对少量表产生严重争用,旨在对系统互连和内存施加压力。
下面介绍在来宾域上生成的负载:
sga_target
):18 GB系统全局区 (SGA) 是一组共享内存结构,其中包含一个 Oracle 数据库实例的数据和控制信息。
users
):50 位用户表 1 显示了在两个台 SPARC T4-1 服务器之间运行的实时迁移操作的结果。
表 1. SPARC T4-1 服务器实时迁移结果控制域上的 CPU 数 | 整体迁移时间 | 暂停时间 | 来宾域 CPU 使用率 |
---|---|---|---|
8 个 CPU | 8 分 12 秒 | 26 秒 | 70.00% |
16 个 CPU | 4 分 2 秒 | 13 秒 | 80.00% |
24 个 CPU | 2 分 3 秒 | 7 秒 | 85.00% |
下面介绍将域从一台计算机迁移到另一台计算机时常见的实时迁移操作行为。注意,您观察到结果可能稍有不同,因为迁移时间取决于为控制域分配的 CPU 数和内存量以及负载类型。
mpstat
命令观察对来宾域的 CPU 进行系统内存跟踪的结果。参见 USR
列以查看每个 CPU 的使用情况。db_block_changes
信息。有关 AWR 和 AWR 报告的更多信息,请参见 Oracle Database 性能调优指南中的 5.2 节(“自动负载信息库概述”)。本节包含与 Oracle VM for SPARC 实时迁移特性相关的信息,包括如何配置 NTP 和使用 CPU 动态重新配置。
确保使用 NTP 同步待迁移域上的系统时钟。
在此示例中,源计算机上的控制域用作时间源,并将它配置为 NTP 服务器。注意,最好选择可以作为专用时间同步源的 NTP 服务器,以便在关闭计算机进行计划维护时不会对其他服务产生负面影响。
清单 4 的示例显示了如何配置 NTP 服务器。
清单 4. 配置 NTP 服务器# grep -v ^# /etc/inet/ntp.conf server 127.127.1.0 prefer broadcast 224.0.1.1 ttl 4 enable auth monitor driftfile /var/ntp/ntp.drift statsdir /var/ntp/ntpstats/ filegen peerstats file peerstats type day enable filegen loopstats file loopstats type day enable filegen clockstats file clockstats type day enable keys /etc/inet/ntp.keys trustedkey 0 requestkey 0 controlkey 0 # touch /var/ntp/ntp.drift # svcadm enable ntp
以下示例显示了如何配置 NTP 客户端。
# grep -v ^# /etc/inet/ntp.conf server source prefer slewalways yes disable pll # svcadm enable ntp
Oracle VM Server for SPARC 支持动态重新配置 CPU。可以使用 ldm add-vcpu
或 ldm rm-vcpu
命令在任何活动域(包括控制域)中动态添加或删除 CPU。
可以从控制域发出这些命令来增加或减少分配的 CPU 数。通过增加控制域中的 CPU 数,可以减少迁移时间。对于具有独立加密单元的系统,如 UltraSPARC T2、UltraSPARC T2 Plus 和 SPARC T3 平台,您在动态添加 CPU 资源时应该向控制域中添加加密单元。
以下示例显示了如何向控制域中添加 8 个 CPU:
primary# ldm add-vcpu 8 primary
完成迁移操作之后,您可以从控制域中删除虚拟 CPU 并将它们分配给其他域。以下示例从控制域删除 8 个 CPU 并将它们分配给 ldg1
来宾域:
primary# ldm rm-vcpu 8 primary primary# ldm add-vcpu 8 ldg1
注:减少 CPU 个数时,应确保仍有足够数量的 CPU 可用,以便高效地处理域的负载。例如,Oracle 数据库单实例来宾域应始终至少具有 8 个 CPU。
IT 组织可以通过选择正确的硬件和软件来实现战术和战略目标,以便最好地管理应用程序可用性和优化数据中心资源。
本文展示了使用 Oracle VM Server for SPARC 2.1 实时迁移特性管理 Oracle Database 11g 第 2 版单实例数据库的生产生命周期的好处。本文介绍了完整的配置过程,包括域的创建和配置、存储配置以及用于演示这些好处的软件。除了展示实时迁移特性的好处之外,本文还介绍了如何在计划停机过程中获得更好的应用程序可用性,以及如何通过在生产环境中进行动态硬件资源管理来降低硬件和软件成本。
有关 Oracle 虚拟化解决方案的更多信息,请访问 Oracle 的虚拟化网站。
Orgad Kimchi 于 2007 年 9 月加入 Sun/Oracle。他目前就职于独立软件供应商 (ISV) 工程部,协助软件供应商采用可提高 Oracle 硬件和软件性能的 Oracle 技术。参见 Orgad 的博客。
Roman Ivanov 于 2006 年 1 月加入 Sun/Oracle。他目前就职于 ISV 工程部,协助软件供应商采用可提高 Oracle 硬件性能的 Oracle 技术。参见 Roman 的博客。
以下是本文前面所引用的资源的 URL:
修订版 1.0,2012 年 2 月 23 日 |