SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Управление ресурсами
в Linux и OpenVZ
Кирилл Колышкин
kir@openvz.org
http://openvz.org/
Повестка дня (aka Agenda)
    Зачем и какие ресурсы контролировать?
•
    Немного про контейнеры
•
    Существующие механизмы, их недостатки
•
    Beancounters и CGroups
•
    Примеры атак и объяснения
•
    Вопросы, предложения, комментарии
•
Повестка дня (aka Agenda)
    Зачем и какие ресурсы контролировать?
•
    Немного про контейнеры
•
    Существующие механизмы, их недостатки
•
    Beancounters и CGroups
•
    Примеры атак и объяснения
•
    Вопросы, предложения, комментарии
•
Ресурсы: зачем контролировать?
    Ресурсы не бесконечны
•
    Сервер один, задач и пользователей много
•
    Нужна статистика по использованию
•
    Нужна защита от DoS атак (лимиты)
•
    Нужно обеспечить качество сервиса
•
    (гарантии)
Ресурсы: что контролировать?
    Процессорное время
•
    Оперативная память и подкачка (swap)
•
    Дисковое пространство
•
    Дисковый ввод-вывод (I/O bandwidth)
•
    Сеть
•
    Всякое разное
•
Процессор
  Процессорное время раздаётся процессам
     маленькими временными отрезками
• Приоритеты (веса)
• Ограничения сверху (лимиты)
• Привязка к конкретным процессорам
  (для многопроцессорных систем)
Память
• Память уровня пользователя
  – Виртуальная (VM) и физическая (RSS)
• Память ядра
  – Различные объекты и механизмы выделения
  – Особый случай: сетевые буфера
• Пространство подкачки (swap)
Диск
• Место
• Пропускная способность ввода-вывода
  – Чтение и запись
  – Отображения памяти (mmap)
  – Подкачка (swapin/swapout)
• Основная проблема: ввод-вывод отвязан
Сеть
• Тут всё уже решено, говорить не о чем
• TC: traffic control
  – Шейпинг, шедалинг, политики, ...
• iptables
Повестка дня (aka Agenda)
    Зачем и какие ресурсы контролировать?
•
    Немного про контейнеры
•
    Существующие механизмы, их недостатки
•
    Beancounters и CGroups
•
    Примеры атак и объяснения
•
    Вопросы, предложения, комментарии
•
Контейнеры — это ...
• такая легковесная виртуализация
• много контейнеров поверх единого ядра
• совсем как VM, только
  – «родная» производительность
  – высокая плотность размещения
  – динамическое управление ресурсами
Примеры контейнеров
    OpenVZ
•
    Parallels Virtuozzo Containers
•
    FreeBSD jails
•
    Linux-VServer
•
    Solaris Containers/Zones
•
    IBM AIX6 WPARs (Workload Partitions)
•
HP labs: OpenVZ vs Xen
• Накладные расходы Xen больше
• Накладными расходами OpenVZ
  зачастую можно пренебречь
• Под Xen работало 4 копии интернет-
  магазина и сервер уже был перегружен,
  под OpenVZ заработало 6 без перегрузки
Контейнеры: шаг в эволюции ОС
• Многозадачные ОС
• Многопользовательские ОС
• Многоконтейнерные ОС
Контейнеры
     и управление ресурсами
• Обеспечить мирное сосуществование
  множества контейнеров
• С точки зрения управления ресурсами,
  контейнеры — это просто группы
  процессов!
Повестка дня (aka Agenda)
    Зачем и какие ресурсы контролировать?
•
    Немного про контейнеры
•
    Существующие механизмы, их недостатки
•
    Beancounters и CGroups
•
    Примеры атак и объяснения
•
    Вопросы, предложения, комментарии
•
Процессор
• Каждый процесс имеет nice value,
  можно менять «по дороге» (nice/renice)
• Есть приоритет реального времени и
  отдельная очередь процессов для него
• Жёсткий лимит на процессорное время
  (ulimit -c)
Место на диске
• Стандартные UNIX квоты очень хороши
  – квоты на точку монтирования
  – для пользователей и для групп
  – мягкие и жёсткие лимиты, грейс-период
  – можно узнать текущие значения
  – можно менять лимиты «по дороге»
  – приложения ожидают отказов (или должны)
Всё остальное: ulimit
• Реализован системными вызовами
  setrlimit и getrlimit
• Контролирует 16 разных параметров:
 core file size, data segment size, scheduling priority, file size, pending signals,
 max locked memory, max memory size, number of open files, pipe size,
 POSIX message queues, real-time priority, stack size, cpu time, max user processes,
 virtual memory, file locks

• Имеются «мягкие» и «жёсткие» лимиты
У ulimit много проблем
    Далеко не все ресурсы учитываются
•
    Нельзя посмотреть текущее использование
•
    Лимиты выставляются в текущем контексте
•
    Все лимиты выставляются на процесс
•
    – кроме NPROC, который на пользователя
• Лимиты на память в основном игнорируются
Повестка дня (aka Agenda)
    Зачем и какие ресурсы контролировать?
•
    Немного про контейнеры
•
    Существующие механизмы, их недостатки
•
    Beancounters и CGroups
•
    Примеры атак и объяснения
•
    Вопросы, предложения, комментарии
•
OpenVZ beancounters
    Контролирует группы процессов
•
    20 различных параметров
•
    Все можно менять во время выполнения
•
    Для каждого параметра можно видеть:
•
    – Текущее значение, пиковое значение
    – Счётчик отказов в выделении ресурса
ulimit
$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 38400
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Contenu connexe

Tendances

торчинский Open Solaris
торчинский Open Solarisторчинский Open Solaris
торчинский Open SolarisLiudmila Li
 
Будущее систем ВКС для дистанционного образования
Будущее систем ВКС для дистанционного образованияБудущее систем ВКС для дистанционного образования
Будущее систем ВКС для дистанционного образованияVideoport LLC
 
Sergey Kh Xs Essentials
Sergey Kh Xs EssentialsSergey Kh Xs Essentials
Sergey Kh Xs EssentialsLiudmila Li
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationHaliuka Ganbold
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationHaliuka Ganbold
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationHaliuka Ganbold
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationHaliuka Ganbold
 
Almost Success Story: Unix to Linux migration
Almost Success Story: Unix to Linux migrationAlmost Success Story: Unix to Linux migration
Almost Success Story: Unix to Linux migrationgueste4928d
 
Java в образовательном и производственном пространстве Беларуси
Java в образовательном и производственном пространстве БеларусиJava в образовательном и производственном пространстве Беларуси
Java в образовательном и производственном пространстве БеларусиSQALab
 
Sergey Ch Hp Citrix Keynote 2009
Sergey Ch Hp Citrix Keynote 2009Sergey Ch Hp Citrix Keynote 2009
Sergey Ch Hp Citrix Keynote 2009Liudmila Li
 
Вебинар компании VMC по продуктам Parallels 2009
Вебинар компании VMC по продуктам Parallels 2009Вебинар компании VMC по продуктам Parallels 2009
Вебинар компании VMC по продуктам Parallels 2009areconster
 
મછલી કે અજાઇબાત
મછલી કે અજાઇબાતમછલી કે અજાઇબાત
મછલી કે અજાઇબાતIlyas Qadri Ziaee
 

Tendances (15)

08 Xenserver Dg
08 Xenserver Dg08 Xenserver Dg
08 Xenserver Dg
 
торчинский Open Solaris
торчинский Open Solarisторчинский Open Solaris
торчинский Open Solaris
 
Будущее систем ВКС для дистанционного образования
Будущее систем ВКС для дистанционного образованияБудущее систем ВКС для дистанционного образования
Будущее систем ВКС для дистанционного образования
 
Sergey Kh Xs Essentials
Sergey Kh Xs EssentialsSergey Kh Xs Essentials
Sergey Kh Xs Essentials
 
Gwt.org.ua (ukr)
Gwt.org.ua (ukr)Gwt.org.ua (ukr)
Gwt.org.ua (ukr)
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplication
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplication
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplication
 
Lab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplicationLab2 2 ubuntu-officeapplication
Lab2 2 ubuntu-officeapplication
 
Almost Success Story: Unix to Linux migration
Almost Success Story: Unix to Linux migrationAlmost Success Story: Unix to Linux migration
Almost Success Story: Unix to Linux migration
 
Java в образовательном и производственном пространстве Беларуси
Java в образовательном и производственном пространстве БеларусиJava в образовательном и производственном пространстве Беларуси
Java в образовательном и производственном пространстве Беларуси
 
Sergey Ch Hp Citrix Keynote 2009
Sergey Ch Hp Citrix Keynote 2009Sergey Ch Hp Citrix Keynote 2009
Sergey Ch Hp Citrix Keynote 2009
 
Interface team
Interface teamInterface team
Interface team
 
Вебинар компании VMC по продуктам Parallels 2009
Вебинар компании VMC по продуктам Parallels 2009Вебинар компании VMC по продуктам Parallels 2009
Вебинар компании VMC по продуктам Parallels 2009
 
મછલી કે અજાઇબાત
મછલી કે અજાઇબાતમછલી કે અજાઇબાત
મછલી કે અજાઇબાત
 

En vedette

Xen App Sergey Kh
Xen App Sergey KhXen App Sergey Kh
Xen App Sergey KhLiudmila Li
 
Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Liudmila Li
 
Ec2 Rootconf2009
Ec2 Rootconf2009Ec2 Rootconf2009
Ec2 Rootconf2009Liudmila Li
 
Facebook's Platform Evolution (April 2010 Hebrew)
Facebook's Platform Evolution (April 2010 Hebrew)Facebook's Platform Evolution (April 2010 Hebrew)
Facebook's Platform Evolution (April 2010 Hebrew)Omer Kaplan
 

En vedette (6)

Xen App Sergey Kh
Xen App Sergey KhXen App Sergey Kh
Xen App Sergey Kh
 
Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9
 
Ec2 Rootconf2009
Ec2 Rootconf2009Ec2 Rootconf2009
Ec2 Rootconf2009
 
Facebook's Platform Evolution (April 2010 Hebrew)
Facebook's Platform Evolution (April 2010 Hebrew)Facebook's Platform Evolution (April 2010 Hebrew)
Facebook's Platform Evolution (April 2010 Hebrew)
 
Empathy
EmpathyEmpathy
Empathy
 
S Reid, Treatment options for insomnia
S Reid, Treatment options for insomniaS Reid, Treatment options for insomnia
S Reid, Treatment options for insomnia
 

Plus de Liudmila Li

11 Ban Net Scaler Xa
11 Ban Net Scaler Xa11 Ban Net Scaler Xa
11 Ban Net Scaler XaLiudmila Li
 
09 Ban Branch Repeater1
09 Ban Branch Repeater109 Ban Branch Repeater1
09 Ban Branch Repeater1Liudmila Li
 
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)Liudmila Li
 
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey KhLiudmila Li
 
05 чэс описание решения V3
05  чэс описание решения V305  чэс описание решения V3
05 чэс описание решения V3Liudmila Li
 
01 Ap еKaterinburg
01 Ap еKaterinburg01 Ap еKaterinburg
01 Ap еKaterinburgLiudmila Li
 
11 Net Scaler Xa1
11 Net Scaler Xa111 Net Scaler Xa1
11 Net Scaler Xa1Liudmila Li
 
09 Branch Repeater1
09 Branch Repeater109 Branch Repeater1
09 Branch Repeater1Liudmila Li
 
06 03 Gazprombank Success Story
06 03 Gazprombank Success Story06 03 Gazprombank Success Story
06 03 Gazprombank Success StoryLiudmila Li
 
06 02 C I S Citrix Final
06 02 C I S Citrix Final06 02 C I S Citrix Final
06 02 C I S Citrix FinalLiudmila Li
 
06 01 сертифицированные продукты
06 01 сертифицированные продукты06 01 сертифицированные продукты
06 01 сертифицированные продуктыLiudmila Li
 
05 Bykov Citrix Last
05 Bykov Citrix Last05 Bykov Citrix Last
05 Bykov Citrix LastLiudmila Li
 
04 Xa5 Fp1 Sergey Kh
04 Xa5 Fp1 Sergey Kh04 Xa5 Fp1 Sergey Kh
04 Xa5 Fp1 Sergey KhLiudmila Li
 

Plus de Liudmila Li (20)

11 Ban Net Scaler Xa
11 Ban Net Scaler Xa11 Ban Net Scaler Xa
11 Ban Net Scaler Xa
 
10 Dg Xd
10 Dg Xd10 Dg Xd
10 Dg Xd
 
09 Ban Branch Repeater1
09 Ban Branch Repeater109 Ban Branch Repeater1
09 Ban Branch Repeater1
 
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)
07 Ibm System X And Blade Center For Citrix Forum(Ekatirenburg)
 
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh
04 Cvc2009 Yekaterinburg Xa5 Fp1 Sergey Kh
 
06 [хост]
06 [хост]06 [хост]
06 [хост]
 
05 чэс описание решения V3
05  чэс описание решения V305  чэс описание решения V3
05 чэс описание решения V3
 
03 Bcc суэк
03 Bcc суэк03 Bcc суэк
03 Bcc суэк
 
01 Ap еKaterinburg
01 Ap еKaterinburg01 Ap еKaterinburg
01 Ap еKaterinburg
 
11 Net Scaler Xa1
11 Net Scaler Xa111 Net Scaler Xa1
11 Net Scaler Xa1
 
09 Branch Repeater1
09 Branch Repeater109 Branch Repeater1
09 Branch Repeater1
 
10 Xs Dg
10 Xs Dg10 Xs Dg
10 Xs Dg
 
08 Dg Xd
08 Dg Xd08 Dg Xd
08 Dg Xd
 
07 Ws08 R2 Virt
07 Ws08 R2 Virt07 Ws08 R2 Virt
07 Ws08 R2 Virt
 
06 03 Gazprombank Success Story
06 03 Gazprombank Success Story06 03 Gazprombank Success Story
06 03 Gazprombank Success Story
 
06 02 C I S Citrix Final
06 02 C I S Citrix Final06 02 C I S Citrix Final
06 02 C I S Citrix Final
 
06 01 сертифицированные продукты
06 01 сертифицированные продукты06 01 сертифицированные продукты
06 01 сертифицированные продукты
 
05 Bykov Citrix Last
05 Bykov Citrix Last05 Bykov Citrix Last
05 Bykov Citrix Last
 
04 Xa5 Fp1 Sergey Kh
04 Xa5 Fp1 Sergey Kh04 Xa5 Fp1 Sergey Kh
04 Xa5 Fp1 Sergey Kh
 
03 Bcc снг
03 Bcc снг03 Bcc снг
03 Bcc снг
 

колышкин Rootconf 2009 Openvz

  • 1. Управление ресурсами в Linux и OpenVZ Кирилл Колышкин kir@openvz.org http://openvz.org/
  • 2. Повестка дня (aka Agenda) Зачем и какие ресурсы контролировать? • Немного про контейнеры • Существующие механизмы, их недостатки • Beancounters и CGroups • Примеры атак и объяснения • Вопросы, предложения, комментарии •
  • 3. Повестка дня (aka Agenda) Зачем и какие ресурсы контролировать? • Немного про контейнеры • Существующие механизмы, их недостатки • Beancounters и CGroups • Примеры атак и объяснения • Вопросы, предложения, комментарии •
  • 4. Ресурсы: зачем контролировать? Ресурсы не бесконечны • Сервер один, задач и пользователей много • Нужна статистика по использованию • Нужна защита от DoS атак (лимиты) • Нужно обеспечить качество сервиса • (гарантии)
  • 5. Ресурсы: что контролировать? Процессорное время • Оперативная память и подкачка (swap) • Дисковое пространство • Дисковый ввод-вывод (I/O bandwidth) • Сеть • Всякое разное •
  • 6. Процессор Процессорное время раздаётся процессам маленькими временными отрезками • Приоритеты (веса) • Ограничения сверху (лимиты) • Привязка к конкретным процессорам (для многопроцессорных систем)
  • 7. Память • Память уровня пользователя – Виртуальная (VM) и физическая (RSS) • Память ядра – Различные объекты и механизмы выделения – Особый случай: сетевые буфера • Пространство подкачки (swap)
  • 8. Диск • Место • Пропускная способность ввода-вывода – Чтение и запись – Отображения памяти (mmap) – Подкачка (swapin/swapout) • Основная проблема: ввод-вывод отвязан
  • 9. Сеть • Тут всё уже решено, говорить не о чем • TC: traffic control – Шейпинг, шедалинг, политики, ... • iptables
  • 10. Повестка дня (aka Agenda) Зачем и какие ресурсы контролировать? • Немного про контейнеры • Существующие механизмы, их недостатки • Beancounters и CGroups • Примеры атак и объяснения • Вопросы, предложения, комментарии •
  • 11. Контейнеры — это ... • такая легковесная виртуализация • много контейнеров поверх единого ядра • совсем как VM, только – «родная» производительность – высокая плотность размещения – динамическое управление ресурсами
  • 12. Примеры контейнеров OpenVZ • Parallels Virtuozzo Containers • FreeBSD jails • Linux-VServer • Solaris Containers/Zones • IBM AIX6 WPARs (Workload Partitions) •
  • 13. HP labs: OpenVZ vs Xen • Накладные расходы Xen больше • Накладными расходами OpenVZ зачастую можно пренебречь • Под Xen работало 4 копии интернет- магазина и сервер уже был перегружен, под OpenVZ заработало 6 без перегрузки
  • 14. Контейнеры: шаг в эволюции ОС • Многозадачные ОС • Многопользовательские ОС • Многоконтейнерные ОС
  • 15. Контейнеры и управление ресурсами • Обеспечить мирное сосуществование множества контейнеров • С точки зрения управления ресурсами, контейнеры — это просто группы процессов!
  • 16. Повестка дня (aka Agenda) Зачем и какие ресурсы контролировать? • Немного про контейнеры • Существующие механизмы, их недостатки • Beancounters и CGroups • Примеры атак и объяснения • Вопросы, предложения, комментарии •
  • 17. Процессор • Каждый процесс имеет nice value, можно менять «по дороге» (nice/renice) • Есть приоритет реального времени и отдельная очередь процессов для него • Жёсткий лимит на процессорное время (ulimit -c)
  • 18. Место на диске • Стандартные UNIX квоты очень хороши – квоты на точку монтирования – для пользователей и для групп – мягкие и жёсткие лимиты, грейс-период – можно узнать текущие значения – можно менять лимиты «по дороге» – приложения ожидают отказов (или должны)
  • 19. Всё остальное: ulimit • Реализован системными вызовами setrlimit и getrlimit • Контролирует 16 разных параметров: core file size, data segment size, scheduling priority, file size, pending signals, max locked memory, max memory size, number of open files, pipe size, POSIX message queues, real-time priority, stack size, cpu time, max user processes, virtual memory, file locks • Имеются «мягкие» и «жёсткие» лимиты
  • 20. У ulimit много проблем Далеко не все ресурсы учитываются • Нельзя посмотреть текущее использование • Лимиты выставляются в текущем контексте • Все лимиты выставляются на процесс • – кроме NPROC, который на пользователя • Лимиты на память в основном игнорируются
  • 21. Повестка дня (aka Agenda) Зачем и какие ресурсы контролировать? • Немного про контейнеры • Существующие механизмы, их недостатки • Beancounters и CGroups • Примеры атак и объяснения • Вопросы, предложения, комментарии •
  • 22. OpenVZ beancounters Контролирует группы процессов • 20 различных параметров • Все можно менять во время выполнения • Для каждого параметра можно видеть: • – Текущее значение, пиковое значение – Счётчик отказов в выделении ресурса
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. ulimit $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 38400 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited