Wirtualizacja – nowe podejście Patryk Malina CTO @ B2B RHCA, RHCSS, JBCAA
Wirtualizacja – nowe podejście
Patryk MalinaCTO @ B2BRHCA, RHCSS, JBCAA
Wirtualizacja – nowe podejście
KVMlibvirt
OpenStack
Clou
dFor
ms
RHELV OpenShift
OpenStack - wprowadzenie
● IaaS● chmura● różne Hypervisory i środowiska
OpenStack – wizja Red Hat
● silna pozycja Red Hat● #1 grizzly contributor 2
● wszystkie niezbędne produkty
● doświadczenie● 100% open source● szkolenia
To wręcz śmieszne, że większość firm chce się pozycjonować jako „Red Hat” OpenStacka.Ale to my jesteśmy Red Hatem.1
Brian Stevens, CTO, Red Hat„
1 http://www.forbes.com/sites/reuvencohen/2013/04/26/cloud-interoperability-and-the-battle-for-the-open-cloud/2 http://blog.bitergia.com/2013/04/04/companies-contributing-to-openstack-grizzly-analysis/
OpenStack - komponenty
● system operacyjny - RHEL● hypervisor - KVM● software defined storage - GlusterFS● software defined network - Open vSwitch● SLA i QoS - cgroups● bezpieczeństwo - sVirt● projekt community - RDO
KVM – najwyższa wydajność
● SPECvirt_sc2010 1
● największa wydajność● najlepsza
skalowalność● od przeszło 3 lat
1 http://www.spec.org/virt_sc2010/results/2 ftp://public.dhe.ibm.com/linux/pdfs/KVM_Virtualized_IO_Performance_Paper_v2.pdf
● 1.5 miliona IOPS dla requestów I/O rozmiaru 4 KiB i mniejszych 2
KVM – możliwości enterprise● HA/uptime priorytetem
● w zmieniającym się środowisku● w zmieniających się potrzebach biznesowych
● adaptacyjność
● hotplug vDisk● hotplug vNIC● hotplug vCPU (TP)● hotplug vMemory (RHEL7)
● live snapshot
● live block migration
Software defined storage
● Red Hat Storage (GlusterFS)● wysokodostępny i wysokowydajny storage
zarządzany software'owo● zbudowany z cegieł – przestrzeni masowych
udostępnionych z różnych serwerów– możliwość wykorzystania lokalnych dysków
● brak potrzeby posiadania macierzy
● unified file and object store (swift, glance)– dostęp HTTP, NFS, CIFS, native (mount) i inne
● wkrótce dostęp blokowy – libgfapi (cinder)● skalowalność pozioma i pionowa
Software defined networking
● Open vSwitch● vswitch w
środowiskach
wirtualnych● RHEL 6.4● RHEV 4.0?
● Quantum
sVirt
● SELinux● etykietowanie „bytów” w systemie
– system_u:system_r:init_t:s0● MAC – zgodna na interakcje tylko, jeśli
opisano to w polisie
● sVirt● kategoryzowanie
– system_u:system_r:svirt_t:s0:c721,c859● izolacja VM i hosta
cgroups
● dla danej grupy procesów:● limituj, priorytetyzuj, zliczaj (QoS, SLA)
– CPU– memory– disk I/O– net I/O
● automatyczna klasyfikacja ● VM w KVM jest procesem
włączenie cgroups
Uproszczony schemat OpenStacka
OpenStack – projekt RDO
● RDO – pakiety z OpenStackiem● dla systemów Fedora, RHEL i pochodnych● brak wsparcia Red Hat
● dla community, cele:● dostarczenie najświeższej wersji (dziś Grizzly)● łatwiejsza instalacja (instalator)● testy, deweloperka● dokumentacja
RDO – jak zacząć?
● http://openstack.redhat.com/● sekcja QuickStart● yum install -y openstack-packstack
● puppet
● instalacja na jednym hoście:● packstack --allinone
● instalacja na wielu hostach:● packstack --install-hosts=IP1,IP2,IP3,...
● konsola na http://IP1/dashboard
RDO – moje początki
● Mam tylko notebook...● wykluczam instalację allinone
● Nested virtualization
● Problem – L2 domyślnie są QEMU bez KVM
Poziom Ilość Rodzaj Hostname Rola
L0 1 host fizyczny Hypervisor
L1 1 VM KVM rdo1 dashboard, block & object store
L1 2 VM KVM rdo2, rdo3 compute node
L2 ∞ VM KVM instancje OpenStack
● # cat /etc/modprobe.d/kvm.conf
options kvm_intel nested=1
● # cat /etc/libvirt/qemu/RDO-grizzly-{2,3}.xml
<cpu mode='custom' match='exact'>
(...)
<feature policy='require' name='vmx'/>
</cpu>
● # grep kvm /etc/nova/nova.conf
libvirt_type=kvm
RDO – moje początki c.d.
Wiedza
● Szkolenia● CL210 – OpenStack Administration● RH236 – Storage Server Administration● RH200+RH300 – RHEL● RH429 – SELinux Policy Administration● Puppet Fundamentals + Advanced
● Usługi● konsulting, wdrożenia, wsparcie
Pytania?C H M U R A