virtualizácia a jej pouºitie v praxi - europen · 2017-05-04 · virtualizácia hw i. open source...

34

Upload: others

Post on 10-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Virtualizácia a jej použitie v praxi

Boris Parák

CESNET

13. mája 2015

Page 2: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

(1) Virtualizácia

(2) Cloud

(3) Aplikácie

Page 3: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Virtualizácia

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 3 / 34

Page 4: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Motivácia

I v²eobecne vytvára abstrakciu zdroja za ú£elomI izolácie (bezpečnosti)I zdieľania (multi-tenancy)I plánovania (deadlock prevention, over-commitment)I efektívnejšieho využitia energieI podpory heterogénnych požiadaviekI . . .

I napr. virtualizácia pamäte, virtualizácia hardvéru, virtualizácia naúrovni OS a aplikácií (kontajnery), . . .

I pre nás, virtualizácia == HW & OS-level

http://bit.ly/1zTjZ8v

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 4 / 34

Page 5: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Virtualizácia HW I.

Open SourceKVM

I Kernel-based Virtual Machine, linuxová platforma, implementujeplnú virtualizáciu HW, modul(y) do Linux kernelu

I pre architektúru x86 s podporou roz²írení Intel VT alebo AMD-V

I postupne sa objavuje podpora ARM, PowerPC, IA64

XEN

I tzv. baremetal hypervízor, leºí medzi HW a hos´ujúcim OS

I podporuje plnú virtualizáciu (HVM) a paravirtualizáciu(PV)

I od verzie 4.4 aj hybridnú PVH → to najlep²ie z oboch (?)

I PV nevyºaduje podporu roz²írení v hardvéri hos´ujúceho stroja

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 5 / 34

Page 6: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

→ Xen vs. KVM

http://goo.gl/HbHcao

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 6 / 34

Page 7: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Virtualizácia HW II.

Proprietárne/Komerčné

VirtualBoxOracle � https://goo.gl/EKiq6u

vSphereVMWare � http://goo.gl/UjBZe5

ParallelsParallels, Inc. � http://goo.gl/uDzGhN

Hyper-VMicrosoft � http://goo.gl/qot1TY

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 7 / 34

Page 8: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Kontajnery

I jails (BSD), zones (Solaris), OpenVZ, LXC, . . .

I nie je to nový koncept, zaºíva �boom� vo svete cloudov

I abstrakcia prostredia/opera£ného systému pre aplikáciu

I populárna platforma Docker (libcontainer), de facto ²tandard (?)

http://www.docker.com/

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 8 / 34

Page 9: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Virtualizácia!?

Nie je všeliek!(výkon, správa, kompatibilita platforiem, . . . )

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 9 / 34

Page 10: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Cloud

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 10 / 34

Page 11: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Prečo cloud?

I . . . e²te stále je to buzz word!

I v²etci cloud(y) pouºívame, £i chceme alebo nechceme

I miesto s ve©kým uplatnením virtualizácie (HW aj OS)

I existujú Open Source rie²enia aj Ready-to-Use SP

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 11 / 34

Page 12: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

* as a Service

Infrastructurepriamy prístup k virtualizovanej infra²truktúre, správaserverov a sietí

Platformvy²²ia úrove¬, prístup k behovým prostrediam, aplika£nýmserverom (DB, Web server, App Server, . . . )

Serviceprístup k aplikáciám a sluºbám pre koncového uºívate©a(GMail, DropBox, Twitter, . . . )

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 12 / 34

Page 13: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Platformy I.

Open SourceOpenStack

I framework na stavbu rozsiahlych infra²truktúr

I desiatky volite©ných komponentov, vysoká dostupnos´ v návrhu

I náro£né nasadenie a údrºba, dobrá ²kálovate©nos´

OpenNebula

I cloudová platforma navrhnutá k virtualizácii datacentier

I rýchle nasadenie, jednoduchá údrºba a �exibilita

I ur£ená pre men²ie a stredné IaaS infra²truktúry

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 13 / 34

Page 14: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Platformy II.

Proprietárne/Komerčné

vCloud DirectorVMWare � http://goo.gl/9Ea3C8

SoftLayerIBM � http://goo.gl/l08Zcv

AWS EC2Amazon � http://goo.gl/XhMIM0

Microsoft AzureMicrosoft � http://goo.gl/bzsFmQ

Google Compute EngineGoogle � https://goo.gl/Ry1kxq

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 14 / 34

Page 15: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

SOHO použitie cloudu

Za moment!

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 15 / 34

Page 16: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Aplikácie. . . alebo späť k praktickému využitiu.

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 16 / 34

Page 17: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Prostredie

Virtualizačná platforma:

I VirtualBox (Linux, Mac, Windows)

I virt-manager s KVM (Linux)

Iné:

I kvalitné pripojenie na Internet (bez dátového limitu, desiatky MB/s)

I znalos´ vybraného opera£ného systému pre virtuálny stroj (Linux)

I skriptovanie (bash, python, ruby, . . . )

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 17 / 34

Page 18: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príprava – Nástroje

Virtualbox

I In²talácia � https://www.virtualbox.org/

Vagrant

I In²talácia � https://www.vagrantup.com/

I Plug-iny � https://goo.gl/dQhtTJ

Provisioning

I http://goo.gl/5vlTGl

I master-less reºim

I Shell, CFEngine, Salt, Docker, Chef, Puppet (+ Hiera)

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 18 / 34

Page 19: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Vagrant

Vagrant::Config.run do |config|config.vm.box = 'precise32'config.vm.box_url = 'http://files.vagrantup.com/precise32.box'

end

Vagrant::Config.run do |config|config.vm.box = 'precise32'config.vm.box_url = 'http://files.vagrantup.com/precise32.box'config.vm.host_name = 'mybox.example.com'config.vm.network :hostonly, '192.168.0.42'

config.vm.customize ['modifyvm', :id,'--name', 'mybox','--memory', '1024'

]end

$ vagrant init$ vagrant up$ vagrant ssh

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 19 / 34

Page 20: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príprava – Obrazy OS

Vzorové

I HashiCorp/VagrantCloud � https://goo.gl/hlNtYw

I OpsCode � http://www.vagrantbox.es/

Veewee

I nástroj na automatizáciu prípravy obrazov

I https://goo.gl/nReNre

Packer

I alternatívny nástroj, s podporou verejných cloud providerov

I https://packer.io/

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 20 / 34

Page 21: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Packer

{"provisioners": [{"type": "shell","scripts": [ "scripts/base.sh" ]

}],"builders": [{"type": "virtualbox","boot_command": [ ... ],"disk_size": 10140,"guest_os_type": "Ubuntu_64","iso_md5": "af5f788aee1b32c4b2634734309cc9e9","iso_url": "http://releases.ubuntu.com/12.04/ubuntu-amd64.iso","ssh_username": "vagrant","ssh_password": "vagrant"

}],"post-processors": ["vagrant"]

}

$ packer build template.json

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 21 / 34

Page 22: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Sandbox

In²talácia → Snapshot → Pouºitie → Revert

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 22 / 34

Page 23: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Bezpečné surfovanie I.

Tails – https://tails.boum.org/

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 23 / 34

Page 24: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Bezpečné surfovanie II.

Tails – https://tails.boum.org/

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 24 / 34

Page 25: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Testovanie I.

VšeobecnéKitchen-CI – http://goo.gl/21u8Uf

1. de�novanie platforiem pre testy (YAML)

2. napísanie receptu na prípravu systému (Chef Cookbook)

3. napísanie testu (Bash Automated Testing System � bats)

4. converge verify test destroy

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 25 / 34

Page 26: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Testovanie II.

Puppet modulySkeleton – https://goo.gl/aLJXlL

I �a pretty opinionated skeleton� , konvencia pred kon�guráciou

I syntax lint spec acceptance

I akcepta£né testy pouºívajú beaker

I postavia virtualizované prostredie, skuto£ne aplikujú testovanýmodul a overujú zmeny v systéme

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 26 / 34

Page 27: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Kitchen-CI

---driver:name: vagrant

provisioner:name: chef_solo

platforms:- name: ubuntu-12.04- name: centos-6.4

suites:- name: defaultrun_list:- recipe[git::default]

# test/integration/default/bats/bc_test.bats@test "addition using bc" {result="$(echo 2+2 | bc)"[ "$result" -eq 4 ]

}

$ kitchen list$ kitchen test default-ubuntu-1204

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 27 / 34

Page 28: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Build Lab

I prostredie na automatizovanú stavbu softvérových balíkov

I prevaºne pre �all-in-one� balíky, bez obmedzení na druh projektuI Omnibus

I DSL (Domain-Specific Language)I Project DSL, definovanie metadát projektu a závislostíI Software DSL, definovanie zdrojov a postupu „kompilácie“

komponentov

I kompilácia prebieha vºdy pre spustenú platformu, ºiadnacross-kompilácia

I integrácia s Chef a Kitchen-CI �Build Lab�

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 28 / 34

Page 29: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Build Lab I.

name "occi-server"maintainer "[email protected]"homepage "https://github.com/EGI-FCTF/rOCCI-server"

install_dir "#{default_root}/#{name}"build_version "1.1.6"build_iteration 1

override :rubygems, :version => '2.4.4'override :ruby, :version => '2.1.5'

dependency "preparation"dependency "occi-server"dependency "version-manifest"

# add external (runtime) dependencies/servicesruntime_dependency "apache2"runtime_dependency "memcached"

exclude "**/.git"exclude "**/bundler/git"

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 29 / 34

Page 30: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Build Lab II.

name "occi-server"default_version "1.1.x"

dependency "ruby"dependency "rubygems"dependency "rsync"

source git: "https://github.com/EGI-FCTF/rOCCI-server"

build dogem "install bundler -n #{install_dir}/embedded/bin"gem "install passenger -n #{install_dir}/embedded/bin"gem "install rake -v '~> 10.3.2' -n #{install_dir}/embedded/bin"bundle "install --deployment --without development test"delete "#{install_dir}/embedded/app/rOCCI-server/vendor/bundle"

end

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 30 / 34

Page 31: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Príklad – Build Lab III.

$ omnibus build occi-server

. . . alebo . . .

## Chef# Create a recipe for your project

## .kitchen.yml# synced_folders:# - ['.', '/home/vagrant/occi-server']## suites:# - name: default# run_list:# - recipe[my::stuff]

$ kitchen list$ kitchen test default-ubuntu-1204

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 31 / 34

Page 32: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Otázky?

– ??? –

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 32 / 34

Page 33: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Zdroje

I Docker – https://www.docker.com/I XEN vs. KVM – http://goo.gl/HbHcaoI Vagrant – https://www.vagrantup.com/I Packer – https://packer.io/I Kitchen-CI – http://goo.gl/21u8UfI Omnibus – https://goo.gl/6xdVce

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 33 / 34

Page 34: Virtualizácia a jej pouºitie v praxi - EurOpen · 2017-05-04 · Virtualizácia HW I. Open Source KVM I K ernel-based V irtual M achine, linuxová platforma, implementuje plnú

Záver

– Ďakujem za pozornosť. –

[email protected]

Boris Parák (CESNET) Virtualizácia a jej použitie v praxi 13. mája 2015 34 / 34