linux-container - guug.de · virtualisierung ubersicht container aka os-virtualisierung und die...

50
LinuX-Container Erkan Yanar 1. M¨ arz 2012 Erkan Yanar () LinuX-Container 1. M¨ arz 2012 1 / 27

Upload: hoangdien

Post on 29-Aug-2019

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LinuX-Container

Erkan Yanar

1. Marz 2012

Erkan Yanar () LinuX-Container 1. Marz 2012 1 / 27

Page 2: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung Ubersicht

Container aka OS-Virtualisierung und die Anderenunter Linux

Moglichkeiten:

LXC

Erkan Yanar () LinuX-Container 1. Marz 2012 2 / 27

Page 3: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung Ubersicht

Linux

Erkan Yanar () LinuX-Container 1. Marz 2012 3 / 27

Page 4: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung Ubersicht

KVM etc.

Erkan Yanar () LinuX-Container 1. Marz 2012 4 / 27

Page 5: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung Ubersicht

Container

Erkan Yanar () LinuX-Container 1. Marz 2012 5 / 27

Page 6: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung Ubersicht

Two Worlds

Hardware Virtualisierung kann mehr!

Hardware Virt. Betriebssystem Virt.KVM, Xen LXC, OpenVZ

Separates OS X -Seperater Kernel X -Andere Hardwarearchitekturen qemu -Geringerer Overhead - X

Unterschied von Para- und Full-Virtualisierung wird vernachlassigt

Erkan Yanar () LinuX-Container 1. Marz 2012 6 / 27

Page 7: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 8: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 9: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 10: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 11: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 12: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 13: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 14: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 15: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Virtualisierung System-Container

Container sind:

Virtualisierung im OS

Container / Verzeichnisse

Hostkernel ubernimmt dieVerwaltung

→ Nur ein OS-Typ

Dunne Virtualisierungsschicht

Prozessvirtualisierung

Dynamische Zuweisung vonRessourcen

CPU und I/O Scheduler

Erkan Yanar () LinuX-Container 1. Marz 2012 7 / 27

Page 16: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Einleitung Virtualisierung zwischen Emulatoren und chroot

Uberblick

Look@Container ala LXC

1 cgroups: Ressourcenmanagement

2 LXC: (Applikations)Container on top3 OpenVZ vs. LXC kurzer Uberblick

Erkan Yanar () LinuX-Container 1. Marz 2012 8 / 27

Page 17: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Einleitung Virtualisierung zwischen Emulatoren und chroot

Uberblick

Look@Container ala LXC

1 cgroups: Ressourcenmanagement

2 LXC: (Applikations)Container on top3 OpenVZ vs. LXC kurzer Uberblick

Erkan Yanar () LinuX-Container 1. Marz 2012 8 / 27

Page 18: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

RessourcenVerwaltung mit Linux: cgroups

Ressourcenmanagement mit cgroups

Control Groups

Gruppieren von Prozessen

Gemeinsame Ressourcen

Childs bleiben in der Gruppe

Control Groups

VFS

≥ Kernel 2.6.24

unabhangig von LXC

mount:cgroup /cgroups cgroup

defaults 0 0

Erkan Yanar () LinuX-Container 1. Marz 2012 9 / 27

Page 19: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1 CPU

cpuacct 3 4 1

memory 4 4 1

devices 5 4 1

freezer 6 4 1

net cls 7 1 1

blkio 8 4 1

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 20: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1

cpuacct 3 4 1

memory 4 4 1 Speicher

devices 5 4 1

freezer 6 4 1

net cls 7 1 1

blkio 8 4 1

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 21: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1

cpuacct 3 4 1

memory 4 4 1

devices 5 4 1 mknod

freezer 6 4 1

net cls 7 1 1

blkio 8 4 1

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 22: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1

cpuacct 3 4 1

memory 4 4 1

devices 5 4 1

freezer 6 4 1 FROZEN/THAWED

net cls 7 1 1

blkio 8 4 1

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 23: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1

cpuacct 3 4 1

memory 4 4 1

devices 5 4 1

freezer 6 4 1

net cls 7 1 1 Markieren

blkio 8 4 1

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 24: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

Subsysteme/Controlgroups

cat /proc/cgroups

#subsys name hierarchy num cgroups enabled

cpuset 1 4 1

cpu 2 4 1

cpuacct 3 4 1

memory 4 4 1

devices 5 4 1

freezer 6 4 1

net cls 7 1 1

blkio 8 4 1 CFQ

Erkan Yanar () LinuX-Container 1. Marz 2012 10 / 27

Page 25: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

Subsysteme

# ls /cgroups #2.6.38 (Auszug) --- To be deleted --

blkio.throttle.read_bps_device cpuset.memory_pressure

blkio.throttle.read_iops_device cpuset.memory_pressure_enabled

blkio.throttle.write_bps_device cpuset.mems

blkio.throttle.write_iops_device cpuset.sched_load_balance

blkio.weight cpuset.sched_relax_domain_level

cgroup.clone_children cpu.shares

cgroup.procs devices.allow

cpuacct.stat memory.limit_in_bytes

cpuacct.usage memory.memsw.limit_in_bytes

cpuacct.usage_percpu memory.oom_control

cpuset.cpu_exclusive memory.stat

cpuset.cpus memory.swappiness

cpuset.mem_exclusive memory.usage_in_bytes

cpuset.mem_hardwall net_cls.classid

cpuset.memory_migrate tasks

Erkan Yanar () LinuX-Container 1. Marz 2012 11 / 27

Page 26: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel

LXC

LinuXContainerEin chroot macht auf virtuellGrundprinzipien und Stolpersteine

Erkan Yanar () LinuX-Container 1. Marz 2012 12 / 27

Page 27: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel

LXCLinuXContainer

Ein chroot macht auf virtuellGrundprinzipien und Stolpersteine

Erkan Yanar () LinuX-Container 1. Marz 2012 12 / 27

Page 28: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel

LXCLinuXContainerEin chroot macht auf virtuell

Grundprinzipien und Stolpersteine

Erkan Yanar () LinuX-Container 1. Marz 2012 12 / 27

Page 29: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel

LXCLinuXContainer

Ein chroot macht auf virtuell

Grundprinzipien und Stolpersteine

Erkan Yanar () LinuX-Container 1. Marz 2012 12 / 27

Page 30: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel

LinuXContainer

LXC: better cgroups?

Spatestens seit 2.6.26 im Kernel (Network-Namespace)

Erzeugt mit Hilfe von Namespaces Container.

cgroups dienen zur Resourcenverwaltung (auch bei KVM).

LXC ubernimmt die Verwaltung der Prozessgruppen

Modulares Design!

Erkan Yanar () LinuX-Container 1. Marz 2012 13 / 27

Page 31: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Namespaces Die Seele der Virtualisierung

utsname hostname [Modular]

Pid private PIDs [Automatisch]

User private UIDs [Automatisch]

Network privates Interface [Modular]

Ipc privates IPC [Automatisch]

Erkan Yanar () LinuX-Container 1. Marz 2012 14 / 27

Page 32: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC virtualisiert chroot() Umgebungen

Konfiguration

/var/lib/lxc/$CONTAINER Konfigurationsverzeichnis des Containers

/var/lib/lxc/$CONTAINER/config Konfigurationsdatei des Containers

Wo ist das chroot Verzeichnis?

(lxc.)rootfs Filesystem des Containers

LXC startet dieses”System“

Erkan Yanar () LinuX-Container 1. Marz 2012 15 / 27

Page 33: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug

lxc-create Erstellt einen Container

lxc-destroy Loscht rootfs und das Configverzeichnis

Unnotiges Commando?

lxc-create -n name [-f config file] [-t template]

Schreibe mit config file nach /var/lib/lxc/$name/config

Nutze Template (Skript) zum Erstellen eines Containers

Mehr zu Templates? Probleme?

Erkan Yanar () LinuX-Container 1. Marz 2012 16 / 27

Page 34: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug

lxc-create Erstellt einen Container

lxc-destroy Loscht rootfs und das Configverzeichnis

Unnotiges Commando?

lxc-create -n name [-f config file] [-t template]

Schreibe mit config file nach /var/lib/lxc/$name/config

Nutze Template (Skript) zum Erstellen eines Containers

Mehr zu Templates? Probleme?

Erkan Yanar () LinuX-Container 1. Marz 2012 16 / 27

Page 35: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Container Filesystem

Erstelle einen Container:

debootstrap, febootstrap ..

udevd entfernenmknod . . .

hwclock entfernen . . .

lxc-debian

/usr/sbin/update-rc.d -f checkroot.sh remove/usr/sbin/update-rc.d -f umountfs remove/usr/sbin/update-rc.d -f hwclock.sh remove/usr/sbin/update-rc.d -f hwclockfirst.sh remove/usr/sbin/update-rc.d -f module-init-tools remove

/usr/lib/lxc/templates

Container zeigen

Erkan Yanar () LinuX-Container 1. Marz 2012 17 / 27

Page 36: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Container Filesystem

Erstelle einen Container:

debootstrap, febootstrap ..

udevd entfernenmknod . . .

hwclock entfernen . . .

lxc-debian

/usr/sbin/update-rc.d -f checkroot.sh remove/usr/sbin/update-rc.d -f umountfs remove/usr/sbin/update-rc.d -f hwclock.sh remove/usr/sbin/update-rc.d -f hwclockfirst.sh remove/usr/sbin/update-rc.d -f module-init-tools remove

/usr/lib/lxc/templates

Container zeigenErkan Yanar () LinuX-Container 1. Marz 2012 17 / 27

Page 37: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Man erstelle eine Konfigurationsdatei

Erkan Yanar () LinuX-Container 1. Marz 2012 18 / 27

Page 38: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Konfiguration

lxc.rootfs chroot

lxc.mount.entry Ein Mountpunkt im fstab-Format

lxc.mount Pfad zu einem File mit Mountp. im fstab Format

lxc.tty Virtuelle Consolen: lxc-console

lxc.pts Pseudo ttys

lxc.cap.drop man capabilities

lxc.tty = 4

lxc.rootfs = /lxc/debian/rootfs

lxc.mount = /lxc/debian/fstab

Erkan Yanar () LinuX-Container 1. Marz 2012 19 / 27

Page 39: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Network

lxc.network.type

Kein Eintrag Interfaceeinstellungendes Hosts

empty loopback

veth Virtual Ethernet(bridge)

macvlan MAC-Address basedVlan

phys physisches Interface

lxc.network.type = veth

lxc.network.flags= up

lxc.network.link = br0

lxc.network.ipv4 =

192.168.1.69/24

lxc.network.name = eth0

lxc.network.veth.pair =

this-veth

Erkan Yanar () LinuX-Container 1. Marz 2012 20 / 27

Page 40: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

/var/lib/lxc/$CONTAINER/config

lxc.utsname = zeig

lxc.tty = 4

lxc.pts = 1024

lxc.mount = /lxc/debian/fstab

lxc.rootfs = /lxc/debian/rootfs

lxc.network.type = veth

lxc.network.flags = up

lxc.network.link = br0

lxc.network.hwaddr = 08:00:12:34:56:78

lxc.network.ipv4 = 192.168.1.69/24

lxc.network.name = eth0

lxc.cgroup.devices.deny = a

# /dev/null and zero

lxc.cgroup.devices.allow = c 1:3 rwm

lxc.cgroup.devices.allow = c 1:5 rwm

# consoles

lxc.cgroup.devices.allow = c 5:1 rwm

lxc.cgroup.devices.allow = c 5:0 rwm

lxc.cgroup.devices.allow = c 4:0 rwm

lxc.cgroup.devices.allow = c 4:1 rwm

. . . Erkan Yanar () LinuX-Container 1. Marz 2012 21 / 27

Page 41: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug:

lxc-ls Zeigt alle konfigurierten und laufenden Container

lxc-start/stop Starten/Stoppen eines Containers

lxc-ps Wrapper um ps mit Containername

lxc-console Konsolenverbindung zum Container

lxc-execute Startet einen Prozess im ContainerEnvironment

Erkan Yanar () LinuX-Container 1. Marz 2012 22 / 27

Page 42: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug:

lxc-ls Zeigt alle konfigurierten und laufenden Container

lxc-start/stop Starten/Stoppen eines Containers

lxc-ps Wrapper um ps mit Containername

lxc-console Konsolenverbindung zum Container

lxc-execute Startet einen Prozess im ContainerEnvironment

Erkan Yanar () LinuX-Container 1. Marz 2012 22 / 27

Page 43: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug:

lxc-ls Zeigt alle konfigurierten und laufenden Container

lxc-start/stop Starten/Stoppen eines Containers

lxc-ps Wrapper um ps mit Containername

lxc-console Konsolenverbindung zum Container

lxc-execute Startet einen Prozess im ContainerEnvironment

Erkan Yanar () LinuX-Container 1. Marz 2012 22 / 27

Page 44: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug:

lxc-ls Zeigt alle konfigurierten und laufenden Container

lxc-start/stop Starten/Stoppen eines Containers

lxc-ps Wrapper um ps mit Containername

lxc-console Konsolenverbindung zum Container

lxc-execute Startet einen Prozess im ContainerEnvironment

Erkan Yanar () LinuX-Container 1. Marz 2012 22 / 27

Page 45: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

LXC-Tools

Auszug:

lxc-ls Zeigt alle konfigurierten und laufenden Container

lxc-start/stop Starten/Stoppen eines Containers

lxc-ps Wrapper um ps mit Containername

lxc-console Konsolenverbindung zum Container

lxc-execute Startet einen Prozess im ContainerEnvironmentApplikationscontainer

Erkan Yanar () LinuX-Container 1. Marz 2012 22 / 27

Page 46: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Show me that stuff!

Container start

Host Zugriff

Applikationskontainer mit Ressourcemanagement

Erkan Yanar () LinuX-Container 1. Marz 2012 23 / 27

Page 47: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Security

Capabilities remind the fstab

lxc.cap.drop root im Container zu machtig

module sys module

mount sys admin

echo b > /proc/sysrq-trigger

SELinux

Smack

lxc.mount.entry=proc $lxc.rootfs/proc proc nodev,noexec,nosuid,ro 0 0

Erkan Yanar () LinuX-Container 1. Marz 2012 24 / 27

Page 48: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

LXC: Kontainer im Kernel Namespaces

Applikationscontainer

lxc-execute

Schlussel zum Applikationscontainer

braucht kein lxc.rootfs

Config kann mehrmals verwendet werden (−− name , -f )

Modularitat Ausnutzen

libcgroup-Ersatz

Erkan Yanar () LinuX-Container 1. Marz 2012 25 / 27

Page 49: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

OvenVZ vs. LXC

OpenVZ vs. LXC

Topic LXC OpenVZKernelintegration X -Livemigration - XHost Konfigtools (vzctl) - XSicheres Netz (venet) - XSichere Container - XApplikationscontainer X -diskspace - XCgroups X -Quota - XDistro-Support X -Produktionsreif - Xlibvirt-Integration X (X)Modular X -

Erkan Yanar () LinuX-Container 1. Marz 2012 26 / 27

Page 50: LinuX-Container - guug.de · Virtualisierung Ubersicht Container aka OS-Virtualisierung und die Anderen unter Linux M oglichkeiten: LXC Erkan Yanar LinuX-Container 1. M arz 2012 2

OvenVZ vs. LXC

Ende Gelande

erkan [email protected]/erkuleswww.xing.com/profile/Erkan Yanar

Erkan Yanar () LinuX-Container 1. Marz 2012 27 / 27