下面是执行迁移时对 CPU 的要求和限制:
目标计算机必须具有足够的可用虚拟 CPU,以适应要迁移的域所使用的虚拟 CPU 数目。
在来宾域上设置 cpu-arch 属性允许您在具有不同处理器类型的系统之间迁移域。请注意,来宾域必须处于绑定或非活动状态才能更改 cpu-arch 值。
受支持的 cpu-arch 属性值如下:
native 使用特定于 CPU 的硬件功能,以允许来宾域仅在具有相同 CPU 类型的平台之间迁移。native 是默认值。
migration-class1 是适用于 SPARC T4 以后的 SPARC 平台的跨 CPU 迁移系列。这些平台支持在迁移中或迁移后进行硬件加密,以使受支持的 CPU 具有下界。
该值与 UltraSPARC T2、UltraSPARC T2 Plus、SPARC T3 平台或 Fujitsu M10 平台不兼容。
sparc64-class1 是适用于 SPARC64 平台的跨 CPU 迁移系列。由于 sparc64-class1 值基于 SPARC64 指令,因此,该值的指令数比 generic 值多。这样,与 generic 值相比,该值对性能不会产生影响。
该值仅与 Fujitsu M10 服务器兼容。
generic 会使用由所有平台使用的最低通用 CPU 硬件功能,从而使来宾域能够执行与 CPU 类型无关的迁移。
以下 isainfo -v 命令显示当 cpu-arch=generic 和 cpu-arch=migration-class1 时可在系统中使用的指令。
cpu-arch=generic
# isainfo -v 64-bit sparcv9 applications asi_blk_init vis2 vis popc 32-bit sparc applications asi_blk_init vis2 vis popc v8plus div32 mul32
cpu-arch=migration-class1
# isainfo -v 64-bit sparcv9 applications crc32c cbcond pause mont mpmul sha512 sha256 sha1 md5 camellia des aes ima hpc vis3 fmaf asi_blk_init vis2 vis popc 32-bit sparc applications crc32c cbcond pause mont mpmul sha512 sha256 sha1 md5 camellia des aes ima hpc vis3 fmaf asi_blk_init vis2 vis popc v8plus div32 mul32
与使用 native 值相比,使用 generic 值可能会导致来宾域性能降低。由于来宾域仅使用在所有支持的 CPU 类型上都可用的通用 CPU 功能,而不使用特定 CPU 的本机硬件功能,所以性能可能会降低。由于不使用这些功能,通过 generic 值可以在使用支持不同功能的 CPU 的系统之间灵活地迁移域。
如果在至少为 SPARC T4 的系统之间迁移域,可以设置 cpu-arch=migration-class1 以提高来宾域性能。虽然使用 generic 值可以改进性能,native 值仍提供来宾域的最佳性能。
当 cpu-arch 属性设置为 native 时,请使用 psrinfo -pv 命令确定处理器类型,如下所示:
# psrinfo -pv The physical processor has 2 virtual processors (0 1) SPARC-T5 (chipid 0, clock 3600 MHz)
请注意,如果 cpu-arch 属性设置为 native 以外的值,则 psrinfo -pv 输出不会显示平台类型。此时,此命令将显示已装入 sun4v-cpu CPU 模块。
# psrinfo -pv The physical processor has 2 cores and 13 virtual processors (0-12) The core has 8 virtual processors (0-7) The core has 5 virtual processors (8-12) sun4v-cpu (chipid 0, clock 3600 MHz)