故障排除
1.检查vntsd服务
检查虚拟网络终端服务器守护进程是否已启用:
# svcs -l vntsd fmri svc:/ldoms/vntsd:default name virtual network terminal server enabled true state online next_state none state_time Wed Oct 15 16:03:54 2008 logfile /var/svc/log/ldoms-vntsd:default.log restarter svc:/system/svc/restarter:default contract_id 57 dependency optional_all/error svc:/milestone/network (online) dependency optional_all/none svc:/system/system-log (online)
以下是 vntsd 服务的默认配置:
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
检查 /var/svc/log/ldoms-vntsd:default.log 以及 /var/adm/messages 中可能存在的错误:
# more /var/svc/log/ldoms-vntsd:default.log
# egrep -i "console|vntsd" /var/adm/messages*
尝试停止并启动 vntsd 服务:
# svcadm disable svc:/ldoms/vntsd:default # svcadm enable svc:/ldoms/vntsd:default
- 检查 LDOM 配置中的 VCON 设置
# ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME primary active -n-cv- UART 8 24G 0.1% 0.1% 21d 1h 18m ldom1 active -n---- 5000 10 2304M 0.0% 0.0% 20d 21h 39m -- lines omitted -
# ldm list -o console NAME primary VCC NAME PORT-RANGE primary-vcc0 5000-5100 VCONS NAME SERVICE PORT LOGGING UART ----------------------------------------------------------------------------- NAME guest1 VCONS NAME SERVICE PORT LOGGING guest1 primary-vcc0@primary 5000 on ----------------------------------------------------------------------------- -- lines omitted -
3.检查设备和权限
# ls -l /devices/virtual-devices@100/channel-devices@200/virtual-console-concentra* crw------- 1 root sys 317, 2047 Sep 18 06:47 /devices/virtual-devices@100/channel-devices@200/virtual-console-concentrator@0:ctl crw------- 1 root sys 317, 0 Sep 18 06:47 /devices/virtual-devices@100/channel-devices@200/virtual-console-concentrator@0:ldom-guest1 crw------- 1 root sys 317, 1 Sep 18 06:47 /devices/virtual-devices@100/channel-devices@200/virtual-console-concentrator@0:ldom-guest2 crw------- 1 root sys 317, 2 Sep 18 06:47 /devices/virtual-devices@100/channel-devices@200/virtual-console-concentrator@0:ldom-guest3
4.用netstat检查vcc端口号
检查 netstat 输出中的 LDOM 端口。
当关联的 LDOM 启动时,它应该处于 LISTEN 模式。
# netstat -a | egrep ".50[0-90-9]" controldomain.5000 *.* 0 0 128000 0 LISTEN controldomain.5001 *.* 0 0 128000 0 LISTEN controldomain.5002 *.* 0 0 128000 0 LISTEN controldomain.5003 *.* 0 0 128000 0 LISTEN
5.我们可以考虑删除并重新添加vcc
这可能是最后的选择,你可以试试。
只需删除并重新添加 vcc。
# ldm remove-vcc [-f] primary-vcc0 # ldm add-vcc port-range=5000-5100 primary-vcc0 primary
基本
在 Logical Domains 环境中,来自除主域之外的所有域的控制台 I/O 被重定向到运行虚拟控制台集中器 (vcc) 和虚拟网络终端服务器 (vntsd) 服务的服务域,而不是系统控制器。
虚拟控制台集中器服务用作所有域、控制台流量和与虚拟网络终端服务器守护程序接口的集中器,并通过 UNIX 套接字导出对每个控制台的访问。
要创建虚拟控制台集中器或者 VCC 服务以提供对 LDOM 的控制台访问:
primary # ldm add-vcc port-range=5000-5100 primary-vcc0 primary
VCC 服务可以自由命名为“primary-vcc0”以外的任何名称。
我们使用从 5000 到 5100 的未使用端口作为我们的 LDOM 控制台端口。
根据上述端口范围,Guest LDom 将被分配一个 VCC 端口 id。
# ldm start ldom1 # ldm list Name State Flags Cons VCPU Memory Util Uptime primary active -t-cv SP 4 4G 0.6% 4h 8m ldom1 active -t—- 5000 4 4G 0.2% 2m
现在,我们可以使用 telnet 和上面 Cons 列下指定的控制台编号连接到来宾域的虚拟控制台:
# telnet localhost 5000 Trying 127.0.0.1... Connected to localhost. Escape character is ‘^]’. Connecting to console “ldom1” in group “ldom1” .... Press ~? for control options ..
如上例所示,下一个 Guest LDom 将使用下一个可用的空闲端口。
通常,端口按升序分配。
可用于虚拟网络控制台的服务是 svc:/ldoms/vntsd 。