Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Solaris 10 Container Daniel Schossig daniel@schossig.net
2
Inhalt ● Definition Virtualisierung ● Betriebssystem Virtualisierungslösungen ● Vorteile Solaris 10 Container ● Zonen ● Container ● Netzwerk ● Beispiel Zonen/Container ● Zukunft ● Demo
3
Definition Virtualisierung C't 2006/13 S. 182 „Technik zum verbergen der physischen gegebenheiten einer Computerressource vor anderen Systemen, Applikationen oder Benutzern.“ ● Abstraktion von Computerressourcen ● Existiert nicht real, wirkt täuschend echt ● Unterscheidung Systemvirtualisierung und Betriebssystemvirtualisierung http://en.wikipedia.org/wiki/Virtualisation
4
Betriebssystemvirtualisierung C't 2006/13 S. 182 ● Bildet reale Umgebung authentisch nach ● Unterschied zur SV: Prozessor ist echt ● Mehrere Betriebssystemumgebungen aber nur ein Betriebssystemkern ● Nach außen hin eigenständige Systeme
5
Virtualisierungslösungen http://en.wikipedia.org/wiki/Operating_system-level_virtualization
6
Praktischer Nutzen C't 2006/13 S. 182 ● i.d.R. sind Virtuelle Umgebungen portabel ● Vereinfachte Administration ● Effektivere Ressourcennutzung ● Spart Platz und Kosten http://blogs.sun.com/kchangs/resource/bootcamp-containers-041206.pdf
7
Vorteile Container ● Sehr gute Integration in Solaris ● Update sehr einfach ● Ressourcenmanagement sehr mächtig ● Alle Tools auf Zonen zugeschnitten ● Alles aus einem Guss http://www.sun.com/software/solaris/containers_learning_center.jsp
8
Anforderungen http://www.sun.com/software/solaris/specs.jsp http://www.opensolaris.org/os/community/zones/faq/ ● Solaris 10 ● x86/x64 mit 120MHz ● Sparc mit 250MHz ● 256MB RAM ● 2GB Festplattenspeicher ● Theoretisch über 8000 Container
9
Zonen http://regions.cmg.org/regions/mspcmg/Presentations/May2006/Solaris10%20Overview%20CMG%205-2006.pdf http://www.opensolaris.org/os/community/zones/faq/#basic_zone ● Virtuelle Umgebung ● Applikationen laufen darin Isoliert – hilft bei: Softwarefehlern, Einbrüchen ● i.d.R. keine Anpassung der Anwendungen ● Global Zone ● Sparse-/Whole-root Zone ● Keine non-global zonen in non-global zonen
10
Sparse- und Whole-Root Zone Sparse-Root Zone ● Gemeinsame Verzeichnisse ● Geringster Platzbedarf ● Einfach zu aktualisieren ● Einschränkungen beim konfigurieren http://www.opensolaris.org/os/community/zones/faq/#basic_glossary Whole-Root Zone ● Keine gemeinsamen Verzeichnisse ● Größter Platzbedarf ● Höherer Ressourcenverbrauch ● Keine Einschränkungen beim konfigurieren http://www.as-systeme.de/Unternehmen/events/downloads/unternehmen/i.1C0FY-N01qP/best_practices
11
Sparse und Whole-Root Zone http://www.as-systeme.de/Unternehmen/events/downloads/unternehmen/i.1C0FY-N01qP/best_practices
12
Container ● nutzt Ressourcenmanagment von Solaris http://www.solarisinternals.com/wiki/index.php/Zones_Resource_Controls
13
Prozessor Sets ● Fixed CPUs – Feste Prozessoranzahl pro Zone ● Varying CPUs – Min./Max. Prozessoranzahl pro Zone ● CPU Shares – Vergabe von Shares http://www.solarisinternals.com/wiki/index.php/Zones_Resource_Controls
14
Netzwerk ● Ein TCP/IP Stack für das gesamte System ● Eine Routing- tabelle im TCP/IP Stack ● Eigene IP Adresse ● Teilen meistens gemeinsame NIC ● Zonen sehen Traffic anderer Zonen nicht http://www.as-systeme.de/Unternehmen/events/downloads/unternehmen/i.1C0FY-N01qP/best_practices
15
Beispiel [root@test]/# zonecfg -z test-zone test-zone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:test-zone> create zonecfg:test-zone> set autoboot=true zonecfg:test-zone> set zonepath=/export/test-zone zonecfg:test-zone> add net zonecfg:test-zone:net> set address=192.168.0.53 zonecfg:test-zone:net> set physical=hme0 zonecfg:test-zone:net> end
16
Beispiel zonecfg:test-zone> add fs zonecfg:test-zone:fs> set dir=/usr/local zonecfg:test-zone:fs> set special=/pub zonecfg:test-zone:fs> set type=lofs zonecfg:test-zone:fs> end zonecfg:test-zone> verify zonecfg:test-zone> commit
17
Beispiel zonecfg:test-zone> info zonename: test-zone zonepath: /export/test-zone autoboot: true pool: limitpriv: inherit-pkg-dir: dir: /lib [...] fs: dir: /usr/local special: /pub raw not specified type: lofs options: [] net: address: 192.168.0.53 physical: hme0 zonecfg:test-zone> exit
18
Beispiel [root@test]/# mkdir /export/test-zone [root@test]/# chmod 700 /export/test-zone [root@test]/# zoneadm -z test-zone verify [root@test]/# zoneadm -z test-zone install Preparing to install zone. Creating list of files to copy from the global zone. Copying files to the zone.
19
Beispiel Initializing zone product registry. Determining zone package initialization order. Preparing to initialize packages on the zone. Initializing package of : percent complete: 0% Initialized packages on zone. Zone is initialized. The file contains a log of the zone installation.
20
Beispiel [root@test]/# zoneadm -z test-zone boot [root@test]/# zoneadm list -cv ID NAME STATUS PATH 0 global running / 1 postsql running /export/postsql 2 small-zone running /export/small-zone 3 test-zone running /export/test-zone [root@test]/# zlogin -C test-zone test-zone console login:
21
Ressourcenmanagment Beispiel CPU http://www.solarisinternals.com/wiki/index.php/Zones_Resource_Controls [root@test]/# svcadm enable pools [root@test]/# pooladm -s [root@test]/# poolcfg -c "create pool pool1" [root@test]/# poolcfg -c "create pool pool2" [root@test]/# zonecfg -z small-zone set pool=pool1 [root@test]/# zonecfg -z postsql set pool=pool2 [root@test]/# poolcfg -f - <<EOF > create pset pset1 (uint pset.min = 1 ; uint pset.max = 1) > associate pool pool1 (pset pset1) > EOF [root@test]/# poolcfg -f - <<EOF > create pset pset2 (uint pset.min = 1 ; uint pset.max = 1) > associate pool pool2 (pset pset2) > EOF http://www.opensolaris.org/os/project/rm/pools/msets/
22
Ressourcenmanagment http://www.solarisinternals.com/wiki/index.php/Zones_Resource_Controls [root@test]/# zonecfg -z small-zone info zonename: small-zone zonepath: /export/small-zone autoboot: true pool: pool1 [...] [root@test]/# zonecfg -z postsql info zonename: postsql zonepath: /export/postsql autoboot: true pool: pool2 [...] http://www.opensolaris.org/os/project/rm/pools/msets/
23
Ressourcenmanagment Beispiel Speicher http://www.solarisinternals.com/wiki/index.php/Zones_Resource_Controls > poolcfg -f – <<EOF > create mset mset1 (uint mset.min = 512M; uint mset.max = 512M) > modify mset mset1 (uint mset.minswap = 1GB; uint mset.maxswap = 1GB) > associate pool pool1 (mset mset1) > EOF ● im Moment nur über rcapd lösbar http://www.opensolaris.org/os/project/rm/pools/msets/
24
Zukunft http://www.opensolaris.org/os/community/brandz/brandz_lae_faq/ http://www.sun.com/software/solaris/scla.jsp ● Ständige Weiterentwicklung ● Zukunftssicher ● Solaris Containers for Linux Applications ● ZFS Integration ● Konfigurierbare Privilegien ● Eigener TCP/IP Stack für jede Zone http://www.itjungle.com/tug/tug110206-story01.html http://learningsolaris.com/archives/2006/03/13/zones-future-features/
25
Demo Global Zone 192.168.0.50 small-zone 192.168.0.51 postsql 192.168.0.52 sshd postgresql sshd Apache hme0:1hme0:2 hme0 /usr /lib /export/small-zone
26
Wichtige Anlaufstellen http://www.sun.com/software/solaris/containers_learning_center.jsp http://docs.sun.com/app/docs/doc/819-2450 http://www.solarisinternals.com/wiki/index.php/Zones http://learningsolaris.com/zones-unofficial-faq/ http://www.opensolaris.org/os/community/zones/faq/
27
Danke für die Aufmerksamkeit! Fragen?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.