Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Solaris 10 Container Daniel Schossig

Ähnliche Präsentationen


Präsentation zum Thema: "Solaris 10 Container Daniel Schossig"—  Präsentation transkript:

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?


Herunterladen ppt "Solaris 10 Container Daniel Schossig"

Ähnliche Präsentationen


Google-Anzeigen