之路教程 https://onitr oad .com

确保资源的正确绑定

为了将资源分配给 LDOM 域,它们需要绑定到适当的域。
此过程将虚拟资源绑定到系统上可用的实际物理资源。
如果没有足够的物理资源分配,绑定过程会报错。

当绑定资源有问题时,会观察到以下一个或者多个错误:
1、VCPUS资源不足,无法绑定LDom。

  1. 没有足够的可用内存来满足此请求。

  2. 无法为 LDom 绑定请求的内存。

  3. 只有 [number] 个物理加密单元资源可用于绑定到 LDom。

5.在绑定的服务域中没有找到合适的vcc服务来绑定guest [guestname]控制台。

下面是新创建的名为guest01 的LDom 来宾,添加了资源,但尚未绑定。
请注意,LDC 字段为空,并且没有实际分配 VCPU 和内存。
来宾的状态被标记为不活动。

# ldm list-bindings -e guest01
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
guest01          inactive   ------          4     3G
UUID
    1105fe75-b5c6-6447-929c-a8dba81db847
MAC
    00:14:4f:fa:2e:70
CONTROL
    failure-policy=ignore
    extended-mapin-space=off
    cpu-arch=native
    rc-add-policy=
    shutdown-group=15
DEPENDENCY
    master=
CONSTRAINT
    threading=max-throughput
VARIABLES
    auto-boot?=false
    boot-device=/virtual-devices@100/channel-devices@200/disk@0:a disk net
    pm_boot_policy=disabled=1;ttfc=0;ttmr=0;
NETWORK
    NAME             SERVICE                     ID   DEVICE     MAC               MODE   PVID VID                  MTU   MAXBW      LINKPROP
    vnet0            primary-vsw0                0               00:14:4f:fb:c2:d0        1                                          phys-state
    vnet1            sec1-vsw0                   1               00:14:4f:fa:95:92        1                                          phys-state
DISK
    NAME             VOLUME                      TOUT ID   DEVICE  SERVER         MPGROUP
    guest01-root     guest01-root@primary-vds0         0
    guest01-data1    guest01-data1@primary-vds0        1
VLDCC
    NAME             SERVICE                     DESC              LDC
    ds               primary-vldc0@primary       domain-services

一旦绑定了来宾,就绑定了实际的物理资源,并分配了 LDC(逻辑域通道)。
域状态将显示为“绑定”。

内存绑定失败
当没有另外的未分配内存可用于分配时,会报告内存绑定失败。
ldm bind 会报如下错误:

# ldm bind guest01
Not enough free memory present to meet this request Could not bind requested memory for LDom guest01

纠正措施 :

  1. 使用 ldm list-devices memory 子命令查看系统上有多少未分配的内存可用。
    然后将实际可用的可用内存分配给域。
# ldm list-devices memory
MEMORY
PA SIZE
0x188000000 1920M
# ldm set-memory 1920M guest01
# ldm bind guest01
  1. 或者,通过在另一个域上使用 ldm set-memory 或者 remove-memory 子命令来减少另一个域的内存量。
    然后继续绑定域。
# ldm remove-memory 1g primary
# ldm bind guest01

VCPU绑定失败
当没有另外的未分配 VCPU 可用于分配时,会报告 VCPU 绑定失败。
ldm bind 会报如下错误:

# ldm bind guest01
Insufficient VCPU resources to bind LDom guest01

纠正措施是:

  1. 使用 ldm list-devices vcpu 子命令查看系统上有多少未分配的 VCPU 可用。
    然后将实际可用的可用 VCPU 分配给域。
# ldm list-devices vcpu
VCPU
PID %FREE
28 100
29 100
30 100
31 100
# ldm set-vcpu 4 guest01
# ldm bind guest01
  1. 或者,通过在另一个域上使用 ldm(1M) set-vcpu 或者 remove-vcpu 子命令来减少来自另一个域的 VCPU 数量。
    然后继续绑定域。
# ldm remove-vcpu 2 primary
# ldm bind guest01

MAU(Cryptographic Unit) 绑定失败
注意MAU 装置仅用于 T1、T2 和 T3 系列系统。
T4 系统没有 MAU。
在 T4 系统上,每个内核都包含一个提供加密处理的流处理单元 (SPU)。

当没有另外的未分配 MAU 可用于分配时,会报告 MAU 绑定失败。
此外,还要求必须将 MAU 起源的处理器内核中的至少一个 VCPU 分配给域。
尽管 MAU 绑定失败,但绑定将继续处理其余资源。
ldm bind 会报如下错误:

# ldm bind guest01
Only 1 physical crypto unit resource(s) available to bind to LDom guest01, proceeding with binding 1 additional crypto unit(s)

纠正措施是:

  1. 使用 ldm list-devices mau 子命令查看系统上有多少未分配的 MAU 可用。
    然后确保在将可用 MAU 分配给域之前,至少为关联核心中的一个 VCPU 分配了域。
# ldm list-devices mau
MAU
ID CPUSET
2 (8, 9, 10, 11)
3 (12, 13, 14, 15)
4 (16, 17, 18, 19)
5 (20, 21, 22, 23)
6 (24, 25, 26, 27)
7 (28, 29, 30, 31)
# ldm add-vcpu 1 guest01
# ldm add-mau 1 guest01
# ldm bind guest01
  1. 或者,通过在另一个域上使用 ldm set-mau 或者 remove-mau 子命令来减少来自另一个域的 MAU 数量。
    在这里,再次必须注意确保来自 MAU 的核心的一个 VCPU 被分配给域。
    然后继续绑定域。
# ldm remove-mau 1 primary

可能还需要移除 1 个 VCPU 并将其分配给来宾,以确保将与 MAU 相同的内核中的一个 VCPU 分配给来宾。

# ldm remove-vcpu 1 primary
# ldm add-vcpu 1 primary
# ldm bind guest01

虚拟控制台绑定失败
虚拟控制台集中器 (VCC) 和虚拟控制台 (VCONS) 提供对来宾域的控制台访问。
需要绑定一个在主域上创建的虚拟控制台服务。
错误发现的 VCC 可能会在绑定期间导致错误:

# ldm bind guest01
The virtual console concentrator service primary-vcc1 not exist or is not bound. Didn't find a suitable vcc service in a bound service domain to bind guest guest01 console

为确保 VCC 配置已根据配置,请使用 ldm list -l [domain] 命令查看配置:

# ldm list -l guest01
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
guest01          bound      ------  5001    4     3G
--lines omitted-
VCONS
    NAME             SERVICE                     PORT   LOGGING
    guest01          primary-vcc0@primary        5001   on

# ldm list -l primary
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  UPTIME
primary          active     -n-cv-  SP      4     4128M    0.9%  14d 55m
--lines omitted-
VCC
    NAME             PORT-RANGE
    primary-vcc0     5000-5100
--lines omitted-
VCONS
    NAME             SERVICE                     PORT   LOGGING
                     SP

如果没有配置,请按照以下步骤配置控制台服务:

# ldm add-vconscon port-range=5000-5100 primary-vcc0 primary
# ldm set-vconsole port=5000 service=primary-vcc0@primary guest01

然后确保 LDom 控制台 SMF 服务已更新并正在运行:

# svcs vntsd
STATE STIME FMRI
offline 13:20:40 svc:/ldoms/vntsd:default
# svcadm enable vntsd
# svcs vntsd
STATE STIME FMRI
online 13:39:35 svc:/ldoms/vntsd:default

用于故障排除的数据收集

向 oracle 支持提供正确的故障排除数据非常重要,以便快速解决问题。
下面是一些日志文件,它们对解决 LDOM 问题非常有帮助。

主域上 LDom 相关服务的 SMF(服务管理设施)日志

/var/svc/log/ldoms-ldmd:default.log
/var/svc/log/ldoms-vntsd:default.log
/var/svc/log/ldoms-agents:default.log
/var/opt/SUNWldm/ldom-db.xml

SMF(服务管理设施)和访客 LDom 上的 LDom 相关服务的日志

/var/svc/log/platform-sun4v-drd:default.log
/var/svc/log/ldoms-agents:default.log

如果 ldmd 守护程序转储核心,则核心文件将为“/var/opt/SUNWldm/core”,除非我们已使用 coreadm 控制核心文件位置。
来自 ldm 的消息“无效响应”通常意味着 ldmd 守护程序已转储核心,因此在这种情况下应收集核心文件。

探险家
Explorer 在主(控制)域上收集了许多重要的 LDom 相关输出:

# /opt/SUNWexplo/bin/explorer -w default,ldom

如何验证LDom服务是否启动

下面是两个基本服务需要在主域(又名控制域)上运行才能使 ldom 正常启动/工作。

1. svc:/ldoms/ldmd:default
2. svc:/ldoms/vntsd:default

这里,ldmd 是 ldom 服务,vntsd 是虚拟控制台服务。
服务的状态应该是在线,而不是禁用/维护。
如果服务状态被禁用,我们可以尝试使用 svcadm 命令重新启动它。
如果服务处于维护状态,请检查以下日志是否有任何异常:

/var/svc/log/ldoms-ldmd:default.log 用于 ldm 日志
/var/svc/log/ldoms-vntsd:default.log 用于 vntsd 日志

还要检查 /var/adm/messages 文件中是否有与 LDOM 相关的任何错误日志。
使用ps命令查看进程列表,进程列表中是否有ldmd和vntsd。

# ps -ef | egrep "vntsd|ldmd"

下面是 ldmd 服务和 vntsd 服务的默认配置:

svc:> select ldoms/ldmd
svc:/ldoms/ldmd> listprop
ldmd                                    application
ldmd/debug                              integer  0
ldmd/hops                               integer  0
ldmd/nocfg                              boolean  false
ldmd/xmpp                               boolean  false
fmd_config                              application
fmd_config/fmd_to_ldmd_init_timeout     integer  20
fmd_config/fmd_to_ldmd_running_timeout  integer  10
filesystem                              dependency
filesystem/entities                     fmri     svc:/system/filesystem/local
filesystem/grouping                     astring  require_all
filesystem/restart_on                   astring  none
filesystem/type                         astring  service
general                                 framework
general/action_authorization            astring  solaris.smf.manage.ldoms
general/entity_stability                astring  Unstable
general/single_instance                 boolean  true
start                                   method
start/exec                              astring  /opt/SUNWldm/bin/ldmd_start
start/timeout_seconds                   count    120
start/type                              astring  method
stop                                    method
stop/exec                               astring  :kill
stop/timeout_seconds                    count    60
stop/type                               astring  method
tm_common_name                          template
tm_common_name/C                        ustring  "Logical Domain Manager"
svc:> select ldoms/vntsd
svc:/ldoms/vntsd> listprop
vntsd                     application
vntsd/listen_addr         astring  localhost
vntsd/timeout_minutes     integer  0
vntsd/vcc_device          astring  virtual-console-concentrator@0
network                   dependency
network/entities          fmri     svc:/milestone/network
network/grouping          astring  optional_all
network/restart_on        astring  error
network/type              astring  service
syslog                    dependency
syslog/entities           fmri     svc:/system/system-log
syslog/grouping           astring  optional_all
syslog/restart_on         astring  none
syslog/type               astring  service
general                   framework
general/entity_stability  astring  Unstable
start                     method
start/exec                astring  /lib/svc/method/svc-vntsd
start/timeout_seco

如果无法从控制域 telnet 到来宾 ldom,则可能需要停止/重新启动 vntsd 服务:

# svcadm disable /ldoms/vntsd
# svcadm enable  /ldoms/vntsd

OVM for SPARC (LDOM):控制台问题故障排除

LDOM 故障排除教程

大多数 LDOM 问题都可以通过查看错误消息轻松解决。
以下是一些最常见的 LDOM 问题以及解决这些问题的基本故障排除技巧。

1. Unable to create LDom
2. Unable to install LDom
3. Unable to configure LDom
4. Unable to bind LDom
5. Unable to connect to LDom

LDOM 控制台日志

从 LDom 3.0 开始,控制台日志收集在 /var/log/vntsd//(主域上的最低 Solaris 11)。

# ldm list
NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIME
primary          active     -n-cv-  UART    8     24G      0.2%  0.2%  12d 11h 1m
ldom01          active     -n----  4001    10    2304M    0.1%  0.1%  12d 7h 22m
// console logs on live system:
# ls -l /var/log/vntsd/*/*
-rw-------   1 root     root     2812386 Sep 18 10:38 /var/log/vntsd/ldom01/console-log
日期:2020-09-17 00:15:15 来源:oir作者:oir