OVM Templates gibt es schon laenger. Dokumentation und verschiedene Templates sind auf OTN gut verfuegbar. Allerdings dreht sich die Dokumentation meist um den OVM Manager und die Templates gibt es in der Regel fuer Linux auf x86. Aber die Situation fuer SPARC und Solaris wird besser. Ein Template fuer Weblogic 12.1.3 gibt es schon.
(Dieser Artikel ist die Blog-Version des ersten Teils von MOS DocID 2063739.1 die hier fuer einfachen Zugriff wiedergegeben wird.)
Die Tools zum Erzeugen, Ausrollen und Konfigurieren von Templates sind in Solaris 11.3 enthalten. Es gibt sie jedoch auch als separaten Download in Form von Patch ID 21210110. In dieser Mini-Serie werde ich beschreiben, wie man Templates installiert und selber baut.
Los geht’s mit dem einfachsten Teil: Die Installation eines existierenden Templates auf einem SPARC System.
Der erste Schritt ist hier natuerlich, sich ein Template zu besorgen. Noch gibt es recht wenig Auswahl – es gibt ein Template mit Solaris 10, eines mit Solaris 11. Aber mehr sind in Arbeit. Verfuegbar sind sie auf Edelivery.oracle.com. Hier ist ein kleiner Screenshot damit der Download klappt. Meine Notizen sind in Rot…

Das Template fuer Weblogic 12.1.3 gibt es hier.
Nach erfolgreichem Download hat man eine Datei “sol-11_2-ovm-sparc.ova” oder aehnlich. Dies ist das Template im Open Virtualization Format. Da OVA und AVF auf tar aufbauen, kann man sich den Inhalt dieser Datei ganz einfach ansehen, falls einen die Neugier dazu draengt.
Im zweiten Schritt braucht man das OVM Template Tookit in der Control Domain des Servers. Dazu kann man entweder auf Solaris 11.3 upgraden oder das Toolkit per Patch von MOS installieren. Nach der Installation finden sich die Tools in /opt/ovmtutils. Der Patch enthaelt auch README-Datien und manpages fuer die Tools. Dort werden wissenswerte Details und Kommando-Optionen erklaert, die hier nicht behandelt werden.
root@mars:/tmp/ovmt# unzip /tmp/p21210110_11010_SOLARIS64.zip
Archive: /tmp/p21210110_11010_SOLARIS64.zip
inflating: README.txt
creating: man1m/
inflating: man1m/ovmtconfig.1m
inflating: man1m/ovmtprop.1m
inflating: man1m/ovmtlibrary.1m
inflating: man1m/ovmtcreate.1m
inflating: man1m/ovmtdeploy.1m
inflating: ovmt-utils1.1.0.1.p5p
root@mars:/tmp/ovmt# pkg install -vg ./ovmt-utils1.1.0.1.p5p ovmtutils
[....]
root@mars:~# ls /opt/ovmtutils/bin
agent dist ovmtconfig ovmtdeploy ovmtprop
bin lib ovmtcreate ovmtlibrary
Bevor wir nun das Template installieren, ein kurzer Blick auf das, was die Tools selbst ueber das Template sagen:
root@mars:~# ovmtdeploy -l ./sol-11_2-ovm-sparc.ova
Oracle Virtual Machine for SPARC Deployment Utility
ovmtdeploy Version 1.1.0.1.4
Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
STAGE 1 - EXAMINING SYSTEM AND ENVIRONMENT
------------------------------------------
Checking user privilege
Performing platform & prerequisite checks
Checking for required services
Named resourced available
STAGE 2 - ANALYZING ARCHIVE & RESOURCE REQUIREMENTS
---------------------------------------------------
Checking .ova format and contents
Validating archive configuration
Listing archive configuration
Assembly
------------------------
Assembly name: sol-11_2-ovm-sparc.ovf
Gloabl settings:
References: zdisk-ovm-template-s11_2 -> zdisk-ovm-template-s11_2.gz
Disks: zdisk-ovm-template-s11_2 -> zdisk-ovm-template-s11_2
Networks: primary-vsw0
Virtual machine 1
------------------------
Name: sol-11_2-ovm-sparc
Description: Oracle VM for SPARC Template with 8 vCPUs, 4G memory, 1 disk image(s)
vcpu Quantity: 8
Memory Quantity: 4G
Disk image 1: ovf:/disk/zdisk-ovm-template-s11_2 -> zdisk-ovm-template-s11_2
Network adapter 1: Ethernet_adapter_0 -> primary-vsw0
Oracle VM for SPARC Template
root-password
network.hostname
network.bootproto.0
network.ipaddr.0
network.netmask.0
network.gateway.0
network.dns-servers.0
network.dns-search-domains.0
Man sieht, dass die Zieldomain
- 8 vCPUs und 4GB RAM,
- einen Ethernet Adapter an “primary-vsw0” und
- ein Festplatten-Image
haben wird.
Darueber hinaus gibt es diverse Properties, die nach der Installation aber vor dem ersten Start der Domain konfiguriert werden koennen. In diesem Fall sind das alles Solaris-Properties die man normalerweise bei der initialen Systemkonfiguration bestimmen wuerde – entweder an der Konsole oder mit einem AI Profile. Wir werden spaeter sehen, wie man diese Properties mit den OVM Template Tools einfach setzen kann.
Vor der eigentlichen Installation sollte man kurz die Voraussetzungen pruefen:
- Die Control Domain sollte mit Solaris 11.3 installiert sein. Mindestens jedoch braucht man Solaris 11.2 und die OVM Template Tools.
- Der Virtual Console Service muss konfiguriert und gestartet sein. Wie das geht, steht hier.
- Ein Virtual Disk Service muss ebenfalls vorhanden sein.
Nun, ohne weitere Details, eine einfache Installation:
root@mars:~# ovmtdeploy -d solarisguest -o /localstore/domains \
/incoming/sol-11_2-ovm-sparc.ova
In diesem sehr einfachen Beispiel wird eine Domain “solarisguest” installiert. Das Disk Image wird in /localstore/domains abgelegt und die Domain wird aus dem Template in /incoming/sol-11_2-ovm-sparc.ova installiert.
Auf einige Punkte moechte ich hier hinweisen:
- ovmtdeploy wird die Domain mit den Resourcen erzeugen, die im Template definiert sind.
- Es wird, falls notwendig, einen vSwitch erzeugen und mit Netzwerk-Ports verbinden. Das sollte man ggf. nachpruefen.
- Wenn nicht anders angegeben, wird ovmtdeploy einfache Dateien als Disk Images verwenden.
- Alle diese Einstellungen koennen an der Kommandozeile geaendert werden. Damit sind auch sehr fortgeschrittene Konfigurationen moeglich, die ich hier jedoch nicht weiter betrachten werde.
- Die Domain wird sofort nach der Installation gestartet. Da wir in diesem Beispiel die notwendigen Properties nicht mit Werten versehen haben, wird Solaris unkonfiguriert booten und an der Console die entsprechenden Werte abfragen.
Damit das einfacher wird, hier eine zweite Installation, diesmal mit Werten fuer diese Properties. Damit ist es moeglich, die Domain ohne manuelle Intervention in konfiguriertem Zustand zu booten. Dafuer braucht man lediglich eine kleine Textdatei die die entsprechenden Werte enthaelt:
Es sollte klar sein, wie man diese Datei an eigene Gegebenheiten anpasst. Mit dieser Datei ist die Installation und Konfiguration eine Sache von zwei einfachen Schritten:root@mars:~# more solaris_11.props.values
# Default hostname
com.oracle.solaris.system.computer-name=solarisguest
# Root user account settings
com.oracle.solaris.root-password='password hash goes here'
# Administrator account settings
com.oracle.solaris.user.name.0=admin
com.oracle.solaris.user.real-name.0="Administrator"
com.oracle.solaris.user.password.0='password hash goes here'
# Network settings for first network instance
# Domain network interface
com.oracle.solaris.system.ifname=net0
# IP Address
# if not set, use DHCP
com.oracle.solaris.network.ipaddr.0=192.168.1.2
com.oracle.solaris.network.netmask.0=24
com.oracle.solaris.network.gateway.0=192.168.1.1
# DNS settings
# (comma separated list of DNS servers)
com.oracle.solaris.network.dns-servers.0=192.168.1.1
# (comma separated list of domains)
com.oracle.solaris.network.dns-search-domains.0=example.com
# System default locale settings
com.oracle.solaris.system.time-zone=US/Pacific
root@mars:~# ovmtdeploy -d solarisguest -o /localstore/domains \
-s /incoming/sol-11_2-ovm-sparc.ova
Dieses erste Kommando installiert die Domain, startet sie aber nicht. Dafuer gibt es die Option “-s”.
root@mars:~# ovmtconfig -d solarisguest \
-c /opt/ovmtutils/share/scripts/ovmt_s11_scprofile.sh \
-P solaris_11.props.values
Das Script “ovmt_s11_scprofile.sh” ist Teil der OVM Template Tools. ovmtconfig wird das installierte Disk Image mounten und dann dieses Script aufrufen. Dieses wird anhand der Property-Werte aus “solaris_1.props.values” ein Konfigurations-Profil erzeugen. Diese Profil wird von Solaris beim ersten Booten verwendet, um die Domain zu konfigurieren.
Damit haben wir eine laufende Solaris Gast Domain. Wenn sie nicht gefallen sollte, ist sie mit “ovmtdeploy -U solarisguest” ganz schnell und sauber wieder de-installiert. Eine solche Domain ist ein idealer Startpunkt, um damit eigene, komplexere Templates zu entwickeln. Das werde ich im zweiten Teil der Serie behandeln.
Fuer Wissbegierige hier noch einige Links zum Thema:
- Original announcement of OVM Templates:
https://blogs.oracle.com/virtualization/entry/oracle_vm_templates_now_available - OTN Pages with OVM Templates for Solaris:
https://www.oracle.com/technetwork/server-storage/solaris11/vmtemplates-sparc-x86-1949722.html
https://www.oracle.com/technetwork/server-storage/vm/solaris-098101.html - Product page on OTN, featuring OVM Templates:
https://www.oracle.com/technetwork/server-storage/vm/templates-101937.html - Weblogic 12.1.3 Template for SPARC Solaris
https://www.oracle.com/technetwork/server-storage/solaris11/downloads/solaris-vm-2621499.html - “How to Use Oracle VM Templates”, mostly focused on OVM Manager:
https://www.oracle.com/technetwork/articles/servers-storage-admin/configure-vm-templates-1656261.html - Wikipedia about the Open Virtualization Format
https://en.wikipedia.org/wiki/Open_Virtualization_Format - Template for Weblogic Server 12.1.3 on SPARC
https://www.oracle.com/technetwork/server-storage/solaris11/downloads/solaris-vm-2621499.html -
Tom Daly’s blog,
discussing the Weblogic template in more detail. He’s actually using
the same source to build templates for OpenStack and OVM!
