Professional Documents
Culture Documents
Srce Sys Seminari Virtualizacija
Srce Sys Seminari Virtualizacija
Virtualizacija
Sadržaj:
v Virtualizacija (općenito)
w Što je virtualizacija, tipovi virtualizacije, komparacija softvera.
v Virtualizacijski alati:
Virtualizacija
Virtualizacija?
v “Apstrakcija” računalnih resursa
Virtualizacija
Platformska virtualizacija
v Emulacija ili simulacija
v “Native” ili potpuna virtualizacija
v Parcijalna virtualizacija
v Paravirtualizacija
v OS ili system-level virtualizacija
v Aplikacijska virtualizacija
Virtualizacija
Paravirtualizacija (Xen)
Virtualna mašina
nemora
neophodno
simulirati hardver
već postavlja
specijalni API koji
se može koristiti
kroz modifikaciju
“guest” OS-a. Ovaj
system-call tom
tkzv. “hipervizoru”
se zove “hypercall”
Virtualizacija
Puna virtualizacija (VMware)
Virtualna mašina
simulira onoliko
hardvera koliko je
potrebno da “guest”
OS ostane
nemodificiran i
pokrenut u izolaciji.
Uobičajena je
mogućnost
pokretanja više
instanci odjednom.
Virtualizacija
Resursna virtualizacija
v RAID, volume managers
v Storage virtualization
v Channel bonding
v VPN, NAT
v Grid/klasteri
v Particioniranje
v Enkapsulacija
Virtualizacija
Primjena
v Konsolidacija servera
v Disaster recovery
v Testiranje i edukacija
v Mobilne aplikacije i radni prostori
Virtualizacija
x86 virtualizacija
• Host OS à Guest OS
• 2005, 2006.. Intel, AMD – hardverske ekstenzije
Virtualizacija
Virtualizacijski softver:
• Blue Pill • Real-Time Systems
• Enomalism • VirtualBox
• Kernel-based Virtual • Virtual Iron
Machine • VirtualLogix
• MS Virtual PC / Virtual • VMware
Server • Xen
• Parallels Workstation • Solaris 10
• UML
Virtualizacija
Virtualizacijski softver:
1. Microsoft Virtual PC
2. Solaris 10 Zones
3. User Mode Linux
4. XEN
5. Microsoft Virtual Server
6. VMWare Workstation
7. VMWare ESX server
Virtualizacija
Virtualizacijski softver:
• http://en.wikipedia.org/wiki/Comparison_of_virtual_machines
Name Creator Host Processor Guest Processor Host OS
User Mode Linux Jeff Dike & co. Intel x86, PowerPC (Same as parent) Linux
Virtual Server 2005 R2 Microsoft Intel x86, AMD64 Intel x86 Windows 2003, XP
VMware Workstation 6.0 VMware Intel x86, AMD64 Intel x86, AMD64 Windows, Linux
VMware ESX Server 3.0 VMware Intel x86, AMD64 Intel x86, AMD64 None (bare metal install)
Zones (Solaris 10) Sun Microsystems x86, x86-64, SPARC (Same as host) Solaris
University of Cambridge,
Xen Intel x86, AMD64 (Same as host) NetBSD, Linux, Solaris
Intel, AMD
Virtualizacija
Virtualizacijski softver:
Guest OS speed relative
Name Method of operation License Typical use
to Host OS
User Mode Linux Porting GPL version 2 used as a separate machine Native speed
Proprietary (free from Jul Hobbyist, Developer, Near native with Virtual
Virtual PC 2007 Virtualization
2006) Business workstation Machine additions
Consolidation, Continuity,
VMware ESX Server 3.0 Virtualization Proprietary Up to near native
Dev/Test
Virtualizacija
Virtualizacijski softver:
Officially supported guest Drivers for supported
Name Guest OS SMP Runs Arbitrary OS
OS guest OS
Zones (Solaris 10) Solaris, Linux (BrandZ) Yes, over 100-way No N/A
Virtualizacija
Microsoft Virtual PC
v http://www.microsoft.com/windows/downloads/virtualpc/default.mspx
w Besplatan
w PC emulacija
w 32bit, VESA, AMI BIOS, SB16, DEC2104
w Macintosh
w Dynamic recompilation x86 à PowerPC
w Linux?
w 16 bit video emulation.
w Potrebno podesiti xorg.conf
Virtualizacija
VMWare Workstation
v http://www.vmware.com/products/player/
w Besplatno.
w Pokretanje i korištenje postojećih virtualnih strojeva
kreiranih u VMWare workstationu, serveru i drugim
alatima.
w Nemogućnost kreiranja i konfiguriranja vlastitih
virtualnih strojeva
Virtualizacija
VMWare Virtual Server
v http://www.vmware.com/products/server/
w Besplatno
w “Standalone” virtualizacijski server.
w Particionira resurse postojećeg fizičkog poslužitelja na
način da se omogući instalacija i rad više virtualnih
strojeva na jednom virtualizacijskom poslužitelju
w Nedostaju mnoge napredne opcije dostupne kod ESX
servera i Virtual Center controlled ESX servera
Virtualizacija
VMWare Player
v http://www.vmware.com/products/ws/
w “Desktop” virtualizacija
w Mogućnost kreiranja i konfiguriranja te pokretanja
vlastitih virtualnih strojeva
w Omogućava korištenje više OS-ova simultano na
jednom desktop računalu
w Za svrhe testiranja, razvoja itd.
Virtualizacija
User Mode Linux
v http://user-mode-linux.sourceforge.net/
Virtualizacija
User Mode Linux
Hardver
Hardver
Linux kernel
Linux kernel
Proces 1
User mode linux
Proces 1 Proces 2
Proces X
Proces 2 Proces X
Virtualizacija
User Mode Linux
v Ako se UML kernel sruši, osnovni kernel ostaje netaknut
v Usermode kernel se može pokrenuti pod običnim
korisnikom
v UML se može debugirati kao bilo koji normalan proces
v Gprof (profiling), Gcov (coverage testing).
v Sigurno testiranje bez rizika za korupcijom krenela
v Izolirano okružje za testiranje novih aplikacija
v Pokretanje različitih distribucija linuxa istovremeno na
istom hardveru
v Zabavno?
Virtualizacija
User Mode Linux: Instalacija
v Download - najnoviju UML zakrpu
v Download - pripadajući kernel
v Kreacija direktorija i raspakiravanje kernela:
# mkdir ~/uml
# cd ~/uml host% tar -xjvf linux-2.4.0.tar.bz2
Virtualizacija
User Mode Linux: Instalacija
v Primjena uml kernel zakrpe
# cd ~/uml/linux
# bzcat uml-patch-2.4.0.bz2 | patch -p1
Virtualizacija
User Mode Linux: Instalacija
v Te na kraju:
Virtualizacija
User Mode Linux: UML Utilities
v Mnoge funkcije UML kernela zahtjevaju i paket
uml_utilities koji uključuje alate:
Virtualizacija
User Mode Linux: Konzole
v Moguće je spojiti UML serijske linije i konzole na mnoge
tipove host I/O kanala
Moguće ih je spajati na host pty, tty, file descriptors, i
portove. Čime je moguće:
v
Virtualizacija
User Mode Linux: Konzole
v spajanje UML device na specificirani tty:
con1=tty:/dev/tty3
con1=port:9000
ssl=port:9000
Virtualizacija
User Mode Linux: SKAS
v Problem?
Virtualizacija
User Mode Linux: SKAS
v Separate Kernel Address Space (SKAS)
Virtualizacija
User Mode Linux: MC
v Management Console za UML
w Omogućava:
• dobivanje kernel verzije
• dodavanje i micanje devices
• halt ili reboot virtualnog stroja
• slanje SysRq naredbi
• pauziranje UML -a
• backupiranje bez zaustavljanja UML-a
• primanje obavjesti od virtualnih strojeva
• razni drugi nadzor
Virtualizacija
User Mode Linux: MC
v Zahtjeva mconsole client (uml_mconsole) koji se može
naći u CVS (/tools/mconsole) u 2.4.5-9um i kasnijim.
Virtualizacija
XEN
v http://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf
v http://www.dell.com/downloads/global/power/ps3q05-20050191-Abels.pdf
• Paravirualizacija
• x86 virtual machine monitor
• Apstrakcija hardware-a
• Modificirani guest OS (kernel)
• Paravirtualizirani x86 interface
• VM isolation
• Hypervisor
Virtualizacija
XEN
Virtualizacija
XEN
Asinhroni IO prsten
za prenošenje
podataka izmeñu
Xen-a i guest OS-a
Virtualizacija
XEN: instalacija
# tar xvzf xen-{VERSION}-src.tgz
# cd xen-{VERSION}
# cd linux-{VERSION}-xen0
# make ARCH=xen menuconfig
# cd ..
# make
# make install
Virtualizacija
XEN: instalacija
v Grub.conf
Virtualizacija
XEN: instalacija
PYTHON SKRIPTA NA!!: # Define network interfaces.
# Number of network interfaces. Default is 1. #nics=1
http://www.gup.uni-linz.ac.at/xen/doc/xeninst.php # Optionally define mac and/or bridge for the network
interfaces.
# Random MACs are assigned if not given. vif = [
'mac=aa:00:00:7f:de:c5, bridge=xen-br0, ip=10.0.0.11'
# Kernel image file. kernel = "/boot/vmlinuz-2.6.10- ]
xenU" #---------------------------------------------------------
# Optional ramdisk. -------------------
#ramdisk = "/boot/initrd.gz" # Define the disk devices you want the domain to have
# The domain build function. Default is 'linux'. access to, and
#builder='linux‘ # what you want them accessible as.
# Initial memory allocation (in megabytes) for the # Each disk entry is of the form phy:UNAME,DEV,MODE
new domain. memory = 64 # where UNAME is the device, DEV is the device name the
# A name for the new domain. All domains have to have domain will see,
different names, # and MODE is r for read-only, w for read-write.
# so we use the vmid to create a name. name = "VM%d" # This makes the disk device depend on the vmid - assuming
% vmid # that devices sda7, sda8 etc. exist. The device is
# Which CPU to start domain on? #cpu = -1 exported to all domains as sda1.
# leave to Xen to pick cpu = vmid #disk = [ 'phy:sda%d,sda1,w' % (7+vmid),
# set based on vmid (mod number of CPUs) # 'phy:sda6,sda6,r' ] disk = [ 'phy:hda5,sda1,w',
'phy:hda9,sda2,w']
Virtualizacija
XEN: zašto?
• Open source
• Pokretanje više instanci operativnih sistema.
• Klasteriranje apstrakcijom hardvera.
• Relativno jednostavan (dužina source koda od 40000
linija).
• Podrška za Xen u raznim distribucijama Linux OS, kao i
najave AMD-a, Intel-a za procesorsku podršku
virtualizaciji.
Virtualizacija
Solaris 10 (zones)
Virtualizacija
Solaris 10 (zones)
Virtualizacija
Solaris 10 (zones)
v Svaka zona ima svoj osobni identitet sa jedinstvenim:
w Hostname
w Root i korisničkim account i passwordima.
w Ip adresom
w Strukturom direktorija.
Virtualizacija
Solaris 10 (zones)
Virtualizacija
Solaris 10 (zones)
v Može se kreirati do 8192 zasebne zone na jednom
fizičkom poslužitelju.
v Korisnicima, aplikacijama i administratoru zone izgledaju
kao zasebni izolirani sustavi.
v Greška u jednoj zoni nemože kompromitirati ili utjecati na
drugu zonu.
v Zone se kreiraju koristeći zonecfg naredbu u:
w 1. Interactive mode
w 2.Command line mode
w 3.Command file mode
Virtualizacija
Solaris 10 (zones)
v Postavljanje konfiguracije zone sa odabranim imenom
zone:
zonecfg:my-zone> create
Virtualizacija
Solaris 10 (zones)
v Postavljanje zone path, /export/home/my-zone
procedurom :
v Postavljanje autobootvalue :
Virtualizacija
Solaris 10 (zones)
v Dodavanje file sistema:
zonecfg:my-zone> add fs
zonecfg:my-zone:fs>set special=/opt/local
Virtualizacija
Solaris 10 (zones)
v Postavljenje tipe file sustava:
zonecfg:my-zone>add net
zonecfg:my-zone>set address 192.168.0.1.
zonecfg:my-zone>set physical=hme0
zonecfg:my-zone>end
Virtualizacija
Solaris 10 (zones)
v Dodavanje komentara pomoću attr resource type:
zonecfg:my-zone>add attr
zonecfg:my-zone:attr>set name=comment
zonecfg:my-zone:attr>set type=string
zonecfg:my-zone:attr>set value=“Moja zona”
zonecfg:my-zone:attr>end
Virtualizacija
Solaris 10 (zones)
v Provjera konfiguracije zone:
zonecfg:my-zone> verify
zonecfg:my-zone> commit
zonecfg:my-zone> exit
Virtualizacija
Solaris 10 (zones)
v Instalacija konfigurirane zone my-zone:
Virtualizacija
Solaris 10 (zones)
v Moguće je postaviti ograničenja na resurse
dostupne odreñenoj zoni na nekoliko načina:
Virtualizacija
Solaris 10 (zones)
# pooladm -e
Virtualizacija
VMWare Infrastructure 3
v http://www.vmware.com/download/vi/eval.html
Virtualizacija
VMWare Infrastructure 3
v VMware High Availability (HA): sustav visoke dostupnosti virtualnih
strojeva
Virtualizacija
VMWare Infrastructure 3
• Za potpunu
iskorištenost naprednih
funkcija, potreban je:
Virtualizacija
VMWare VI3: storage
Centralizirani
storage
Virtualizacija
VMWare VI3: mreža
Mreža:
-VLAN
-Trunking
-Rapid STP convergence
-Failover
-VMotion
Virtualizacija
VMWare VI3: mreža
Za sve ESX
hostove jednaka
mrezna
konfiguracija
(neophodno za
pokretanje
naprednih opcije:
vmotion, HA,
DRS).
Virtual Center?
Virtualizacija
VMWare VI3: mreža
Mrežne postavke:
Virtual switch
NIC-teaming
Standby-adapter
Virtualizacija
VMWare VI3: HA/DRS
http://download3.vmware.com/vmworld/2006/tac9413.pdf
HA (High Availability)
DRS (Distributed Resource Scheduler)
Virtualizacija
VMWare VI3: DRS
v Poboljšanje iskorštavanja resursa na svim poslužiteljima i
“resource pools”
v Fleksibilna konfiguracija za rayličite modove
automatizacije
v Input: podaci o iskorištenju resursa od strane poslužitelja i
virtualnih strojeva
v Output: preporuke o pozicioniranju virtualnih strojeva
Virtualizacija
VMWare VI3: DRS
v Preporuke se baziraju na:
Virtualizacija
VMWare VI3: DRS
v Preporuke se baziraju na (2):
• CPU/memory load
• Host “maintenance mode”
Virtualizacija
VMWare VI3: DRS
DRS modovi:
- ”ručni”
- ”poluatomatski”
- ”automatski”
Virtualizacija
VMWare VI3: HA
• Klaster sa omogućenim
nadzorom sustava visoke
dostupnosti i prestanka
rada poslužitelja
• HA za virtualne strojeve
• Failover unutar klastera
ESX server poslužitelja
• Podesivo ponašanje za
individualne virtualne
strojeve.
Virtualizacija
VMWare VI3: HA
•Downtime
minimalan ali ne i
nepostojeći
•NE nadgeda
individualne
virtualne strojeve
•Koristi Virtual
Center skripte i
alarme za
nadgledanje
statusa ESX
poslužitelja
•NE KORISTI
*VMOTION*!!
Virtualizacija
VMWare VI3: Virtual Center
U paketu:
• Virtual Center
• Licensing server
• Baza (sql)
Virtualizacija
VMWare VI3: Virtual Center
v Virtual Center!!!!
v Licensing server
Virtualizacija
VMWare VI3: Virtual Center
v Automated availability manager
• /etc/hosts
• /etc/resolv.conf
• /opt/LGTOaam512
Virtualizacija
VMWare VI3: Virtual Center
v AAM ß à VC (Windows XP, 2003)
v C:\WINDOWS\system32\drivers\etc
127.0.0.1 localhost
XX.X.X.101 esx1.domena.hr
XX.X.X.102 esx2.domena.hr
XX.X.X.103 esx3.domena.hr
XX.X.X.104 esx4.domena.hr
XX.X.X.105 vc.domena.hr
Virtualizacija
VMWare VI3: Virtual Center
Nadzor: 1. Cluster services •Day
•HA klastera 2. CPU •Week
•ESX poslužitelja 3. Disk •Month
•Virtualnih strojeva 4. Memory •Year
5. Network •Custom…
6. System
Virtualizacija
VMWare VI3: Converter
Omogućava tranziciju i
kreaciju virtualnih
strojeva metodama:
•physical to virtual,
•virtual to virtual
•“version” migration
Virtualizacija
VMWare VI3: Consolidated Backup
Centralizirani
backup VM-ova.
FC-baziran
Proxy backup
poslužitelj
Windows 2003
Virtualizacija
VMWare VI3: Permisije
v Korisnicima koji postoje na Virtual Centrer poslužitelju se
mogu dodjeliti ovlasti na virtualizacijskom klasteru, ESX
poslužitelju i/ili virtualnim strojevima.
Virtualizacija
VMWare VI3: Permisije
v Permisije mogu biti:
w administrator
w datacenter administrator
w virtual machine administrator
w virtual machine power user
w virtual machine user
w resource pool administrator
w read-only
w no access
Virtualizacija
Extra: QEMU ?
# apt-cache search qemu
Virtualizacija
Extra: QEMU ?
# mkdir windows
# cd windows
Virtualizacija
Zaključak!
v Potreba za virtualizacijom?
v Hardverska konsolidacija?
v Beneficije?
v Tehničke mogućnosti:
w Hardverski zahtjevi
w Adekvatan softver
Virtualizacija
Pitanja?
Virtualizacija