Solaris 10 Zone von Solaris 10 auf Solaris 11 Hostsystem migrieren
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
Man kann neben normalen Zonen auch sehr einfach Solaris 10 Branded Zones auf Solaris 11 mit unserem Produkt VDCF erstellen.
VDCF: Virtual Datacenter Control Framework – Management Software für virtualisierte Solaris Umgebungen. Check out on our website!