Oracle® VM Server for SPARC 3.2 发行说明

退出打印视图

更新时间: 2015 年 5 月
 
 

常见问题

本节介绍此发行版 Oracle VM Server for SPARC 软件中常见的已知问题,这些问题比具有特定错误号的问题广泛。如果有解决方法,则会提供。

如果将多个虚拟交换机分配给一个网络适配器,则 Oracle VM Server for SPARC 3.2 ldmd 守护进程不会启动

Oracle VM Server for SPARC 3.0 软件无意中公开了将多个虚拟交换机分配给一个网络适配器的功能。此功能仅供 Oracle VM Manager 软件通过特定的方式使用。

Oracle VM Server for SPARC 3.1 软件已恢复原始行为,即阻止您向一个网络适配器分配多个虚拟交换机。但是,如果已将 Oracle VM Server for SPARC 3.0 系统配置为将多个虚拟交换机分配给一个网络适配器,则升级至 Oracle VM Server for SPARC 3.2 后,ldmd 守护进程不会启动。

解决方法:执行以下步骤:

  1. 在 Oracle VM Server for SPARC 3.2 系统上暂时重新启用此功能以允许 ldmd 守护进程启动。

    # svccfg -s ldoms/ldmd setprop ldmd/ovm_manager=true
    # svcadm refresh ldmd
    # svcadm disable ldmd
    # svcadm enable ldmd
  2. 将您的配置更新为只向一个网络设备分配一个虚拟交换机。

  3. 在 Oracle VM Server for SPARC 3.2 系统上禁用此功能。

    # svccfg -s ldoms/ldmd setprop ldmd/ovm_manager=false
    # svcadm refresh ldmd
    # svcadm disable ldmd
    # svcadm enable ldmd

    请务必将 ovm_manager 属性设置为 false,因为此属性可能会在将来的 Oracle VM Server for SPARC 发行版中产生其他负面影响。

在某些情况下,来宾域的 Solaris Volume Manager 配置或元设备可能会丢失

如果服务域运行的是低于 Oracle Solaris 10 1/13 OS 的 Oracle Solaris 10 OS 版本,而且将物理磁盘分片作为虚拟磁盘导出到来宾域,则该虚拟磁盘将以不正确的设备 ID 出现在来宾域中。如果随后将该服务域升级到 Oracle Solaris 10 1/13 OS,作为虚拟磁盘导出的物理磁盘分片将以不带设备 ID 的形式出现在来宾域中。

这种删除虚拟磁盘设备 ID 的方式可能会导致尝试引用虚拟磁盘设备 ID 的应用程序出现问题。特别是,Solaris Volume Manager 可能无法找到其配置或者无法访问其元设备。

解决方法:将服务域升级到 Oracle Solaris 10 1/13 OS 之后,如果来宾域找不到其 Solaris Volume Manager 配置或其元设备,请执行以下过程。

如何查找来宾域的 Solaris Volume Manager 配置或元设备

  1. 引导来宾域。
  2. 通过在 /kernel/drv/md.conf 文件中添加以下行来禁用 Solaris Volume Manager 的 devid 功能:
    md_devid_destroy=1;
    md_keep_repl_state=1;
  3. 重新引导来宾域。

    在来宾域引导之后,Solaris Volume Manager 配置和元设备应当会可用。

  4. 检查 Solaris Volume Manager 配置并确保它正确无误。
  5. 通过从 /kernel/drv/md.conf 文件中删除在步骤 2 中添加的两行来重新启用 Solaris Volume Manager 的 devid 功能。
  6. 重新引导来宾域。

    在重新引导期间,您将看到类似如下的消息:

    NOTICE: mddb: unable to get devid for 'vdc', 0x10

    这些消息是正常的,不报告任何问题。

Oracle Solaris 引导磁盘兼容性

以前,Oracle Solaris OS 安装在一个配置有 SMI VTOC 磁盘标签的引导磁盘上。从 Oracle Solaris 11.1 OS 开始,默认情况下 OS 均安装在配置有可扩展固件接口 (Extensible Firmware Interface, EFI) GUID 分区表 (GUID partition table, GPT) 磁盘标签的引导磁盘上。如果固件不支持 EFI,则会为磁盘配置 SMI VTOC 磁盘标签。此情况仅适用于至少运行系统固件版本 8.4.0 的 SPARC T4 服务器,至少运行系统固件版本 9.1.0 的 SPARC T5、SPARC M5、SPARC M6 服务器,以及至少运行 XCP 版本 2230 的 Fujitsu M10 服务器。

    以下服务器无法通过配置有 EFI GPT 磁盘标签的磁盘进行引导:

  • UltraSPARC T2、UltraSPARC T2 Plus 和 SPARC T3 服务器(无论使用哪个系统固件版本)

  • 运行 8.4.0 之前的系统固件版本的 SPARC T4 服务器

  • 运行 9.1.0 之前的系统固件版本的 SPARC T5、SPARC M5 和 SPARC M6 服务器

  • 运行的 XCP 版本早于 2230 的 Fujitsu M10 服务器

因此,在最新的 SPARC T4、SPARC T5、SPARC M5、SPARC M6、Fujitsu M10 服务器上创建的 Oracle Solaris 11.1 引导磁盘无法在早期版本的服务器上或运行早期固件版本的服务器上使用。

此限制使得无法使用冷迁移或实时迁移将域从最新版本的服务器移至早期版本的服务器,同样也无法在早期版本的服务器上使用 EFI GPT 引导磁盘映像。

要确定 Oracle Solaris 11.1 引导磁盘是否与您的服务器及其固件兼容,请确保 Oracle Solaris 11.1 OS 安装在配置有 SMI VTOC 磁盘标签的磁盘上。

    要与运行早期固件版本的系统保持向后兼容,请使用以下过程之一。否则,默认情况下引导磁盘将使用 EFI GPT 磁盘标签。以下过程显示了在系统固件版本至少为 8.4.0 的 SPARC T4 服务器上以及系统固件版本至少为 9.1.0 的 SPARC T5、SPARC M5 或 SPARC M6 服务器上和 XCP 版本至少为 2230 的 Fujitsu M10 服务器上,如何确保 Oracle Solaris 11.1 OS 安装在配置有 SMI VTOC 磁盘标签的引导磁盘中。

  • 解决方法 1:删除 gpt 属性,以便固件不会报告其支持 EFI。

    1. 在 OpenBoot PROM 提示符下,禁用自动引导并重置要安装的系统。

      ok setenv auto-boot? false
      ok reset-all

      系统重置完成后,将返回到 ok 提示符下。

    2. 更改到 /packages/disk-label 目录并删除 gpt 属性。

      ok cd /packages/disk-label
      ok " gpt" delete-property
    3. 开始 Oracle Solaris 11.1 OS 安装。

      例如,执行网络安装:

      ok boot net - install
  • 解决方法 2:使用 format -e 命令在要安装 Oracle Solaris 11.1 OS 的磁盘上写入 SMI VTOC 标签。

    1. 在磁盘上写入 SMI VTOC 标签。

      例如,选择 label 选项并指定 SMI 标签:

      # format -e c1d0
      format> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[1]: 0
    2. 配置磁盘,使用分片 0 和分片 2 覆盖整个磁盘。

      该磁盘不应有其他任何分区。例如:

      format> partition
       
      partition> print
      Current partition table (unnamed):
      Total disk cylinders available: 14087 + 2 (reserved cylinders)
      
      Part      Tag    Flag     Cylinders         Size            Blocks
        0       root    wm       0 - 14086      136.71GB    (14087/0/0) 286698624
        1 unassigned    wu       0                0         (0/0/0)             0
        2     backup    wu       0 - 14086      136.71GB    (14087/0/0) 286698624
        3 unassigned    wm       0                0         (0/0/0)             0
        4 unassigned    wm       0                0         (0/0/0)             0
        5 unassigned    wm       0                0         (0/0/0)             0
        6 unassigned    wm       0                0         (0/0/0)             0
        7 unassigned    wm       0                0         (0/0/0)             0
    3. 重新写入 SMI VTOC 磁盘标签。

      partition> label
      [0] SMI Label
      [1] EFI Label
      Specify Label type[0]: 0
      Ready to label disk, continue? y
    4. 配置 Oracle Solaris Automatic Installer (AI) 以便在引导磁盘的分片 0 上安装 Oracle Solaris OS。

      将 AI 清单中的 <disk> 摘录更改为如下内容:

      <target>
         <disk whole_disk="true">
              <disk_keyword key="boot_disk"/>
              <slice name="0" in_zpool="rpool"/>
         </disk>
      [...]
      </target>
    5. 执行 Oracle Solaris 11.1 OS 安装。

有时,动态添加的内存块只能作为一个整体动态删除

由于 Oracle Solaris OS 处理用于管理动态添加的内存的元数据所使用的方法,以后,您可能只能删除以前动态添加的整个内存块,而非该内存的合适子集。

内存较小的域动态增长到大得多的时候,可能会出现这种情况,如以下示例所示:

primary# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n--   5000 2    2G     0.4% 23h

primary# ldm add-mem 16G ldom1

primary# ldm rm-mem 8G ldom1
Memory removal failed because all of the memory is in use.

primary# ldm rm-mem 16G ldom1

primary# ldm list ldom1
NAME  STATE FLAGS   CONS VCPU MEMORY UTIL UPTIME
ldom1 active -n--   5000 2    2G     0.4% 23h

解决方法:使用 ldm add-mem 命令按顺序以较小的块(而非大于您将来可能要删除的块)来添加内存。

    恢复:执行以下操作之一:

  • 停止域、删除内存,然后重新启动域。

  • 重新引导域,该操作会使 Oracle Solaris OS 重新分配其内存管理元数据,以便现在能够以较小的块动态删除之前添加的内存。