Lekka wirtualizacja z systemem SLES 11 SP2 Piotr Szewczuk Konsultant pszewczuk@suse.com
Informacje organizacyjne Webinar będzie nagrywany Link do nagrania roześlemy dzisiaj wszystkim osobom zarejestrowanym na seminarium Pytania można zadawać w oknie czatu znajdującym się po lewej stronie Prelegenci odpowiedzą na pytania skierowane pod koniec prezentacji Webinar obejmuje prezentację i krótki pokaz 2
Agenda webinaru Sposoby separacji zasobów systemowych Mechanizm Control Groups Linux Containers (LXC) Pokaz Linux Containers (LXC) Konkurs 3
4 Kubki za poprawne odpowiedzi i refleks ;-)
The Attachmate Group w Polsce Novell Sp. z o.o. krajowym reprezentantem całego holdingu The Attachmate Group, Inc. W ramach holdingu działają niezależne jednostki biznesowe NetIQ Novell SUSE Attachmate Co zapewnia polskie biuro? Konkurencyjność cenowa produktów i usług Współpraca przy implementacji Lokalny dział pomocy technicznej (w ramach maintenance!) 5
SUSE Linux Enterprise Linie produktowe i produkty Linux na serwerze SUSE Linux Enterprise Server SUSE Linux Enterprise Server for System z SUSE Linux Enterprise High Availability Extension SUSE Linux Enterprise Real Time Extension SUSE Linux Enterprise Point of Service SUSE Linux Enterprise Server for SAP Applications SUSE Manager SUSE Cloud Linux na desktopie SUSE Linux Enterprise Desktop Wirtualizacja SUSE Linux Enterprise Server Wersje typu Appliance SUSE Studio Online SUSE Appliance Toolkit SUSE Linux Enterprise JeOS (just enough operating system) Oferty specjalne na wsparcie SUSE Linux Enterprise Server Expanded Support (for Red Hat systems) SUSE Linux Enterprise Server Priority Support for SAP
Terminologia o czym dziś mówimy chroot (change root jail) cgroup container Kernel Namespaces LXC host server Miejsce w systemie plików systemu, które jest odizolowane od reszty plików. Za pomocą polecenia chroot można zmienić wskazanie / w systemie plików. Funkcja jądra systemu, która pozwala agregować i dzielić procesy dla izolowanych procesów Maszyna wirtualna działająca na bazie systemu hosta pozwalająca na uruchomienie w niej systemu Linux: opensuse, SLES, SLED Właściwość jądra systemu Linux pozwalająca na izolowanie pewnych zasobów, takich jak sieć czy użytkownicy, pomiędzy grupami procesów SUSE Linux z uruchomionym mechanizmem LXC i dostarczający kontenery poprzez cgroups. 7
8 Chroot Jails
Mechanizm Control Groups
Czym jest Control Groups? Control Groups dostarcza mechanizmów do agregowania i partycjonowania zestawu zadań i ich przyszłych procesów dzieci w hierarchiczne grupy. Cgroup jest inną nazwą dla Control Groups. Podział zadań (procesów) jest możliwy do jednej lub wielu grup Podsystem cgroup zapewnia parametry, które mogą być przypisane Zadania są dotknięte przez przypisane parametry Zadania są powiązane w grupy przypisane do zestawu parametrów podsystemu Cgroups musi być aktywowany aby w SLES11 SP2 działały LXC 10
Przykład zastosowania cgroup Duży uniwersytecki serwer z różnymi użytkownikami - studenci, kadra wykładowców, zadania systemowe etc. Planowanie zasobów tego serwera może być następujące: CPUs Top cpuset (20%) / \ CPUSet1 CPUSet2 (Profs) (Students) 60% 20% Memory Professors = 50% Students = 30% System = 20% Disk I/O Professors = 50% Students = 30% System = 20% Network I/O WWW browsing = 20% / \ Prof (15%) Students (5%) Network File System (60%) Others (20%) Source: /usr/src/linux/documentation/cgroups/cgroups.txt 11
Podsystem Control Groups Dwa typy podsystemów: Izolowanie i kontrola cpuset, namespace, freezer, device, checkpoint/restart Kontrola zasobów cpu(scheduler), memory, disk i/o, network Source: http://jp.linuxfoundation.org/jp_uploads/seminar20081119/cgroupmemcgmaster.pdf 12
13 Kontenery
Budowa i używanie kontenerów LXC
Czym jest Linux Containers? Wirtualizacja na poziomie systemu operacyjnego zwana też lekką wirtualizacją Umożliwia uruchamianie wielu izolowanych serwerów na pojedynczym hoście Nie dostarcza osobnych wirtualnych maszyn ale wirtualne środowiska podobne do chroot Izolowanie odbywa się na wyższym poziomie niż w przypadku chroot LXC w działaniu podobny jest do Solaris Zone, BSD Jails czy też OpenVZ 15
Linux Containers w SLES 11 SPx LXC w SLES 11 SP2 Wsparcie dla kontenerów systemowych. Pełna instalacja systemu SLES 11 SP2 w strukturze katalogów chroot Wymagane stworzenie interfejsu sieciowego typu Bridge Jedynie system SLES 11 SP2 jest wspierany do uruchamiania w kontenerze Plany wobec LXC w SLES 11 SP3 Wsparcie dla kontenerów aplikacyjnych Jeszcze łatwiejsze tworzenie nowych kontenerów Wsparcie dla AppArmor + LXC Wsparcie dla systemu plików BtrFS 16
17 A Wirtualizacja KVM - Architektura
18 Kontenery Linux Architektura
Linux Containers korzyści / ograniczenia Korzyści: Izolowanie aplikacji i systemów operacyjnych w osobnych przestrzeniach Działanie na poziomie 98% wydajności hosta Dynamiczna zmiana parametrów bez konieczności restartów Ograniczenia: Wszystkie kontenery są uruchamiane w obrębie jednego jądra systemu hosta W kontenerze można uruchomić tylko system z jądrem Linux LXC to nie jest pełna wirtualizacja jak XEN, KVM 19
Linux Containers konfiguracja /etc/init.d/boot.cgroup start Insserv boot.cgroup Konfiguracja interfejsu typu bridge lxc-checkconfig Yast2 lxc lub cli ;-) LVM Zabezpiecza przez przepełnieniem system plików hosta Pozwala dynamicznie rozszerzać wolumen logiczny z którego korzysta kontener W połączeniu z rsync można zautomatyzować tworzenie kontenerów 20
Linux Containers zastosowania Serwery firmowe Dostęp dla użytkowników /programistów z pełnym dostępem typu root do serwera fizycznego Izolacja usług systemowych np. serwery www Rozwiązania hostingowe / datacenter Pełny dostęp do serwera dla klientów Izolacja ich zasobów prostota w zarządzaniu środowiskiem Lekka wirtualizacja to mniejsze zużycie zasobów / prostsza konfiguracja 21
Linux Containers vs Solaris Containers Solaris Containers LXC Included with OS Yes Yes Zone Management Command Line Interface Yes (zonecfg, zoneadm) Yes (lxc-*) GUI Yes (added purchase) Yes (YaST module) Fault Isolation Application Level Yes Yes Kernel Level No No Privacy/Security Yes (inside container) Yes (inside container) Resource Management Project/Task Identifiers Yes No Accounting Yes No (evaluating features) CPU Control Yes Yes Memory Control Yes Yes (OOM) Network Control Yes No (in progress) 22
Gdzie zdobyć wiedzę o wirtualizacji? Polecamy autoryzowane kursy: 3107 SUSE Linux Enterprise Server 11: Certified Linux Engineer 2013-02-04: Warszawa 2013-04-08: Kraków 2013-06-10: Warszawa http://www.compendium.pl/szkolenie/4293/szkolenieautoryzowane-suse-3107-suse-linux-enterprise-server-11-certifiedlinux-engineer 8014 SUSE Linux Enterprise Server 11: Manage Virtualization with Xen (Advanced Technical Training) 2013-02-18: Warszawa 2013-03-20: Warszawa 2013-04-15: Kraków 2013-06-17: Warszawa http://www.compendium.pl/szkolenie/4238/szkolenieautoryzowane-suse-8014-suse-linux-enterprise-server-11-managevirtualization-with-xen-advanced-technical-training 23
Dziękujemy za uwagę! Zapraszamy do kontaktu z nami: Piotr Szewczuk, pszewczuk@suse.com Wojciech Mazurek, wmazurek@suse.com tel. do biura SUSE: 22 537 5020, infolinia@suse.com Zapytania o oferty cenowe dla systemów SUSE www.novell.com/poland/formularz.html Gratulujemy wygranych w konkursie! Kubeczki dotrą do Państwa w przyszłym tygodniu 24
Demo
SUSE w Polsce Novell Sp. z o.o. ul. Postępu 21 02-676 Warszawa +22 537 50 20 (Polska) www.suse.pl Dołącz do społeczności: www.opensuse.org 26
Unpublished Work of SUSE. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All thirdparty trademarks are the property of their respective owners.