Go to main content

Creating and Using Oracle® Solaris Kernel Zones

Exit Print View

Updated: August 2021
 
 

Using an AI Manifest to Install a Kernel Zone

You can use an Automated Installation (AI) manifest when you need to install multiple kernel zones with specific resource and package configurations that are different from those in the global zone.

Observe the following requirements and guidelines when installing an alternate AI manifest to a kernel zone:

  • For a successful installation, the AI manifest and sysconfig files must include the full path and .xml suffix.

  • You cannot apply custom disk references in an AI manifest to a kernel zone installation. Because a kernel zone root disk is not available to the global zone, the kernel zone installation script automatically assigns a labeled loopback file, or lofi, device during configuration to allow for root disk creation. You can configure a removable loopback file lofi device, which works as a CD-ROM device, on the kernel zone. See Managing Removable Devices on the Kernel Zone.

  • If you use an AI manifest to install a different version of Oracle Solaris than the one that is installed in the global zone, you must perform the installation from an image for the version of Oracle Solaris that you are installing. See Using an Installation Image to Install a Kernel Zone for an example.

How to Install a Kernel Zone by Using an AI Manifest

This procedure provides the zoneadm command to install a kernel zone with an AI manifest and detailed examples.

For additional information about developing and customizing an AI manifest, see Chapter 5, Specifying Criteria for AI Manifests and System Configuration Profiles in Customizing Automated Installations With Manifests and Profiles.

Before You Begin

Review the requirements and guidelines in Using an AI Manifest to Install a Kernel Zone.

  1. On the kernel zone host, become an administrator.

    For more information, see Using Rights Profiles to Install and Manage Zones in Creating and Using Oracle Solaris Zones.

  2. Install the kernel zone by using a specified AI manifest.
    global$ zoneadm -z kzone install -m path-to-manifest
  3. (Optional)Review the installation logs.

    For their location, see Installing a Kernel Zone.

Example 22  Installing a Kernel Zone by Using a Separate Automated Installer (AI) Manifest

This example shows an installation of the kernel zone kzone1 using the non-default Automated Install (AI) manifest /var/tmp/kz_manifest.xml.

global$ pfbash zoneadm -z kzone1 install -m /var/tmp/kz_manifest.xml
Progress being logged to /var/log/zones/zoneadm.20146T195713Z.kzone1.install
pkg cache: Using /var/pkg/publisher.
 Install Log: /system/volatile/install.10708/install_log
 AI Manifest: /tmp/zoneadm10343.5la4Vu/devel-ai-manifest.xml
  SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
Installation: Starting ...

        Creating IPS image
         Startup: Retrieving catalog 'solaris' ... Done
         Startup: Caching catalogs ... Done
         Startup: Refreshing catalog 'solaris' ... Done
        Installing packages from:
            solaris
                origin:  http://pkg.oracle.com/solaris/release/
         Startup: Linked image publisher check ... Startup: Refreshing catalog 'solaris' ... Done
        Planning: Solver setup ... Done
        Planning: Running solver ... Done
        Planning: Finding local manifests ... Done
        Planning: Fetching manifests:   0/501  0% complete
        Planning: Fetching manifests: 501/501  100% complete
        Planning: Package planning ... Done
        Planning: Merging actions ... Done
        Planning: Checking for conflicting actions ... Done
        Planning: Consolidating action changes ... Done
        Planning: Evaluating mediators ... Done
        Planning: Planning completed in 32.07 seconds
        The following licenses have been accepted and not displayed.
        Please review the licenses for the following packages post-install:
          consolidation/osnet/osnet-incorporation
        Package licenses may be viewed using the command:
          pkg info --license <pkg_fmri>

        Download:     0/64687 items    0.0/569.3MB  0% complete
        Download:   931/64687 items    5.8/569.3MB  1% complete (1.2M/s)
        ...
        Download: 64589/64687 items  569.2/569.3MB  99% complete (825k/s)
        Download: Completed 569.25 MB in 358.54 seconds (1.6M/s)
         Actions:     1/88614 actions (Installing new actions)
         Actions: 19471/88614 actions (Installing new actions)
         ...
         Actions: 86994/88614 actions (Installing new actions)
         Actions: 87128/88614 actions (Installing new actions)
         Actions: Completed 88614 actions in 73.71 seconds.
         Installation: Succeeded
         Done: Installation completed in 342.508 seconds.

Log saved in non-global zone as /zones/kzone1/root/var/log/zones/zoneadm.20146T195713Z.kzone1.install
Example 23  Installing a Kernel Zone Using an Automated Installer (AI) Manifest for a Unified Archive (UAR) with Non-Root Pool

If a UAR contains datasets in a non-root pool and the AI manifest does not account for the non-root pool, you might see the following error:

ERROR: Archive contains non-root data, please use [-m manifest]

The following sample AI manifest is for installing from a UAR located at the path /Extpool/Archive/Clone-T4.uar. This archive was created on a system that has a non-root zpool named tank.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1">
<auto_install>
  <ai_instance name="default">
    <target name="origin">
      <disk in_zpool="rpool" in_vdev="rpool-none" whole_disk="true">
        <disk_name name="c1d0" name_type="ctd"/>
      </disk>
      <disk in_zpool="tank" in_vdev="tank-none" whole_disk="true">
        <disk_name name="c1d1" name_type="ctd"/>
      </disk>
      <logical noswap="false" nodump="false">
        <zpool name="rpool" action="create" is_root="true"
            mountpoint="/rpool">
          <vdev name="rpool-none" redundancy="none"/>
        </zpool>
        <zpool name="tank" action="create" is_root="false"
            mountpoint="/tank">
          <vdev name="tank-none" redundancy="none"/>
        </zpool>
      </logical>
    </target>
    <software type="ARCHIVE">
      <source>
        <file uri="file:///Extpool/Archive/Clone-T4.uar"/>
      </source>
      <software_data action="install">
        <name>*</name>
      </software_data>
    </software>
  </ai_instance>
</auto_install>

If the manifest file is stored in /tmp/ai.xml and storage devices with IDs 0 and 1 exist in the kzone1 zone configuration, you can use the following command to install in the kernel zone kzone1:

global$ zoneadm -z kzone1 install -m /tmp/ai.xml