Elastyczna sieć dla rozwiązań Cloud Open vswitch
Dariusz Puchalak 19+ lat Linux/Unix Sysadmin 7+ lat trener 6+ m-cy w OSEC
OSEC 6+ lat na rynku doświadczona kadra (ACNI, RHCA) specjalizacja open-source
Open vswitch
Virtual Switch? Wirtualny switch dla wirtualnych sieci. :)
Open vswitch vs. Bridge. Linux bridge (switch z lat 90tych) Open vswitch (nowoczesny switch działający także poza warstwą 2-gą)
Open vswitch Wielwarstwowy wirtualny (programowy) przełacznik Licencja Apache 2.0 Wsparcie dla protokołów monitorowania jak NetFlow, sflow, itd.. Wsparcie dla ruchu rozproszonego na wielu hostach Linux 3.3+ Narzędzia dostępne w standardowych dystrybucjach.
Cechy *Flow widać co się dzieje w komunikacji między systemami wirtualnymi LACP - - Link Aggregation Control Protocol VLAN QoS (bardzo dokładnie konfigurowalne) HFSC (Hierarchical Fair Service Curve) qdisc QoS wspierający zarządzanie opóźnieniami Polityka QoS per interface maszyny wirtualnej
Wsparcie OpenStack (SUSE Cloud) Xen KVM ESXi SUSE, Ubuntu. Fedora, Debian, FreeBSD
Open vswitch vs. Bridge. Ruch pomiędzy wirtualkami Ruch na zewnątrz
Open vswitch vs. Bridge. Wieloserwerowa wirtualizacja Dynamika zmian Logiczna separacja Integracja ze sprzętem (wspierającym Open vswitch)
Open vswitch w chmurze. Mobilność (razem z maszyną wirtualną) Dynamiczne (programowalne zmiany sieci) Logiczne etykiety Wsparcie sprzętu
Podział kodu. Część działająca na poziomie jądra systemu: od brudnej roboty Jak najmniejsza Cześć działająca w przestrzeni użytkownika: Logika sterowania działaniem
Mobilność maszyn wirtualnych
Migracja - wymagania Migracja storage Migracja Virtual RAM Migracja stanu CPU Migracja stanu sieci
Migracja stanu sieci. Problemy: L2 table L3 forwarding state ACLki Polityka QoS Monitorowanie przepływów (NetFlow, SFlow)
Migracja stanu sieci. Open vswitch: Real Data Model Migracja reguł SPAN Migracja reguł ACL Migracja reguł QoS Migracja stanów
Logiczne etykiety. Dodawanie logicznych etykiet do ruchu sieciowego (kontekstu) Identyfikacja maszyny wirtualnej Efektywne zarządzanie etykietami Wsparcie dla: GRE STT (Stateless Transport Tunelling) VXLAN
Wsparcie sprzętu Środowiska wirtualna można zrządzać w takim sam sposób jak środowiska fizyczne. Przepływ danych w sprzęcie zamiast kernelu (jeszcze większa wydajność) Portowanie Open vswitcha na nowe chipsety.
Centralne zarządzanie OpenFlow (oddzielenie danych od sterowania) Kontroler OpenFlow definiuje jak przełącznik ma przetwarzać pakiety. Jeden kanał zarządzania per system konfiguracja switcha Zasoby Liczniki
Jak to działa. 1-szy pakiet trafia do kontrolera. Kontroler programuje switch dla przepływu danych Akcja jedna (lub więcej): Forward, mirror, encapsulate and forward, drop Powrót pakietu do switcha 2gi i kolejne: Szybka ścieżka zaprogramowana w switchu
Zaawansowane cechy Łączenie interfejsów: Load balancing (source MAC L2) Active-backup L4 hashing (Load balancing z danych z warstwy TCP/UDP) OpenFlow (plus rozszerzenia do wirtualizacji) IPv6 Wiele protokołów tunelowania: GRE VXLAN Ipsec GRE i VXLAN over IPsec
Zaawansowane cechy Możliwość zaprogramowania zdalna konfiguracji w C i Pythonie Przekazywanie pakietów w: Kernelu (gdy jest wpis flow) Przestrzeni użytkownika (do kontrolera) Multi-table forwarding pipeline with flow-caching engine Polityka przypisywana per interfejs maszyny wirtualnej Łatwe przenoszenie na nowe platformy sprzętowe/programowe dzięki osobnej warstwie (forwarding)
Demo
Podsumowanie
Open vswitch Software-Defined Networking Kontroler działa w przestrzeni użytkownika Szybkie przesyłanie danych w kernelu Implementacja Open Flow
Pytania? Dariusz.Puchalak@osec.pl