Lekka wirtualizacja z systemem SLES 11 SP2 -...
Transcript of Lekka wirtualizacja z systemem SLES 11 SP2 -...
Lekka wirtualizacja z systemem SLES 11 SP2
Piotr Szewczuk Konsultant [email protected]
2
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
3
Agenda webinaru
Sposoby separacji zasobów systemowych
Mechanizm “Control Groups”
Linux Containers (LXC)
Pokaz Linux Containers (LXC)
Konkurs
4
Kubki za poprawne odpowiedzi i refleks ;-)
5
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!)
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
7
Terminologia – o czym dziś mówimy chroot (change root jail) „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.
cgroup Funkcja jądra systemu, która pozwala agregować i dzielić procesy dla izolowanych procesów
container Maszyna „wirtualna” działająca na bazie
systemu hosta pozwalająca na uruchomienie w niej systemu Linux: openSUSE, SLES, SLED
Kernel Namespaces 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
LXC host server SUSE Linux z uruchomionym mechanizmem LXC i dostarczający
kontenery poprzez cgroups.
8
Chroot Jails
Mechanizm Control Groups
10
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
11
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
12
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
13
Kontenery
Budowa i używanie kontenerów LXC
15
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
16
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
17
Wirtualizacja KVM - Architektura A
18
Kontenery Linux – Architektura
19
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
20
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
21
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
22
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)
23
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/szkolenie-
autoryzowane-suse-3107-suse-linux-enterprise-server-11-certified-linux-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/szkolenie-autoryzowane-suse-8014-suse-linux-enterprise-server-11-manage-virtualization-with-xen-advanced-technical-training
24
Dziękujemy za uwagę!
• Zapraszamy do kontaktu z nami:
Piotr Szewczuk, [email protected]
Wojciech Mazurek, [email protected]
tel. do biura SUSE: 22 537 5020, [email protected]
• 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
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 third-
party trademarks are the property of their respective owners.