跳过导航链接 | |
退出打印视图 | |
Oracle VM Server for SPARC 3.0 管理指南 Oracle VM Server for SPARC (简体中文) |
第 1 部分Oracle VM Server for SPARC 3.0 软件
1. Oracle VM Server for SPARC 软件概述
3. Oracle VM Server for SPARC 安全
硬分区系统与其他 Oracle VM Server for SPARC 功能之间的交互
第 2 部分可选的 Oracle VM Server for SPARC 软件
13. Oracle VM Server for SPARC 物理机到虚拟机转换工具
14. Oracle VM Server for SPARC Configuration Assistant (Oracle Solaris 10)
16. 使用 Oracle VM Server for SPARC 管理信息库软件
17. Logical Domains Manager 发现
Oracle VM Server for SPARC 2.0 发行版引入了内存动态重新配置 (dynamic reconfiguration, DR)。此功能基于容量,通过此功能可以向活动的逻辑域中添加或从中删除任意数量的内存。
下面是使用内存 DR 功能的要求和限制:
您可以在任意域上执行内存 DR 操作。但是,给定时间内在一个域上只能执行一个内存 DR 操作。
内存 DR 功能可对给定操作中涉及的内存的地址和大小强制执行 256 MB 对齐。请参见内存对齐。
使用内存 DR 功能无法将可用内存池内未对齐的内存分配给域。请参见添加未对齐的内存。
如果使用内存 DR 操作无法重新配置域的内存,则必须停止域才能重新配置内存。如果域是控制域,则必须先启动延迟重新配置。
如果域处于活动状态,可以使用 ldm add-memory 命令向域动态添加内存。如果指定内存大小大于域的当前内存大小,也可以使用 ldm set-memory 命令动态添加内存。
如果域处于活动状态,可以使用 ldm remove-memory 命令从域中动态删除内存。如果指定内存大小小于域的当前内存大小,也可以使用 ldm set-memory 命令动态删除内存。
内存删除操作可能要运行很长时间。您可以跟踪操作的进度或者取消正在进行的内存 DR 请求。
通过对指定域运行 ldm list -l 命令,可以跟踪 ldm remove-memory 命令的进度。
通过中断 ldm remove-memory 命令(按 Ctrl-C)或发出 ldm cancel-operation memdr 命令,可以取消正在进行的删除请求。如果取消内存删除请求,只会影响删除请求的未处理部分,即,仍要从域删除的内存量。
可能只能完成部分向域中动态添加内存或从域中删除内存的请求。此结果分别取决于要添加或删除的适用内存的可用性。
注 - 从域中删除内存后,在将其添加到其他域之前,会先进行清除。
可以使用内存 DR 功能重新配置控制域的内存。如果无法在控制域上执行内存 DR 请求,则必须先启动延迟重新配置。
从活动域中删除大量内存时可能不适合使用内存 DR,因为内存 DR 操作可能要运行很长时间。特别要指出的是,在系统初始配置期间,应使用延迟重新配置来减少控制域中的内存。
使用延迟重新配置而不是内存 DR 从默认出厂初始配置中减少控制域的内存。在该默认配置中,控制域拥有主机系统的所有内存。不太适合使用内存 DR 功能来实现此目的,因为不一定可以添加活动域,或者通常会放弃所有请求的内存。当然,该域中运行的 OS 会尽最大可能来完成请求。另外,内存删除操作可能要运行很长时间。涉及到大量内存操作时这些问题会扩大化,正如初始减少控制域内存的情况。
因此,请按照以下步骤使用延迟重新配置:
使用 ldm start-reconf primary 命令将控制域置于延迟重新配置模式下。
根据需要对控制域拥有的主机系统资源进行分区。
如果需要,使用 ldm cancel-reconf 命令撤消步骤 2 中的操作,重新从头开始。
重新引导控制域以使重新配置更改生效。
如果控制域中存在暂挂的延迟重新配置,系统将拒绝任何其他域的内存重新配置请求。如果控制域中不存在暂挂的延迟重新配置,系统将拒绝任何不支持内存 DR 的域的内存重新配置请求。不支持内存 DR 的控制域上的内存重新配置请求将转换为延迟重新配置请求。
内存重新配置请求具有不同的对齐要求,具体取决于将应用请求的域的状态。
动态添加和删除。内存块的地址和大小为对齐的 256 MB,以用于进行动态添加和动态删除。最小操作大小为 256 MB。
将拒绝大于绑定大小的未对齐请求或删除请求。
使用以下命令调整内存分配:
ldm add-memory。如果在此命令中指定 --auto-adj 选项,则要添加的内存量为对齐的 256 MB,这可能会增加实际添加到域的内存量。
ldm remove-memory。如果在此命令中指定 --auto-adj 选项,则要删除的内存量为对齐的 256 MB,这可能会减少实际从域中删除的内存量。
ldm set-memory。可将此命令视为添加或删除操作。如果指定 --auto-adj 选项,则要添加或删除的内存量为对齐的 256 MB,如上所述。请注意,此对齐可能会增大域的最终内存大小。
延迟重新配置。内存块的地址和大小为对齐的 4 MB。如果发出的未对齐的请求,系统会将该请求舍入为对齐的 4 MB。
绑定域的内存块的地址和大小为对齐的 4 MB。如果发出的未对齐的请求,系统会将该请求舍入为对齐的 4 MB。这意味着域的最终内存大小可能会大于您指定的大小。
对于 ldm add-memory、ldm set-memory 和 ldm remove-memory 命令,--auto-adj 选项会将最终内存的大小舍入为对齐的 256 MB。这意味着最终内存可能会大于您指定的大小。
对于 ldm add-memory、ldm set-memory 和 ldm remove-memory 命令,--auto-adj 选项会将最终内存的大小舍入为对齐的 256 MB。不存在对非活动域的对齐要求。绑定域的内存对齐中所述的限制在绑定非活动域后生效。
内存 DR 功能对动态添加到活动域或从活动域中删除的内存的地址和大小强制执行 256 MB 内存对齐。这意味着,使用内存 DR 无法删除活动域中任何未对齐的内存。
还意味着使用内存 DR 无法将可用内存池中任何未对齐的内存添加到活动域。
在所有对齐的内存都已分配后,可以使用 ldm add-memory 命令将剩余的未对齐内存添加到绑定域或非活动域。还可以使用此命令借助延迟重新配置操作将剩余的未对齐内存添加到控制域。
以下示例说明如何将两个剩余的 128 MB 内存块添加到 primary 和 ldom1 域中。ldom1 域处于绑定状态。以下命令可添加这两个剩余内存块。第一个命令可在控制域上启动延迟重新配置操作。第二个命令可将其中一个 128 MB 内存块添加到控制域。第五个命令可将另一个 128 MB 内存块添加到 ldom1 域。
# ldm start-reconf primary Initiating a delayed reconfiguration operation on the primary domain. All configuration changes for other domains are disabled until the primary domain reboots, at which time the new configuration for the primary domain also takes effect. # ldm add-memory 128M primary ------------------------------------------------------------------------------ Notice: The primary domain is in the process of a delayed reconfiguration. Any changes made to the primary domain will only take effect after it reboots. ------------------------------------------------------------------------------ # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -ndcv- SP 8 2688M 0.1% 23d 8h 8m # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 8 2560M 0.5% 23d 8h 9m ldom1 bound ------ 5000 1 524M # ldm add-mem 128M ldom1 # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 8 2560M 0.1% 23d 8h 9m ldom1 bound ------ 5000 1 652M
以下示例说明如何执行内存 DR 操作。有关相关 CLI 命令的信息,请参见 ldm(1M) 手册页。
示例 10-9 活动域上的内存 DR 操作
本示例说明如何动态向活动域 ldom1 添加内存和从中删除内存。
ldm list 的输出显示了 Memory (内存) 字段中各个域的内存。第一个 ldm add-mem 命令将退出并显示错误,因为您必须将内存指定为 256 MB 的倍数。下一个 ldm add-mem 命令使用 --auto-adj 选项,这样,即使您将 200M 指定为要添加的内存量,系统也会将内存量舍入为 256 MB。
ldm rm-mem 命令将退出并显示错误,因为您必须将内存指定为 256 MB 的倍数。将 --auto-adj 选项添加到同一命令后,内存删除将成功,因为内存量会向下舍入到邻近的 256 MB 边界。
# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.4% 1d 22h 53m ldom1 active -n---- 5000 2 2G 0.4% 1d 1h 23m ldom2 bound ------ 5001 2 200M # ldm add-mem 200M ldom1 The size of memory must be a multiple of 256MB. # ldm add-mem --auto-adj 200M ldom1 Adjusting request size to 256M. The ldom1 domain has been allocated 56M more memory than requested because of memory alignment constraints. # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 5.0% 8m ldom1 active -n---- 5000 2 2304M 0.5% 1m ldom2 bound ------ 5001 2 200M # ldm rm-mem --auto-adj 300M ldom1 Adjusting requested size to 256M. The ldom1 domain has been allocated 44M more memory than requested because of memory alignment constraints. # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.3% 8m ldom1 active -n---- 5000 2 2G 0.2% 2m ldom2 bound ------ 5001 2 200M
示例 10-10 绑定域上的内存 DR 操作
本示例说明如何向绑定域 ldom2 添加内存和从中删除内存。
ldm list 的输出显示了 Memory (内存) 字段中各个域的内存。第一个 ldm add-mem 命令可向 ldom2 域中添加 100 MB 的内存。下一个 ldm add-mem 命令中指定了 --auto-adj 选项,这可导致将额外的 112 MB 内存动态添加到 ldom2 中。
ldm rm-mem 命令可从 ldom2 域中动态删除 100 MB 的内存。如果在同一命令中指定 --auto-adj 选项以删除 300 MB 内存,内存量将向下舍入到邻近的 256 MB 边界。
# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.4% 1d 22h 53m ldom1 active -n---- 5000 2 2G 0.4% 1d 1h 23m ldom2 bound ------ 5001 2 200M # ldm add-mem 100M ldom2 # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.5% 1d 22h 54m ldom1 active -n---- 5000 2 2G 0.2% 1d 1h 25m ldom2 bound ------ 5001 2 300M # ldm add-mem --auto-adj 100M ldom2 Adjusting request size to 256M. The ldom2 domain has been allocated 112M more memory than requested because of memory alignment constraints. # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.4% 1d 22h 55m ldom1 active -n---- 5000 2 2G 0.5% 1d 1h 25m ldom2 bound ------ 5001 2 512M # ldm rm-mem 100M ldom2 # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 3.3% 1d 22h 55m ldom1 active -n---- 5000 2 2G 0.2% 1d 1h 25m ldom2 bound ------ 5001 2 412M # ldm rm-mem --auto-adj 300M ldom2 Adjusting request size to 256M. The ldom2 domain has been allocated 144M more memory than requested because of memory alignment constraints. # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.5% 1d 22h 55m ldom1 active -n---- 5000 2 2G 0.2% 1d 1h 26m ldom2 bound ------ 5001 2 256M
示例 10-11 设置域内存大小
本示例说明如何使用 ldm set-memory 命令向域中添加内存和从中删除内存。
ldm list 的输出显示了 Memory (内存) 字段中各个域的内存。第一个 ldm set-mem 命令尝试将 primary 域的大小设置为 3400 MB。最终错误表明指定的值不在 256 MB 边界上。将 --auto-adj 选项添加到同一命令后,可以成功删除某些内存并保持在 256 MB 边界上。此命令还会发出警告,以指出并非所有请求的内存都可以删除,因为域可能正在使用某些内存。
下一个 ldm set-mem 命令会将处于绑定状态的 ldom2 域的内存大小设置为 690 MB。如果向同一命令中添加 --auto-adj 选项,将动态向 ldom2 中添加额外的 78 MB 内存以保持在 256 MB 边界上。
# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 27392M 0.5% 1d 22h 55m ldom1 active -n---- 5000 2 2G 0.2% 1d 1h 26m ldom2 bound ------ 5001 2 256M # ldm set-mem 3400M primary An ldm set-mem 3400M command would remove 23992MB, which is not a multiple of 256MB. Instead, run ldm rm-mem 23808MB to ensure a 256MB alignment. # ldm set-mem --auto-adj 3400M primary Adjusting request size to 3.4G. The primary domain has been allocated 184M more memory than requested because of memory alignment constraints. Only 9472M of memory could be removed from the primary domain because the rest of the memory is in use. # ldm set-mem 690M ldom2 # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 17920M 0.5% 1d 22h 56m ldom1 active -n---- 5000 2 2G 0.6% 1d 1h 27m ldom2 bound ------ 5001 2 690M # ldm set-mem --auto-adj 690M ldom2 Adjusting request size to 256M. The ldom2 domain has been allocated 78M more memory than requested because of memory alignment constraints. # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-cv- SP 4 17920M 2.1% 1d 22h 57m ldom1 active -n---- 5000 2 2G 0.2% 1d 1h 27m ldom2 bound ------ 5001 2 768M