Troubleshooting Solaris Kernel Zone Issues
(Doc ID 2193740.1)
Last updated on DECEMBER 19, 2023
Applies to:
Solaris x64/x86 Operating System - Version 11.2 and laterSolaris Operating System - Version 11.2 and later
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on x86-64 (64-bit)
Purpose
This document explains Solaris Kernel Zones shows ways to troubleshoot issues
Troubleshooting Steps
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Purpose |
Troubleshooting Steps |
Description of Kernel Zones |
How to Verify Kernel Zone Support on a Host |
How to verify whether I'm logged into a Kernel Zone ? |
Some general hints how to troubleshooting kernel zones |
Check KZ console. The output of KZ console is saved into /var/log/zones/<zonename>.console file |
Check KZ log file. That is located at /var/log/zones/<zonename>.messages |
If you can reproduce, turn on verbose debugging by setting the zone's bootargs to kz=d (dd, D, DD) (via zonecfg or commandline) |
Check the zone's private aux states with zoneadm list -ap |
For live migration, check the RAD service logs in /var/svc/log/. Turning on RAD's config/debug=true can help to debug LiveMigration |
Check your firmware version (SPARC) is up to date. Many problems are related to firmware bugs |
Does ssh into the guest still work? Does zlogin into the guest still work? Does zlogin -C ? |
Collect pstack output of kzhost and zoneadmd |
Check for any core dumps. Is coreadm configured correctly ? |
Make sure that kzhost process is running. You can find the right kzhost process by running ptree -z <zonename> |
Run truss(1) on kzhost and verify that the kzhost process is running. It should be at least doing bunch of ZVMM_IOC_VCPU_ENTER ioctls. |
If the zone is not responding, try to collect crash dump using zoneadm -z <zonename> savecore. That can be later investigated using mdb or Solaris Core Analysis Tool |
If the zone is not responding, try to inject NMI into it using /usr/lib/kzlom /system/volatile/zones/<zonename>/zonepath/root/system/kz_door |
For dedicated-cpu guest, find out what physical CPUs the virtual CPUs are running on |
Add option '-x no-auto-shutdown' to zoneadm install command to allow debugging in case of install failure |
Early attaching mdb to zoneadmd or kzhost |
Run mdb on kzhost and try to investigate what it's doing. Check stacks of all kzhost threads |
Run mdb -k and see what kzhost and zoneadmd are doing in the kernel |
On sun4v check ::httrace output. Each guest hypercall will be in there, and with some skill you can dig out most of its arguments |
Share some data between global zone and kernel zone |
zoneadm attach fails with "Encryption key not available" |
zoneadm install fails with: "ERROR: One or more bootable disks is in use by an existing zpool" |
Failure to boot with not enough RAM |
Boot alternate BE on KZ |
Install a Kernel Zone from an ISO file |
Export an ISO file from global zone to a running kernel zone |
With new firmware on T7 / M7 / S7 systems, Kernel Zone load might drop |
Boot from alternate device e.g. ISO file exported by GZ |
Info about live zone reconfiguration (LZR) |
References |