Linux Contextualization
Michał Jura
Dział IT i Rozwoju
PLNOG 7, Kraków, 28 Września 2011 r.
AGENDA
1/11
1. Początki naszej infrastruktury
2. Metody wirtualizacji
3. VServer case study
4. Jak tego używamy
5. Linux Containers
6. Podsumowanie i wnioski
Money.pl Business Network:
TŁO HISTORYCZNE
1/11
Nasze cele na początku 2008 roku:
 Wdrożenie nowych serwerów
 Uruchomienie nowych projektów
 Przygotowanie do zmiany Data Center
 Zwiększenie poziomu bezpieczeństwa
Money.pl Business Network:
METODY WIRTUALIZACJI
1/11
 Emulation
●
Qemu
 Paravirtualization
●
Xen
 Native Virtualization
●
KVM, VMware
 Operating System-Level Virtualization
●
OpenVZ, FreeBSD jail, Solaris Zones, LXC
Money.pl Business Network:
NASZE OCZEKIWANIA
1/11
 Niewielki narzut na wirtualizację
 Elastyczność w konfiguracji
 Różne przypadki użycia
 Bezpieczeństwo
 Open Source
Money.pl Business Network:
Linux-VServer
1/11
 Strona projektu: linux-vserver.org
 Seperacja procesów w obrębie jądra Linux
 Wykorzystuje znane mechanizmy systemu Linux
– Linux Capability System
– Resource Limits
– File Attributes
– Change Root Environment
 Współdzielone zasoby dla wszystkich instancji
wirtualnych
Money.pl Business Network:
Linux Capability System
1/11
 Począwszy od jądra 2.6.24 pełna obsługa POSIX
Capabilities
 Obecnie zdefiniowane 34 uprawnienia z
możliwością wprowadzenia dodatkowych
 Bezproblemowa koegzystencja tradycyjnych
aplikacji (SUID-0) oraz tych korzystających z
nowego mechanizmu
 Wszystkie informację są indywidualne dla każdego
wątku w systemie ustawiane trzy bitową maską:
I(inheritable), P(permitted) i E(effective)
Money.pl Business Network:
man capabilities
2/11
Money.pl Business Network:
Zdolność Opis
[0] CAP_CHOWN modyfikacja właściciela pliku lub grupy
[5] CAP_KILL możliwość wysyłania sygnałów
[6] CAP_SETGID zezwala na setgid(), setgroups()
[7] CAP_SETUID zezwala na setuid()
[11] CAP_NET_BRODCAST wysyłanie brodcastów i nasłuchiwanie multicastów
[12] CAP_NET_ADMIN konfiguracja sieci w systemie
[13] CAP_SYS_MODULE usuwanie i ładowanie modułów do jądra
VSERVER PATCH
6/11
Modyfikacje jądra Linux dla VServer
 Context Separation
– rozszerza funkcjonalność jądra o użycie kontekstów
– separuje procesy serwerów wirtualnych
– umożliwia użycie dwóch identycznych uid przez różne instancje
 Network Separation
– nie wprowadza żadnych zmian w celu zwiększania narzutu
– dowolność przypisywania adresów IP
 Chroot Barier
– ulepszony mechanizm chroot chroniący przed wyjściem z niego lub
nieautoryzowaną modyfikacją
 Resource Isolation
 Filesystem XID Tagging
Money.pl Business Network:
VSERVER ARCHITEKTURA
8/11
 Wpływ na wydajność Root Servera
– w okolicy 0%
 Narzut na wirtualizację
– mniej niż 2%
 Ilość linii kodu VServer Patch
– około 1112 linii
Money.pl Business Network:
VSERVER ADMINISTRACJA
8/11
 Tworzenie nowej instancji VServer
vserver vserver1 build -m debootstrap –context 100 
--hostname vserver1.mny –interface eth0:192.168.1.10/24 
-- -d squeeze -m http://ftp.pl.debian.org/debian
 Zarządzanie wirtualnymi serwerami
vserver vserver1 start,stop,suexec,restart,enter,status,delete
 Dodatkowe narzędzia w pakiecie util-vserver
vps, vlimit, vkill, vpstree, vnamespace, vapt-get, vrpm, vemerge
 Schematy serwerów dla różnych dystrybucji
Money.pl Business Network:
STORAGE WIRTUALIZACJA
8/11
 Wirtualizacja zasobów dyskowych przez LVM2
 Zwiększanie partycji online
lvresize -L +10G /dev/vdisk/vserver1
resize2fs /dev/vdisk/vserver1
 Snapshoty
lvcreate -s -L +10G -n vserver1-`date +%F` vdisk/vserver1
Money.pl Business Network:
START-UP INFRASTRUKTURA
8/11
 Specyfika projektów Start-Up:
• serwer http treść statyczna
• serwer http treść dynamiczna
• serwer aplikacji
• baza pamięciowa
• baza relacyjna
• serwer poczty
 Zwykle jeden lub dwa serwery dedykowane
 Gotowość na szybki wzrost ruchu i pojawienie się wąskich gardeł
 Partycjonowanie serwerów One Service, One Context
Money.pl Business Network:
START-UP INFRASTRUKTURA
8/11
Money.pl Business Network:
PRZYPADKI UŻYCIA
8/11
 Backup
– dla większości wirtualnych serwerów wystarczy zwykły rsync w locie
– dla serwerów z bazą LVM2 snapshot
– dla produkcji agent bacula-fd na Root Server
 Monitoring
– Nagios3 na Root Server + VServer Plugin
– Collectd na Root Server + VServer Plugin
 Konfiguracja
– własna implementacja chef
 Każdy programista posiada dostęp do swojego projektu
Money.pl Business Network:
WDRAŻANIE NIEZAWODNOŚCI
8/11
Money.pl Business Network:
TOPOLOGIA
11/11
Money.pl Business Network:
LINUX CONTAINERS
8/11
 Strona projektu: lxc.sourceforge.net
 Mechanizm zarządzanie przestrzenią użytkowników
określany mianem chroot na sterydach
 Linux Containers lxc wykorzystuje:
– zarządzanie zasobami przez system plików cgroup w
jądrze Linux od wersji 2.6.29
– ulepszona izolacja zasobów dzięki funkcjonalności
namespaces w jądrze Linux od wersji 2.6.26
 Projekt oficjalnie wspierany przez IBM
Money.pl Business Network:
LINUX KONFIGURACJA
8/11
 Montowanie systemu plików zarządzania grupami
mkdir -p /cgroup
mount none -t cgroup /cgroup
 Konfiguracja sieci za pomocą bridge
brctl addbr br0
ifconfig br0 192.168.2.1
 Tworzenie i zarządzanie kontenerem
lxc-create -n vserver1 -f /etc/lxc/vserver1.conf
lxc-start, lxc-stop, lxc-freeze, lxc-monitor
Money.pl Business Network:
PODSUMOWANIE
8/11
 Super lekka wirtualizacja bez emulacji urządzeń, narzut mniej niż
2%
 Lepsza konsolidacja i utylizacja serwerów
 Doskonałe rozwiązanie dla hostingu i aplikacji internetowych
 Separacja i organizacja usług przez odrębne instancje oraz katalogi
 Możliwość implementacji dodatkowej podsieci do zarządzania serwerami
 Dowolność przy partycjonowaniu serwerów
Money.pl Business Network:
PYTANIA ....
11/11
Money.pl Business Network:

More Related Content

PPTX
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
PDF
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
PPTX
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PDF
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
PDF
Technologie Firmy Novell A Web 2.0 - Piotr Szewczuk
PDF
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...
PDF
Szybkie stawianie aplikacji z Elastic Beanstalk
PDF
Wprowadzenie do testów wydajnościowych w k6
PLNOG22 - Piotr Stolarek - Bezpieczeństwo użytkowania platform usługowych Tel...
[QE 2017] Adrian Gonciarz - Tester w Kontenerze, czyli jak Docker może pomóc ...
PLNOG 21: Alek Cesarz, Piotr Misiak - Petabajty_z_kosmosu_(serio)
PLNOG 8: Przemysław Grygiel - Data Center Allegro wyboista droga L2 do autost...
Technologie Firmy Novell A Web 2.0 - Piotr Szewczuk
infraxstructure: Jarosław Zieliński i Sławomir Stanek "Wojna o Wirtualizację...
Szybkie stawianie aplikacji z Elastic Beanstalk
Wprowadzenie do testów wydajnościowych w k6

What's hot (14)

PPTX
Xen desktop na platformie nutanix
PPTX
Bezpieczna infrastruktura serwisu www w chmurze - WordPress
PPTX
Noc informatyka
PPTX
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
PPTX
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
PDF
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
PDF
Testowanie rozwiązań serverless z LocalStack
PDF
Citrix NetScaler - Drogą wstępu do ADC
PDF
PLNOG 6: Łukasz Jagiełło - Wdrożenie skalowalnego systemu plików GlusterFS w ...
PDF
Piątek z XSolve - TravisCI & Continuous Delivery
PPTX
[PLCUG] Power shell (PL)
PPTX
Shall we play a game? PL version
PDF
Backup Exec Podręcznik Użytkownika
PDF
Windows Serwer 2012 R2 licencjonowanie w srodowiskach wirtualnych
Xen desktop na platformie nutanix
Bezpieczna infrastruktura serwisu www w chmurze - WordPress
Noc informatyka
PLNOG 13: Adam Heczko: Openstack, Ceph, SDN
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
PLONG 21: Marcel Guzenda - Chmura_prywatna_w_wydaniu_Hiperkonwergentnym
Testowanie rozwiązań serverless z LocalStack
Citrix NetScaler - Drogą wstępu do ADC
PLNOG 6: Łukasz Jagiełło - Wdrożenie skalowalnego systemu plików GlusterFS w ...
Piątek z XSolve - TravisCI & Continuous Delivery
[PLCUG] Power shell (PL)
Shall we play a game? PL version
Backup Exec Podręcznik Użytkownika
Windows Serwer 2012 R2 licencjonowanie w srodowiskach wirtualnych
Ad

Similar to PLNOG 7: Michał Jura - Linux Contextualization (14)

PPTX
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
PDF
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PPTX
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
PDF
Marcin Motylski - Globalna Chmura Obliczeniowa
PDF
Leszek Miś "Czy twoj WAF to potrafi"
PDF
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
PDF
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
PPTX
Wirtualizacja
PDF
100 sposobów na Linux Server. Wskazówki i narzędzia dotyczące integracji, mon...
PDF
PLNOG 4: Piotr Siwczak - Zarządzanie farmami serwerów Linux
PPTX
[CareerCon] Wirtualizacja (PL)
PPTX
Citrix provisioning services
PPTX
PLNOG 13: Robert Ślaski: NFV, Virtualise networks or die – the voice of the r...
PDF
SmartNIC - wprowadzenie do inteligentnych interfejsów sieciowych.
Wirtualizacja systemów operacyjnych oraz aplikacji w środowisku Microsoft - N...
PLNOG 18 - Marcin Motylski - Budowa wirtualnego Data Center
PLNOG 21: Marcin Motylski - Bezpieczeństwo_i_Firewalle_w_Multi_Cloud / Data _...
Marcin Motylski - Globalna Chmura Obliczeniowa
Leszek Miś "Czy twoj WAF to potrafi"
PLNOG 17 - Sławomir Janukowicz - NFV – using Juniper vMX, vSRX and NFX
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
Wirtualizacja
100 sposobów na Linux Server. Wskazówki i narzędzia dotyczące integracji, mon...
PLNOG 4: Piotr Siwczak - Zarządzanie farmami serwerów Linux
[CareerCon] Wirtualizacja (PL)
Citrix provisioning services
PLNOG 13: Robert Ślaski: NFV, Virtualise networks or die – the voice of the r...
SmartNIC - wprowadzenie do inteligentnych interfejsów sieciowych.
Ad

PLNOG 7: Michał Jura - Linux Contextualization

  • 1. Linux Contextualization Michał Jura Dział IT i Rozwoju PLNOG 7, Kraków, 28 Września 2011 r.
  • 2. AGENDA 1/11 1. Początki naszej infrastruktury 2. Metody wirtualizacji 3. VServer case study 4. Jak tego używamy 5. Linux Containers 6. Podsumowanie i wnioski Money.pl Business Network:
  • 3. TŁO HISTORYCZNE 1/11 Nasze cele na początku 2008 roku:  Wdrożenie nowych serwerów  Uruchomienie nowych projektów  Przygotowanie do zmiany Data Center  Zwiększenie poziomu bezpieczeństwa Money.pl Business Network:
  • 4. METODY WIRTUALIZACJI 1/11  Emulation ● Qemu  Paravirtualization ● Xen  Native Virtualization ● KVM, VMware  Operating System-Level Virtualization ● OpenVZ, FreeBSD jail, Solaris Zones, LXC Money.pl Business Network:
  • 5. NASZE OCZEKIWANIA 1/11  Niewielki narzut na wirtualizację  Elastyczność w konfiguracji  Różne przypadki użycia  Bezpieczeństwo  Open Source Money.pl Business Network:
  • 6. Linux-VServer 1/11  Strona projektu: linux-vserver.org  Seperacja procesów w obrębie jądra Linux  Wykorzystuje znane mechanizmy systemu Linux – Linux Capability System – Resource Limits – File Attributes – Change Root Environment  Współdzielone zasoby dla wszystkich instancji wirtualnych Money.pl Business Network:
  • 7. Linux Capability System 1/11  Począwszy od jądra 2.6.24 pełna obsługa POSIX Capabilities  Obecnie zdefiniowane 34 uprawnienia z możliwością wprowadzenia dodatkowych  Bezproblemowa koegzystencja tradycyjnych aplikacji (SUID-0) oraz tych korzystających z nowego mechanizmu  Wszystkie informację są indywidualne dla każdego wątku w systemie ustawiane trzy bitową maską: I(inheritable), P(permitted) i E(effective) Money.pl Business Network:
  • 8. man capabilities 2/11 Money.pl Business Network: Zdolność Opis [0] CAP_CHOWN modyfikacja właściciela pliku lub grupy [5] CAP_KILL możliwość wysyłania sygnałów [6] CAP_SETGID zezwala na setgid(), setgroups() [7] CAP_SETUID zezwala na setuid() [11] CAP_NET_BRODCAST wysyłanie brodcastów i nasłuchiwanie multicastów [12] CAP_NET_ADMIN konfiguracja sieci w systemie [13] CAP_SYS_MODULE usuwanie i ładowanie modułów do jądra
  • 9. VSERVER PATCH 6/11 Modyfikacje jądra Linux dla VServer  Context Separation – rozszerza funkcjonalność jądra o użycie kontekstów – separuje procesy serwerów wirtualnych – umożliwia użycie dwóch identycznych uid przez różne instancje  Network Separation – nie wprowadza żadnych zmian w celu zwiększania narzutu – dowolność przypisywania adresów IP  Chroot Barier – ulepszony mechanizm chroot chroniący przed wyjściem z niego lub nieautoryzowaną modyfikacją  Resource Isolation  Filesystem XID Tagging Money.pl Business Network:
  • 10. VSERVER ARCHITEKTURA 8/11  Wpływ na wydajność Root Servera – w okolicy 0%  Narzut na wirtualizację – mniej niż 2%  Ilość linii kodu VServer Patch – około 1112 linii Money.pl Business Network:
  • 11. VSERVER ADMINISTRACJA 8/11  Tworzenie nowej instancji VServer vserver vserver1 build -m debootstrap –context 100 --hostname vserver1.mny –interface eth0:192.168.1.10/24 -- -d squeeze -m http://ftp.pl.debian.org/debian  Zarządzanie wirtualnymi serwerami vserver vserver1 start,stop,suexec,restart,enter,status,delete  Dodatkowe narzędzia w pakiecie util-vserver vps, vlimit, vkill, vpstree, vnamespace, vapt-get, vrpm, vemerge  Schematy serwerów dla różnych dystrybucji Money.pl Business Network:
  • 12. STORAGE WIRTUALIZACJA 8/11  Wirtualizacja zasobów dyskowych przez LVM2  Zwiększanie partycji online lvresize -L +10G /dev/vdisk/vserver1 resize2fs /dev/vdisk/vserver1  Snapshoty lvcreate -s -L +10G -n vserver1-`date +%F` vdisk/vserver1 Money.pl Business Network:
  • 13. START-UP INFRASTRUKTURA 8/11  Specyfika projektów Start-Up: • serwer http treść statyczna • serwer http treść dynamiczna • serwer aplikacji • baza pamięciowa • baza relacyjna • serwer poczty  Zwykle jeden lub dwa serwery dedykowane  Gotowość na szybki wzrost ruchu i pojawienie się wąskich gardeł  Partycjonowanie serwerów One Service, One Context Money.pl Business Network:
  • 15. PRZYPADKI UŻYCIA 8/11  Backup – dla większości wirtualnych serwerów wystarczy zwykły rsync w locie – dla serwerów z bazą LVM2 snapshot – dla produkcji agent bacula-fd na Root Server  Monitoring – Nagios3 na Root Server + VServer Plugin – Collectd na Root Server + VServer Plugin  Konfiguracja – własna implementacja chef  Każdy programista posiada dostęp do swojego projektu Money.pl Business Network:
  • 18. LINUX CONTAINERS 8/11  Strona projektu: lxc.sourceforge.net  Mechanizm zarządzanie przestrzenią użytkowników określany mianem chroot na sterydach  Linux Containers lxc wykorzystuje: – zarządzanie zasobami przez system plików cgroup w jądrze Linux od wersji 2.6.29 – ulepszona izolacja zasobów dzięki funkcjonalności namespaces w jądrze Linux od wersji 2.6.26  Projekt oficjalnie wspierany przez IBM Money.pl Business Network:
  • 19. LINUX KONFIGURACJA 8/11  Montowanie systemu plików zarządzania grupami mkdir -p /cgroup mount none -t cgroup /cgroup  Konfiguracja sieci za pomocą bridge brctl addbr br0 ifconfig br0 192.168.2.1  Tworzenie i zarządzanie kontenerem lxc-create -n vserver1 -f /etc/lxc/vserver1.conf lxc-start, lxc-stop, lxc-freeze, lxc-monitor Money.pl Business Network:
  • 20. PODSUMOWANIE 8/11  Super lekka wirtualizacja bez emulacji urządzeń, narzut mniej niż 2%  Lepsza konsolidacja i utylizacja serwerów  Doskonałe rozwiązanie dla hostingu i aplikacji internetowych  Separacja i organizacja usług przez odrębne instancje oraz katalogi  Możliwość implementacji dodatkowej podsieci do zarządzania serwerami  Dowolność przy partycjonowaniu serwerów Money.pl Business Network: