VPS SNADNO A RYCHLE Petr Hromádko 13.9.2014 GREENDATA s.r.o. Greenhousing.cz
Agenda Proč virtualizovat Jak virtualizovat Jak na VPS Kde vzít a nekrást
Stručný historický úvod
Mainframe dinosaurus IT věku MulRtasking MulRusers Virtualizace 1991 VM/SP a VM/ XA = virtualizace
PC Svět 1993 MS DOS 6 Windows NT 1995 Windows DATA a VÝKON zpět u uživatele na stole
PC Svět LAN Vláda Novellu Adresářové služby Telekomunikační a datové sítě LAN/WAN/MAN Přesun inteligence od centra ke konci a zpět
Open Sytems UNIX NaRvní sítě Všichni výrobci Sun, IBM, HP, DEC, DG, Bull.. Všichni jsou mrtví Dejve A kdo je zabil?
Linux a Internet 1995 Linux na PC s Intel PenRum Internet SSI a PHP/FI msql Zrození LAMP stacku
Cloudy a virtualizace Salesforce.com 1999 AWS 2002 EC2 2006 rok virtualizace 2008 OpenNebula a Eucalyptus WEB 2.0 Budoucnost? PC 2.0 data zpět na tělo Kdo?
Anatomie Linux serveru Co dělá Linux server když se nedíváte fláká se
Moore's law Pro co vše plat?
Moore's law Pro co vše plat? Pro RAM, bandwith, HDD?
Anatomie serveru Vyřešený paralelismus Obrovský zbytný výkon 8 48 vcpu (HT etc.) RAM ve stovkách GB HDD v terabytech IO operace Ethernet 1Gb a 10Gb
Anatomie serveru HW zdaleka předbíhá SW Jedním serverem zahltte DC 2 x 1Gb = Rsíce uživatelů Stavající SW neumí využít HW?
Virtualizace Virtualizace je abstraktní vrtsva, která oddělí nebo isoluje nosnou komponentu, tj. fyzický hardware nebo soxware, od provozovaného operačního systému nebo aplikace za účelem vyšších IT zdrojů, flexibility a nebo bezpečnosr
Virtualizace
Virtualizace využit výkonu hardware (90 až 95% je nevyužito) současné provozování různých oper. systémů a jejich verzí (Linux, Windows, Mac OS, ) na jednom hardware izolace operačních systémů a aplikací nebo jejich rozdílných verzí testování oper. systémů a aplikací
Virtualizace klonování instalovaných oper. systémů (rychlá instalace dalších podobných VM) vzdálené instalace a řešení problémů i při restartu oper. systému simulace a testování netypických situací (aktualizace, havárie, obnova, ) provozování clusterového nódu na jednoduchém hardware
Virtualizace dokonalé zálohování bezproblémový přesun mezi různým hardwarem (= zkopírování image) => nezávislost na HW monitoring útoků instalace a podpora starších verzí oper. systémů existence hotových VM ke stažení (Linux distribuce, firewally, SMTP servery, aplikační servery)
Virtualizace možný start oper. systému z read- only medií (CD/ DVD) Web hosrng eventuální navýšení rychlosr manuální nebo dynamické rozložení zátěže na více serverech úspora energie (servery, podpůrné zařízení, klimarzace, )
Jak virtualizovat
Jak virtualizovat Type 0 hypervisors - Hardware- based řešení IBM LPARs a Oracle LDOMs Type 1 hypervisors Operační systém přizpůsoben virtualizaci VMware ESX a Citrix XenServer Type 2 hypervisors obecný OS který ale podporuje virtualizaci Microsox Windows Server HyperV a Linux s KVM Type 3 hypervisors Aplikace, která běží na běžném OS ale poskytuje VMM pro hostovaný OS VMware WorkstaRon and Fusion, Parallels Desktop, Oracle VirtualBox Paravirtualizace OpenVZ
Jak virtualizovat
Type 1 Hypervisor Beží na bare metal VM beží v user mode VM provozuje guest OS (který si myslí, že je v kernel módu) Virtual kernel Mode Pokud guest OS zavolá citlivou instrukci, hypervisor ji odchyt a provede. Pokud aplikace provede citlivou instrukci (system calls), hypervisor ji dochyt a předá do guest OS.
Type 1 Hypervisors Figure 8-26. When the operarng system in a virtual machine executes a kernel- only instrucron, it traps to the hypervisor if virtualizaron technology is present. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Type 2 Hypervisor Běží uvnitř OS. Podporuje guest OSs nad sebou Přepisuje senzirvní instrukce VM voláním binární překlad / binary translaron Cachuje funkční bloky Rychlost blízká narvnímu kódu
Type 2 Hypervisor Applications Applications OS 1 OS 2 Applications OS 3 Virtualization Platform Applications Base Operating System Hardware
ParavirtualizaRon Modifikuje Guest OS Mění všecny systémová volání na VM volání Defacto mění hypervizor v mikrokernel
Problemy s Paravirtualizací Paravirtualizované systémy neběží na hardware Mnoho různých paravirtualizačních technologií Možná řešení: Modifikace OS kernel Který bude volat pouze speciální set instrukcí z dané knihovny (Virtual Machine Interface ) Bare metal link do knihovny implementující kód Na VM link na speciální knihovnu implementující kód VM
ParavirtualizaRon (2) Figure 8-28. VMI Linux running on (a) the bare hardware (b) VMware (c) Xen. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
Proxmox VE Proxmox je kompletní virtualizační prostředí. Můžete virtualizovat všechny druhy serverů s OS Linux and Windows Servers. Je založeno na Kernel- based Virtual Machine (KVM) hypervisor a OpenVZ, nejpoužívanějším řešení pro kontejnerovou virtualizaci.. Proxmox je vhodný pro virtualizaci ale i pro cloud! To nejlepší: je to Open Source! (Debian based) Youtube kanál: h p://www.youtube.com/user/proxmoxve
Virtualizace Plná virtualizace (KVM) Od fy RedHat Potřebuje hypervisor (qemu/kvm) Podporuje více druhů OS VM Storage jsou soubory nebo svazky. /etc/pve/qemu- server/vmid.conf Resource Management OS VirtualizaRon (OpenVZ) Od fy Parallels (Virtuozzo) Používá stejný kernel jako host Podporuje pouze linux based OSes VM Storage je adresářem na Hostu /etc/pve/openvz/vmid.conf Resource Management
Command Line Interface API browser: # pvesh get /nodes/<node>/ openvz/<vmid>/status/current <<JSON>> Update templates # pveam update Benchmark # pveperf Cluster Management # pvecm status nodes... OpenVZ Management # vzctl KVM Management # qm
Web client Double- click to enter text
Nejužitečnější vychytávky VirtualizaRon (KVM AND OpenVZ) Žádný centralní management node podporuje mulrcast/unicast Distribuovaný Storage (DRBD, NFS, iscsi) Fault Tolerant! Více způsobů autenrfikace Local (Proxmox) PAM (Unix) LDAP (AD) RESTful API Perl based (upravovatelné) Backup & Restore Scheduling Compression Live Snapshot
Automated CreaOon of CT Shell scriprng jednodůchý, vše co potřebujete je SSH ${SSHCMD} pvectl create ${NEW_CTID} \ /var/lib/vz/template/cache/ubuntu- 11.10- x86_64- taric4.tar.gz \ - neof ifname=eth0,bridge=vmbr0 - onboot 1 \ - password $PASSWORD - hostname $HOSTNAME ${SSHCMD} pvectl start ${NEW_CTID} NEW_IP="" while [ "x${new_ip}" = "x" ]; do NEW_IP=$(${SSHCMD} vzctl exec ${NEW_CTID} ip addr ls dev eth0 awk '/inet / {gsub(/\/24/, "", $2); print $2}') sleep 1 done
knife- proxmox knife plugin managuje openvz servery a integruje s chef- server pomocí proxmox REST API h ps://rubygems.org/gems/knife- proxmox Instantní magie $ knife proxmox server list $ knife proxmox server create $ knife proxmox server info $ knife proxmox template list $ knife proxmox template available $ knife proxmox server st[art,op] $ knife proxmox server destroy Pomáhejte s rozvojem: h ps://bitbucket.org/jmorarlla/knife- proxmox
Reference Proxmox VE h p://pve.proxmox.com/wiki/ h p://pve.proxmox.com/pve2- api- doc/ IRC: freenode (##proxmox) OpenVZ h p://en.wikipedia.org/wiki/openvz h p://openvz.org/main_page IRC: freenode (#openvz) KVM h p://www.linux- kvm.org/page/main_page h p://en.wikipedia.org/wiki/kernel- based_virtual_machine IRC: freenode (#kvm)
DISKUSE DĚKUJI ZA POZORNOST