Curs 7 - Virtualizarea bazata pe containererepository.grid.pub.ro/cs/saisp/cursuri/curs-07.pdf ·...

Post on 11-Sep-2019

51 views 0 download

transcript

Curs 7Virtualizarea bazata pe containere

Servicii avansate pentru ISP

10 aprilie 2016

SAISP Curs 7, Virtualizarea bazata pe containere 1/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 2/67

Virtualizare

I abstractizarea resurselor unui sistem de calculI memorie virtualaI mas, ini virtualeI emulareI virtualizarea stocarii

I system virtual machine

I process virtual machine

SAISP Curs 7, Virtualizarea bazata pe containere 3/67

De ce virtualizare?

I mediu ınchis, separat de mas, ina gazdaI securitateI sigurant, aI control

I cost redus

I utilizare eficienta a resurselor (server consolidation)

I snapshot – refacerea facila a starii unui sistem de operare

SAISP Curs 7, Virtualizarea bazata pe containere 4/67

Tipuri de virtualizare

I virtualizare completa (full-virtualization)I virtualizare asistata hardware (hardware-assisted virtualization)

I paravirtualizare (paravirtualization)

I virtualizare la nivelul sistemului de operare (operating-systemlevel virtualization)

I Cu ce difera virtualizarea de emulare?I la virtualizare, cea mai mare parte a instruct, iunilor se executa

pe sistemul fizicI se poate emula o arhitectura diferita de arhitectura sistemului

fizic

I hypervisorI hosted virtualization (type 2 hypervisor)I bare metal virtualization (type 1 hypervisor)

SAISP Curs 7, Virtualizarea bazata pe containere 5/67

Tipuri de virtualizare

I virtualizare completa (full-virtualization)I virtualizare asistata hardware (hardware-assisted virtualization)

I paravirtualizare (paravirtualization)

I virtualizare la nivelul sistemului de operare (operating-systemlevel virtualization)

I Cu ce difera virtualizarea de emulare?I la virtualizare, cea mai mare parte a instruct, iunilor se executa

pe sistemul fizicI se poate emula o arhitectura diferita de arhitectura sistemului

fizic

I hypervisorI hosted virtualization (type 2 hypervisor)I bare metal virtualization (type 1 hypervisor)

SAISP Curs 7, Virtualizarea bazata pe containere 5/67

Tipuri de virtualizare

I virtualizare completa (full-virtualization)I virtualizare asistata hardware (hardware-assisted virtualization)

I paravirtualizare (paravirtualization)

I virtualizare la nivelul sistemului de operare (operating-systemlevel virtualization)

I Cu ce difera virtualizarea de emulare?

I la virtualizare, cea mai mare parte a instruct, iunilor se executape sistemul fizic

I se poate emula o arhitectura diferita de arhitectura sistemuluifizic

I hypervisorI hosted virtualization (type 2 hypervisor)I bare metal virtualization (type 1 hypervisor)

SAISP Curs 7, Virtualizarea bazata pe containere 5/67

Tipuri de virtualizare

I virtualizare completa (full-virtualization)I virtualizare asistata hardware (hardware-assisted virtualization)

I paravirtualizare (paravirtualization)

I virtualizare la nivelul sistemului de operare (operating-systemlevel virtualization)

I Cu ce difera virtualizarea de emulare?I la virtualizare, cea mai mare parte a instruct, iunilor se executa

pe sistemul fizicI se poate emula o arhitectura diferita de arhitectura sistemului

fizic

I hypervisorI hosted virtualization (type 2 hypervisor)I bare metal virtualization (type 1 hypervisor)

SAISP Curs 7, Virtualizarea bazata pe containere 5/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 6/67

OS-level virtualization

I multiple instant, e user-space izolate

I virtual environment, virtual private server, container

I nucleu partajat cu sistemul de baza

I hypervisor integrat ın nucleu

I chroot extins

I OpenVZ, Linux-VServer, FreeVPS, FreeBSD jail, lxc

SAISP Curs 7, Virtualizarea bazata pe containere 7/67

OS-level virtualization (2)

SAISP Curs 7, Virtualizarea bazata pe containere 8/67

Avantaje/dezavantaje OS-level virtualization

I viteza, overhead redus – hypervisor-ul este integrat rapid ınnucleu

I crearea rapida de containere (un sistem de fis, iere s, i un set deconfigurat, ii)

I interact, iunea facila din cadrul sistemului de baza

I erorile nucleului sunt comune; un crash la nivelul nucleului semanifesta la nivelul sistemului de baza s, i containerelor

I flexibilitate redusa din perspectiva rularii mai multor tipuri desisteme de operare

I dificultat, i ın alocarea resurselor per CT (CPU, memorie, disk)

I nu poate fi folosita pentru kernel development/kernel testing

I dificil de virtualizat networking

SAISP Curs 7, Virtualizarea bazata pe containere 9/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 10/67

Descriere generala

I virtualizare la nivelul sistemului de operareI acelas, i kernel folosit atat pe sistemul host cat s, i de catre

containere

I kernel Linux modificat + utilitare de control pentru user-space

I http://wiki.openvz.org/Main_Page

I baza pentru Parallels Virtuozzo Containers

SAISP Curs 7, Virtualizarea bazata pe containere 11/67

Arhitectura OpenVZ

SAISP Curs 7, Virtualizarea bazata pe containere 12/67

Terminologie

I CT (container)

I VE (Virtual Environment)

I VPS (Virtual Private Server)

I CTID (container ID), VEID

I CT0 = VE0 = host system

I host system = hardware node = HW = HN

I OS template

I UBC (User Beancounters)

SAISP Curs 7, Virtualizarea bazata pe containere 13/67

Containere OpenVZ

I componente containerI sistem de fis, iere (biblioteci, aplicat, ii, /proc virtualizat, /sys

virtualizat, lock-uri virtualizate)I utilizatori s, i grupuriI arbore de procese (PID-uri virtualizate; ın fiecare container init

are PID-ul 1)I ret, ea (interfat, a de ret, ea virtuala, reguli netfilter, tabela de

rutare)I dispozitive (oricare container poate avea acces direct la

hardware, daca se dores, te)

I limitari soft s, i hard pentru resurse (“limit” vs. “barrier”)

I resursele neutilizate pot fi folosite de alte containere

SAISP Curs 7, Virtualizarea bazata pe containere 14/67

Avantaje OpenVZ

I VPS (root access)

I numar mare de mas, ini virtuale (overhead redus)

I gestiune facila a ıntregului sistem (update de kernel, vzctl)

I creare/gestiune facila a unui container

SAISP Curs 7, Virtualizarea bazata pe containere 15/67

Instalare pe Debian

I Adaugare repo OpenVZhttp://openvz.org/Installation_on_Debian

I apt-get install linux-image-openvz-686

I apt-get install vzctl vzquota vzprocps vzdump

SAISP Curs 7, Virtualizarea bazata pe containere 16/67

Templates

I template = arhiva .tar.gz cu root filesystem

I /var/lib/vz/template/cache/I exemplu: debian-4.1-amd64-minimal.tar.gz

I vzctl create $VEID

--ostemplate debian-4.1-amd64-minimal

SAISP Curs 7, Virtualizarea bazata pe containere 17/67

Templates (cont.)

I apt-get install debootstrap

I debootstrap --arch i386 lenny

/var/lib/vz/private/100

I tar czf

/var/lib/vz/template/cache/debian-5.0.tar.gz

/var/lib/vz/private/100

I vzctl create ...

SAISP Curs 7, Virtualizarea bazata pe containere 18/67

Configurare globala

I /etc/vz/vz.confI VE_ROOTI IPTABLESI TEMPLATE

I /etc/init.d/vz {start, stop, restart}

SAISP Curs 7, Virtualizarea bazata pe containere 19/67

Configurare la nivelul container-ului

I parametriI startupI ret, eaI QoS (limitari resurse)

I vzctl set $VEID <param>=<value> --save

SAISP Curs 7, Virtualizarea bazata pe containere 20/67

Comenzi utile

I vzlist

I vzctl start 100

I vzctl stop 100

I vzctl restart 100

I vzctl set <veid> [options]I vzctl set 100 --ipadd 10.10.1.2 --saveI vzctl set 100 --nameserver 10.10.1.2 --save

...

I vzctl create 100 [...]

I vzctl destroy 100

SAISP Curs 7, Virtualizarea bazata pe containere 21/67

Ce nu pot, i sa faci ın OpenVZ?

I module de kernel

I kernel development

I traffic shaping

I unele caracteristici ale iptables

SAISP Curs 7, Virtualizarea bazata pe containere 22/67

Tuning & limitations

I UBC (User Beancounters)I privvmpages – memorie pentru aplicat, ii

I barrier: 2048 MBI limit: 2096 MBI vzctl set 100 --privvmpages 2048m:2096m --save

I numtcpsock – numar de socket, i TCP

I tcpsndbuf, tcprcvbuf – buffer de transmisie/recept, ie

SAISP Curs 7, Virtualizarea bazata pe containere 23/67

Interfet, e

I venet – layer 3 virtualized network interfaceI similara unei legaturi point-to-pointI vzctl set $VEID --ipadd 10.0.0.1 --saveI vzctl set $VEID --ipdel 10.0.0.1 --save

I veth – layer 2 virtualized network interfaceI vzctl set $VEID --netif_add eth0 --saveI vzctl set $VEID --netif_del eth0 --save

SAISP Curs 7, Virtualizarea bazata pe containere 24/67

Bridge-uri

I AvantajeI acces direct la interfat, a de ret, eaI adrese IP unice accesibile din exterior (fara a folosi NAT)

I DezavantajeI configurare complexa

I bridge-utils: brctl

SAISP Curs 7, Virtualizarea bazata pe containere 25/67

Utilizarea bridge-urilor

SAISP Curs 7, Virtualizarea bazata pe containere 26/67

Bridge-uri (cont.)

I crearea unui bridge: brctl addbr br0

I adaugarea unei interfet, e ın bridgeI brctl addif br0 eth0I brctl addif br0 veth101.0 #eth0 din VE 101I ...

I status bridge: brctl show br0

SAISP Curs 7, Virtualizarea bazata pe containere 27/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 28/67

LXC

I Linux containers

I integrat ın nucleul Linux de la versiunea 2.6.29

I http://lxc.sourceforge.net/

I se bazeaza pe Linux kernel cgroupI LXC Tools

I lxc-create, lxc-info, lxc-ps, lxc-start, lxc-executeI fis, ier de configurare

lxc.utsname = my_ssh_container

lxc.network.type = veth

lxc.network.flags = up

lxc.network.link = br0

lxc.network.ipv4 = 10.0.2.16/24

SAISP Curs 7, Virtualizarea bazata pe containere 29/67

cgroups

I Control Groups

I agregarea proceselor ın subsisteme (grupuri ierarhice)

I interfat, a pentru alte subsisteme – hook-uri pentru altesubsisteme (accounting, limiting, isolate resource usage)

I consecint, a a mai multor eforturi: cpusets, ResGroups,UserBeanCounters, virtual server namespaces

I mount -t cgroup cgroup /cgroup

SAISP Curs 7, Virtualizarea bazata pe containere 30/67

Cum arata cgroups?

I fis, iere ce cont, in informat, ii despre grup

I grupate pe categorii (cpuset.xxx, memory.xxx)

I un nou subgrup/subsistem are un subdirector, cont, inandaceleas, i fis, iere

I de exemplu, fis, ierul tasks cont, ine procesele din subsistem

SAISP Curs 7, Virtualizarea bazata pe containere 31/67

Comenzi utile

I lxc-create

I lxc-start

I lxc-stop

I lxc-console

I lxc-cgroup

I lxc-ps

I lxc-list

SAISP Curs 7, Virtualizarea bazata pe containere 32/67

Cum se ıntampla pe Debian

I apt-get install lxc

I mkdir /cgroup

I mount -t cgroup cgroup /cgroup -o

cpuacct,memory,devices,cpu,freezer,blkio

I lxc-create -n mycontainer -t debian – TUI

I configurare networking

I lxc-start -n mycontainer

I lxc-console -n mycontainer

SAISP Curs 7, Virtualizarea bazata pe containere 33/67

Configurare networking

I bridged networking

I se poate configura accesul la Internet pe container prineditarea directa (din sistemul host) a fis, ierul/etc/network/interfaces aferent

1 auto br0

2 iface br0 inet dhcp

3 bridge ports eth0

4 bridge fd 0

5 bridge maxwait 0

SAISP Curs 7, Virtualizarea bazata pe containere 34/67

Configurare LXC

I ın /var/lib/lxc/$container/config

I lxc-cgroup pentru configurare dinamica

I sistemul de fis, iere ın /var/lib/lxc/$container/rootfs

I se poate folosi chroot pentru accesarea acestuia

SAISP Curs 7, Virtualizarea bazata pe containere 35/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 36/67

Linux-VServer

I nu este legat de LVS – Linux Virtual ServerI patch peste nucleul Linux

I aptitude install linux-image-vserver-686

util-vserver vserver-debiantools

I “partit, ie” (resurse alocate) – security context

I sistemul virtualizat – virtual private server (kick-start init)

I newserver, vserver, /etc/vservers/

SAISP Curs 7, Virtualizarea bazata pe containere 37/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 38/67

Interfet, e de gestiune a solut, iilor de virtualizare

I graficeI integrate ın cadrul aplicat, iei (VMware, VirtualBox)I Virtual Machine Manager (libvirt, Python)I Proxmox Virtual Environment

I CLII qemuI vzctlI virsh (libvirt)I vmware-cmd

SAISP Curs 7, Virtualizarea bazata pe containere 39/67

API de virtualizare

I automation API

I VMware VIX API

I VirtualBox API

I Xen API

I libvirt

SAISP Curs 7, Virtualizarea bazata pe containere 40/67

Operat, ii cu API de virtualizare

I conectare la hypervisor

I listare mas, ini virtuale

I pornire mas, ina virtuala

I autentificare la mas, ina virtuala

I rulare proces pe mas, ina virtuala

I copiere pe/de pe mas, ina virtuala

I oprire mas, ina virtuala

I deconectare de la hypervisor

SAISP Curs 7, Virtualizarea bazata pe containere 41/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 42/67

libvirt

I interact, iune cu solut, ii de virtualizare (ın principal Linux)

I C API, binding-uri ın alte limbaje

I suport init, ial/principal pentru Xen, Qemu, KVM

I suport pentru LXC, OpenVZ, VMware ESX/GSX, VirtualBox(drivere)

I daemon de control (libvirtd) acolo unde este cazul – nuexista hypervisor (Qemu, KVM)

SAISP Curs 7, Virtualizarea bazata pe containere 43/67

Instalare

I # apt-get install libvirt0 libvirt-bin

libvirt-dev libvirt-doc virtinst

I libvirt-bin – daemon libvirt(/etc/default/libvirt-bin)

I virtinst – comenzi pentru creare/clonare de mas, ini virtuale

SAISP Curs 7, Virtualizarea bazata pe containere 44/67

Connection URI

I identificarea driverului s, i, eventual, a sistemului de la distant, a

I test:///default – test

I xen:/// – Xen

I qemu:///system, qemu:///session – Qemu, KVM

I openvz:///system – OpenVZ

I openvz://example.com/system – remote connection

SAISP Curs 7, Virtualizarea bazata pe containere 45/67

Drivers

I delegarea implementarii unui driver specific unei solut, ii devirtualizare

I selectat pe baza URI-ului

I Xen, QEMU, LXC, test, OpenVZ, VirtualBox, VMware ESX

SAISP Curs 7, Virtualizarea bazata pe containere 46/67

virsh

I interfat, a de comanda a mas, inilor virtuale

I construita peste libvirt

I virsh <command> <domain-id>

I $ sudo virsh -c openvz:///system list

I $ sudo virsh -c openvz:///system

Welcome to virsh, the virtualization interactive

terminal.

...

I comenzi utile: start, shutdown, reboot, create, setmem,setvcpus, console

SAISP Curs 7, Virtualizarea bazata pe containere 47/67

virsh cu LXC

1 <domain type=’lxc’>2 <name>vm1</name>3 <memory>32768</memory>4 <os>5 <type>exe</type>6 <init>/init</init>7 </os>8 <vcpu>1</vcpu>9 <clock offset=’utc’/>10 <on poweroff>destroy</on poweroff>11 <on reboot>restart</on reboot>12 <on crash>destroy</on crash>13 <devices>14 <emulator>/usr/libexec/libvirt lxc</emulator>15 <filesystem type=’mount’>16 <source dir=’/var/lib/lxc/mycontainer/rootfs’/>17 <target dir=’/’/>18 </filesystem>19 <interface type=’network’>20 <source network=’default’/>21 </interface>22 <console type=’pty’ />23 </devices>24 </domain>

SAISP Curs 7, Virtualizarea bazata pe containere 48/67

virsh cu LXC (2)

I virsh --connect lxc:/// define mycontainer.xml

I virsh --connect lxc:/// start mycontainer

I virsh --connect lxc:/// console mycontainer

SAISP Curs 7, Virtualizarea bazata pe containere 49/67

Basic API

I virConnectPtr – structura de date pentru conexiuni

I virDomainPtr – structura de date pentru domenii

I virErrorPtr – pentru lucrul cu errori

I import libvirt – Python

I #include <libvirt/libvirt.h>, #include<libvirt/virterror.h> – C

SAISP Curs 7, Virtualizarea bazata pe containere 50/67

Python example

1 import libvirt

2 import sys

3

4 # check /usr/share/pyshared/libvirt.py5

6 if name ==’ main ’:

7 conn=libvirt.open(’openvz:///system’)

8 print ’Listing running domains’

9 for id in conn.listDomainsID():

10 dom = conn.lookupByID(id)

11 print "id: ", id, "name: ", dom.name()

12

13 dom = conn.lookupByID(100)

14

15 print "stopping domain 100 ... ",

16 sys.stdout.flush()

17 dom.shutdown()

18 print "done"

19

20 print "starting domain 100 ... ",

21 sys.stdout.flush()

22 dom.create()

23 print "done"SAISP Curs 7, Virtualizarea bazata pe containere 51/67

C example

I Demo din code/

I http://elf.cs.pub.ro/saisp/res/cursuri/curs-07/

libvirt-C-example.zip

SAISP Curs 7, Virtualizarea bazata pe containere 52/67

C example Makefile

1 CFLAGS = -Wall -g

2 LDLIBS = -lvirt

3

4 all: openvz-list-start-stop

5

6 openvz-list-start-stop: openvz-list-start-stop.o

7

8 openvz-list-start-stop.o: openvz-list-start-stop.c

9

10 clean:11 -rm -f openvz-list-start-stop

openvz-list-start-stop.o *∼

SAISP Curs 7, Virtualizarea bazata pe containere 53/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 54/67

vmxfile

I fis, ier de configurare a unei mas, ini virtuale

I ın general executabil (#!/usr/bin/vmware)

I este transmis ca identificator comenzilor de automatizare dincadrul VMware

SAISP Curs 7, Virtualizarea bazata pe containere 55/67

VIX API

I http://www.vmware.com/support/developer/vix-api/

I VMware Virtualization API

I automatizare, gestiune s, i interact, iune cu mas, inile virtuale

I VMware ESX/GSX, Workstation, Player, vCenter

I C, Perl, COM (Visual Basic, C#)

I Linux & Windows

I versiunea 1.8, 1.10 beta

SAISP Curs 7, Virtualizarea bazata pe containere 56/67

Instalare

I descarcare de pe site-ul VIX API (trebuie sa va ınregistrat, i)

I sudo bash VMware-VIX-1.8.1-207905.x86_64.bundle

I pentru dezinstalare: vmware-installer -u vmware-vix

I pentru operat, ii de interact, iune este nevoie de VMware Toolspe sistemul guest

I instalat ın /usr/lib/vmware-vix/

I documentat, ie s, i exemple ın /usr/share/doc/vmware-vix/

I acces local la documentat, ie:file:///usr/share/doc/vmware-vix/index.html

SAISP Curs 7, Virtualizarea bazata pe containere 57/67

Interfat, a CLI

I similara virsh – permite gestiunea mas, inilor virtualeI vmware-cmd

I pentru versiuni serverI doar pentru gestiune (pornire, oprire, adaugare de discuri)I nu ofera comenzi de interact, iune cu sistemul guest

I vmrunI construita peste VIX APII gestiunea completa s, i interact, iunea cu mas, inile virtuale

SAISP Curs 7, Virtualizarea bazata pe containere 58/67

Funct, ionalitat, i VIX API

I identificarea mas, inii virtuale se realizeaza prin caleacompleta catre fis, ierul .vmx

I listare mas, ini virtuale porniteI vmrun -T ws list

I pornirea mas, inii virtualeI vmrun -T ws start /path/to/vmx

I oprirea mas, inii virtualeI vmrun -T ws stop /path/to/vmx

I snapshotI vmrun -T ws snapshot /path/to/vmx snapshotName

I listarea proceselor dintr-o mas, ina virtualaI vmrun -T ws -gu username -gp password

listProcessesInGuest /path/to/vmx

SAISP Curs 7, Virtualizarea bazata pe containere 59/67

VIX API – Not, iuni de baza

I object-based, se folosesc handle-uri (VixHandle)

I VixHost_abcd – operat, ii pe host

I VixVM_abcd – operat, ii pe guest

I operat, ii asincrone – folosire VixJob_Wait pentru

I VixError, VixJob_GetError, Vix_GetErrorText as, teptare

SAISP Curs 7, Virtualizarea bazata pe containere 60/67

Elemente VIX API

I succesiunea obis, nuita a operat, iilorI VixHost_RegisterVMI VixHost_ConnectI VixVM_PowerOnI VixVM_LoginInGuestI work, workI VixVM_LogoutFromGuestI VixVM_PoweroffI Vix_ReleaseHandleI VixHost_UnregisterVM

SAISP Curs 7, Virtualizarea bazata pe containere 61/67

Makefile pe Linux

1 CFLAGS = -Wall -g

2 CPPFLAGS = -I/usr/include/vmware-vix

3 LDLIBS = -lvixAllProducts -ldl

4

5 all: powerOn

6

7 powerOn: powerOn.c

8

9 clean:10 -rm -f powerOn powerOn.o *∼

SAISP Curs 7, Virtualizarea bazata pe containere 62/67

Exemplu C

I Demo din code/

I http://elf.cs.pub.ro/saisp/res/cursuri/curs-07/

vix-C-example.zip

SAISP Curs 7, Virtualizarea bazata pe containere 63/67

Cuvinte cheie

I virtualizare

I interfet, e de gestiune a MV

I API de virtualizare

I OS-level virtualization

I Virtual Private Servers(VPS)

I LXC

I OpenVZ

I template

I container

I cgroups

I rootfs

I bridging

I lxc-start, lxc-create,lxc-stop

I lxc-list, lxc-ps,lxc-cgroup

I lxc-console

I brctl

I virsh

I connection URI

I virsh

I libvirtd

I virConnectPtr,virDomainPtr

I VIX API

I vmware-cmd

SAISP Curs 7, Virtualizarea bazata pe containere 64/67

Resurse utile

I http://lxc.sourceforge.net/

I http://wiki.debian.org/LXC

I https://help.ubuntu.com/community/LXC

I https://wiki.archlinux.org/index.php/Linux_Containers

I http://en.gentoo-wiki.com/wiki/LXC

I http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

I http://www.ibm.com/developerworks/linux/library/l-lxc-containers/

SAISP Curs 7, Virtualizarea bazata pe containere 65/67

Resurse utile (2)

I http://libvirt.org/

I http://www.ibm.com/developerworks/linux/library/l-libvirt/

I http://www.vmware.com/support/esx21/doc/vmware-cmd.html

I http://www.vmware.com/pdf/vix180_vmrun_command.pdf

I http://www.vmware.com/support/developer/vix-api/

I http://www.vmware.com/support/developer/vix-api/vix18_reference/

I http://www.centos.org/docs/5/html/5.2/Virtualization/

chap-Virtualization-Managing_guests_with_virsh.html

I M. Bolte et al. – Non-intrusive virtualization management using libvirt

I University of Victoria – Creating and Controlling KVM Guests using libvirt

SAISP Curs 7, Virtualizarea bazata pe containere 66/67

Outline

Virtualizare

OS-level virtualization

OpenVZ

LXC

Linux-VServer

API de virtualizare

libvirt

VIX API

Intrebari

SAISP Curs 7, Virtualizarea bazata pe containere 67/67