Solaris 10 Zone von Solaris 10 auf Solaris 11 Hostsystem migrieren

Author: | Posted in Solaris 1 Comment

Solaris 11 unterstützt Solaris 10 branded Zones und bietet so eine Möglichkeit, bestehende Solaris 10 Zonen mit einem geringen Aufwand auf ein Solaris 11 Host System zu migrieren. Obwohl die Zone weiterhin sich wie eine Solaris 10 Zone verhalten wird, macht so eine Migration durchaus Sinn, da sich insbesondere die Administration der Zonen unter Solaris 11 wesentlich vereinfacht und man von neuen Funktionen wie der Netzwerkvirtualisierung profitieren kann. Insbesondere die Netzwerkvirtualisierung vereinfacht vieles, da sich die Zonen nicht. mehr einen IP Stack teilen müssen.

In diesem Beispiel gehe ich nicht darauf ein, wie eine Zone auf eine auf einen exklusiven IP Stack umkonfiguriert wird mittels Netzwerkvirtualisierung. Hierfür möchte ich auf ein hervorragendes Whitepaper von Oracle hinweisen: Exploring Network Virtualization With Oracle Solaris Zones on Oracle Solaris 11 Express

Bevor es los geht, muss man sich einer Einschränkung bewusst sein: Es können nur Full Root Zonen migriert werden!Die mit Solaris 10 eingeführten Sparse Zonen, wo Pakete vererbt wurden und Teile des System geteilt wurden ist in der Theorie sicher eine gute Idee gewesen. In der Praxis stellte sich jedoch heraus, dass der Umgang mit Sparse Zonen sehr problematisch ist, weshalb Oracle mit Solaris 11 nur noch Full Root Zonen unterstützt.

Als Vorbereitung muss auf dem bestehenden Solaris 10 System die Zone heruntergefahren werden. So bald die Zone ausgeschaltet ist, kann daraus ein Backup mit cpio erstellt werden. Hierfür, begibt man sich auf der Shell in das Verzeichnis, wo die Zone installiert ist (z.B. /zones ).

# find dognchgresv01 -print | cpio -oP@ | gzip >dognchgresv01.cpio.gz

Anschliessend kopiert man das File dognchgresv01.cpio.gz auf die neue Solaris 11 Maschine.

Auf der Solaris 11 muss als erstes die Unterstützung für Solaris 10 Branded Zones installiert werden:

# pkg install SUNWs10brand

Anschliessend kann die Zone erstellt und konfiguriert werden:

# zonecfg -z dognchgresv01 
dognchgresv01: No such zone configured
Use 'create' to begin configuring a new zone.
zonecfg:dognchgresv01> create -t SUNWsolaris10
zonecfg:dognchgresv01> set zonepath=/zones/dognchgresv01/zoneroot
zonecfg:dognchgresv01> add net
zonecfg:dognchgresv01:net> set address=192.168.42.171
zonecfg:dognchgresv01:net> set physical=nge0
zonecfg:dognchgresv01:net> end
zonecfg:dognchgresv01> verify
zonecfg:dognchgresv01> commit
zonecfg:dognchgresv01> exit

Anmerkung
Wenn die bestehende Solaris 10 Zone über ZFS Datasets verfügt, müssen diese getrennt auf das neue System kopiert werden. Wie das geht, habe ich in einem früheren Blog Artikel beschrieben.

Um das Dataset dann einzubinden, muss die Zonenkonfigration entsprechend angepasst werden:

zonecfg:dognchgresv01> add dataset
zonecfg:dognchgresv01:dataset> set name=rpool1/zones/dognchgresv01/dataset01
zonecfg:dognchgresv01:dataset> end

Sobald die Zone konfiguriert ist, kann mit dem cpio Backup die neue Zone erstellt werden:

# zoneadm -z dognchgresv01 attach -a dognchgresv01.cpio.gz

Zum Abschluss muss die migrierte Zone nur noch gebootet werden:

# zoneadm -z dognchgresv01 boot
Comments
  1. Posted by Marco Stadler

Add Your Comment