Fedora Virtualization Day 2013. Moscow.
June 01, 2013.
Михаил Кулёмин.
Language: russian.
Обзор KVM.
https://www.youtube.com/watch?v=9qwqdPRS2yg&index=5&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Динамическое управление ресурсами в KVM.
https://www.youtube.com/watch?v=t5MfXVFQjys&index=6&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Build private clouds with ProxmoxVE distributiveДима Ванькевич
Specifics and purposefullness of private cloud usage is discussed. Demands to the cloud are reviewed, as one one of the possible solutions, based on the Proxmox Virtual Environment distributive.
http://summer.lvee.org/en/articles/281
Build private clouds with ProxmoxVE distributiveДима Ванькевич
Specifics and purposefullness of private cloud usage is discussed. Demands to the cloud are reviewed, as one one of the possible solutions, based on the Proxmox Virtual Environment distributive.
http://summer.lvee.org/en/articles/281
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya Pus
Обзор возможностей Kubernetes, зачем он нужен, кому и когда, а также немного хороших практик по развертыванию и разработке Kubernetes-powered приложений.
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
DrupalCafe#9@Novosibirsk https://vk.com/drupalcafe9
Чтобы избежать больших затрат на развертывание сред разработки и тестирования, приближенных к среде эксплуатации (development stage vs production stage parity), всё большую популярность приобретает виртуализация сред.
Доклад о том, как создавать соответствующую репродуцируемую среду разработки с использованием Vagrant.
-----
Сайт сибирского сообщества друпаллеров ДрупалСиб drupalsib.ru
Группа сибирского сообщества друпаллеров Вконтакте vk.com/drupalsib
Партнер Группа компаний И20 i20.biz
Concept of Magento 2 in Kubernetes cluster using deployments, services, persistent storage. This is baseline for any Magento 2 deployment, will work well with Enterprise as well.
Максим Щепелин - Доставляя веб-контент в игруFDConf
За 7 лет развития World of Tanks, сложность игрового клиента и сервера значительно выросла. Если сервер можно разделить на сервисы, то клиент остается огромным монолитом в миллионы строк кода на ActionScript, C++ и Python.
Мы решили проблему сложности, встаиванием браузера в игровой клиент и заменив частично на нативные интерфесы на веб-контент. О преимуществах и недостатках этого подхода я расскажу в своём докладе.
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2939.html
CinemaVR - это сеть аттракционов виртуальной реальности, расположенных в торговых центрах и кинотеатрах.
Сеть была запущена 1-го января с 10 локациями, в августе локаций было 25, к концу года будет 80.
На каждой локации 4-8 игровых машин и локальный сервер (итого: флот в сотню машин), которыми нужно управлять: контролировать, что конфигурация операционной системы соответствует целевой; что игровой контент и сопряженные сервисы скопированы и настроены; мониторить загрузку, статус работы, нетиповые события; собирать бизнес-события и синхронизировать данные, которые должны быть общими во всей сети.
...
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya Pus
Обзор возможностей Kubernetes, зачем он нужен, кому и когда, а также немного хороших практик по развертыванию и разработке Kubernetes-powered приложений.
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
DrupalCafe#9@Novosibirsk https://vk.com/drupalcafe9
Чтобы избежать больших затрат на развертывание сред разработки и тестирования, приближенных к среде эксплуатации (development stage vs production stage parity), всё большую популярность приобретает виртуализация сред.
Доклад о том, как создавать соответствующую репродуцируемую среду разработки с использованием Vagrant.
-----
Сайт сибирского сообщества друпаллеров ДрупалСиб drupalsib.ru
Группа сибирского сообщества друпаллеров Вконтакте vk.com/drupalsib
Партнер Группа компаний И20 i20.biz
Concept of Magento 2 in Kubernetes cluster using deployments, services, persistent storage. This is baseline for any Magento 2 deployment, will work well with Enterprise as well.
Максим Щепелин - Доставляя веб-контент в игруFDConf
За 7 лет развития World of Tanks, сложность игрового клиента и сервера значительно выросла. Если сервер можно разделить на сервисы, то клиент остается огромным монолитом в миллионы строк кода на ActionScript, C++ и Python.
Мы решили проблему сложности, встаиванием браузера в игровой клиент и заменив частично на нативные интерфесы на веб-контент. О преимуществах и недостатках этого подхода я расскажу в своём докладе.
Масштабирование сети VR-аттракционов CinemaVR / Андрей Татаринов (VRTech)Ontico
HighLoad++ 2017
Зал Калининград, 7 ноября, 14:00
Тезисы:
http://www.highload.ru/2017/abstracts/2939.html
CinemaVR - это сеть аттракционов виртуальной реальности, расположенных в торговых центрах и кинотеатрах.
Сеть была запущена 1-го января с 10 локациями, в августе локаций было 25, к концу года будет 80.
На каждой локации 4-8 игровых машин и локальный сервер (итого: флот в сотню машин), которыми нужно управлять: контролировать, что конфигурация операционной системы соответствует целевой; что игровой контент и сопряженные сервисы скопированы и настроены; мониторить загрузку, статус работы, нетиповые события; собирать бизнес-события и синхронизировать данные, которые должны быть общими во всей сети.
...
Maria is a 23-year-old female business graduate who recently completed a graphic design program in New York. While she has received some job offers, she is concerned that companies prefer cheaper interns and that her university did not adequately prepare her for the job search. She feels pressure to find meaningful work but lacks confidence in existing job hunting sites and fears settling for a job that does not fulfill her.
The document discusses how Branch Repeater technology works to optimize WAN communication. Branch Repeater uses TCP optimization techniques like selective acknowledgment, window scaling, and compression to improve throughput over the WAN. Delta compression analyzes changes between data streams to reduce the amount of data sent for frequently updated resources like desktops. This improves performance for common use cases like remote desktops and web access over the WAN.
Users need the ability to increase storage space available in oVirt storage data domains (ISCSI & FC) without increasing the number of LUNs presented to it.
Feature Page: http://www.ovirt.org/Features/LUN_Resize
In this session, we'll discuss new volume types in Red Hat Gluster Storage. We will talk about erasure codes and storage tiers, and how they can work together. Future directions will also be touched on, including rule based classifiers and data transformations.
You will learn about:
How erasure codes lower the cost of storage.
How to configure and manage an erasure coded volume.
How to tune Gluster and Linux to optimize erasure code performance.
Using erasure codes for archival workloads.
How to utilize an SSD inexpensively as a storage tier.
Gluster's erasure code and storage tiering design.
Решения КРОК для виртуализации и консолидации вычислительных и системных ресу...КРОК
Основная идея консолидации вычислительных ресурсов состоит в том, чтобы создать мощную централизованную систему обработки данных вместо разрозненного парка серверов.
Подробней о решение можно узнать на http://www.croc.ru/solution/ikt-infrastructure/it_infrastructure/virtualization/
Fedora Virtualization Day 2013. Moscow.
June 01, 2013.
Sartakov A. Vasily (Василий Сартаков).
Language: russian.
Виртуализация - основные сведения.
https://www.youtube.com/watch?v=bVRM7eZAdmM&index=1&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Микроядра и способы виртуализации.
https://www.youtube.com/watch?v=nvbKs-aMubY&index=2&list=PLTWTWm0uA2fLok6RlpJYy350FDQiRXYbS
Презентация работы Попова А.С.
Выполнена на Кафедре Защиты Информации Факультета Информационных Систем и Технологий СыктГУ.
Подробнее: http://www.kzissu.ru/paper/kursovye-raboty/32 (доступ закрытый)
Контейнеры в OpenStack: простое решение сложных проблемOpenVZ
Контейнеры в OpenStack: простое решение сложных проблем.
В настоящее время в OpenStack есть хорошая поддержка гипервизорной виртуализации, но пока нет работающего решения для использования контейнеров. Я расскажу, почему так получилось, сравню гипервизорную и контейнерную технологии в контексте OpenStack и рассмотрю, насколько проще будет выполнять некоторые операции в OpenStack при использовании контейнеров, а также какие новые возможности появятся в OpenStack при использовании этого типа виртуализации.
Контейнеры в OpenStack: простое решение сложных проблемYandex
В настоящее время в OpenStack есть хорошая поддержка гипервизорной виртуализации, но пока нет работающего решения для использования контейнеров. Я расскажу, почему так получилось, сравню гипервизорную и контейнерную технологии в контексте OpenStack и рассмотрю, насколько проще будет выполнять некоторые операции в OpenStack при использовании контейнеров, а также какие новые возможности появятся в OpenStack при использовании этого типа виртуализации.
JavaScript-модули "из прошлого в будущее"oelifantiev
Доклад на первом Ярославском форнтэнд-митапе.
Рассказ об имеющихся методиках описания модулей в JavaScript а также о грядущем стандарте ES6 и, наконец-то, нативной поддержке модулей языком.
Занятие в Школе Сисадмина.
Основано на http://www.slideshare.net/IlyaAlekseyev/openstack-12003939
Событие: https://vk.com/shkola_sysadm
Лектор: https://vk.com/vse_v_moei_golove
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Текст доклада: https://0x1.tv/20210617B
Обзор инструментов, технологий тестирования и способов организаций тестов, доступных в настоящий момент как в самом ядре «Linux», так и в сторонних открытых проектах. Ядро представляет собой большой и неоднородный проект, состоящий как из аппаратно-независимого кода, так и частей, работоспособность которых зависит от наличия соотвествующей аппаратуры или специфичных программ пользовательсткого пространства. Для тестирования разных частей ядра применяются разных методы и подходы. Обзор включает в себя рассмотрение таких инструментов/технологий как «kselftest», «KUnit», «KTF», «ktest» и наиболее распространённых тестовых пакетов «LTP», «LKP», «xfstests» и др.
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Ontico
Вы когда-нибудь плакали, открывая Amazon EC2 калькулятор? Мучились ли вы над тем, куда поставить сервер — на балкон или в кладовку? Готовились ли вы морально платить по 100-200 тысяч рублей за самый примитивный вариант сервера? Из этой ситуации есть выход и это — Android-планшеты :)
Как установить Linux на ваш Android-планшет, как развернуть LAMP, MEAN stack, сколько RPS могут выдать Android-планшеты, как хорошо они масштабируются, map/reduce, готовы ли Android-планшеты для production?
Все это и многое другое вы узнаете из этого доклада.
Тернии контейнеризованных приложений и микросервисовIvan Kruglov
За последние два с половиной года Booking.com прошел через три поколения приватных облаков. Первое было построено на Mesos и Marathon. В активной фазе оно просуществовало около полугода. Решили отказаться. Второе - на OpenShift. Работали над ним около года и тоже отказались. Сейчас у нас третье поколение на чистом Kubernetes. Пока живем с ним.
В своем докладе я хочу пройтись по каждому из этапов и рассказать причины внесенных изменений. Также будет интересно посмотреть на то, как внедрение контейнеризованных приложений и сервис-ориентированной архитектуры заставило нас перестраивать внутренние процессы: начиная от выдачи грантов на БД и заканчивая внедрением service mesh. Нам пришлось перекраивать многие элементы инфраструктуры, и то, что стартовало как небольшой проект, в итоге переросло во что-то намного большее.
2. Содержание
● Компоненты системы виртуализации
– /dev/kvm
– qemu-kvm
– libvirt
● Утилиты для работы с виртуальными машинами
– virsh, virt-manager
– guestfish, libguestfs
● Демо (понравившиеся моменты)
3. KVM
● Технология полной виртуализации для Linux
● Требует поддержки со стороны оборудования
– Intel-VT
– AMD-V
– ARM virtualization extensions
– PowerPC ISA 2.06
● Поддерживает различные гостевые системы
● Разрабатывается с 2006 года
● В ядре с января 2007 (2.6.20)
6. Некоторые особенности KVM
● Сравнительно небольшая кодовая база в
ядре
● Активное использование существующих
технологий в ядре в т.ч.
– Планировщик задач
– IO
– cgroups
● Использование кода qemu для запуска
виртуальных машин и эмуляции устройств
(Native KVM Tools — альтернатива)
7. qemu-kvm
●
Qemu — изначально эмулятор
● Qemu-kvm — форк кода qemu для работы с KVM.
●
Окончательное слияние кодовой базы — конец 2012
(qemu 1.3)
●
Qemu отвечает за работу устройств ввода вывода,
управление виртуальной машиной.
●
Виртуальная машина — обычный процесс в
операционной системе
● Оперативное управление при помощи qemu monitor
● Пример команды запуска:
qemu-kvm -enable-kvm -m 1512 -smp 2,sockets=1,cores=2
-drive file=/dev/vg_storage/Fedora,if=virtio,format=raw
8. Libvirt
● Библиотека для управления различными технологиями виртуализации
– KVM
– Xen
– Virtualbox
– VMware
– OpenVZ
– ...
● Демон libvirtd — запускает ВМ, конфигурирует сеть, диски, прочие
устройства для виртуальной машины
● Клиенты:
– Virsh (CLI)
– Virt-manager (GUI)
● API: C, C++, Python ...
● Дополнительный слой абстракции
9. Работа с образами ВМ
● qemu-img
– Создание, изменение, конвертация образов ВМ
– Снапшоты, создание «дочерних» образов
● libguestfs — библиотека для редактирования
содержания образов ВМ
– guestfish — интерактивная оболочка
– virt-tools — набор полезных утилит
– API (много языков программирования)
10. Системы управления
виртуализацией
● Автоматизация настройки и
функционирования множества хостов
● Как правило работают через libvirt:
поддерживают не только KVM
● Еще один слой абстракции
● Основа облачных (IaaS) решений
● Примеры: Ovirt (RHEV), Openstack,
OpenNebula, Proxmox...
11. Ссылки
● KVM official site
http://www.linux-kvm.org
● A step by step guide for linux kvm virtualization on embedded systems
(ARM Cortex-A15)
http://www.virtualopensystems.com/media/kvm-resources/kvm-arm-guid
e.pdf
● Hardware Assisted Virtualization Intel Virtualization Technology
http://linux.linti.unlp.edu.ar/images/f/f1/Vtx.pdf
● Architecture of the Kernel-based Virtual Machine (KVM)
http://www.linux-kongress.org/2010/slides/KVM-Architecture-LK2010.pdf
● QEMU Code Overview
http://vmsplice.net/~stefan/qemu-code-overview.pdf
● KVM Internals Code and More
http://slid.es/braoru/kvm
12. Ссылки
● KVM API documentation
https://github.com/mirrors/linux/blob/master/Documentation/virtual/kvm/ap
i.txt
● Native KVM tools
https://github.com/penberg/linux/kvm/tree/master/tools/kvm
● Qemu home page
http://wiki.qemu.org
● Libvirt home page
http://www.libvirt.org/
● Kashyap Chamarthi`s blog (RedHat virtualization team)
http://kashyapc.wordpress.com
● Richard WM Jones`s blog
http://rwmj.wordpress.com
15. Содержание
● Зачем это нужно?
● Какие возможности существуют
– Блочный ввод/вывод
– Сеть
– Память
– CPU
● Автоматическое управление ресурсами
● Демо
16. Что? Зачем?
● Ресурсы системы всегда ограничены, их
необходимо грамотно распределять
● Но виртуальные машины могут крайне
быстро изменять свое состояние
● Особенно актуально в облачных системах
– Основной товар — сервис
– Компромисс между качеством сервиса и
затраченными ресурсами
● Облачная система — биржа ресурсов?
17. Вводные
● Управление ресурсами: мониторинг и
возможность изменения настройки
● Qemu — один из процессов в операционной
системе
● Сgroups!
● + специфические для виртуализации вещи
● Интеграция с libvirt
18. Блочный ввод/вывод
● Два различных механизма
– Cgroups (пропорциональный и абсолютный)
– Qemu IO throttling (в тч NFS)
● Поддержка в libvirt:
– blkdeviotune
– blkiotune
– domblkstat
20. CPU
● Планировщик задач в ядре.
● Пропорциональное разделение ресурсов
● Libvirt
– Cpu-stats
– Schedinfo
● Поддержка добавление/удаления CPU
21. Память
● Balloon driver
– Динамическое изменение количества памяти
– Требует драйвера в ОС
● KSM
– Использовалась до KVM Может использоваться
и без KVM (Комментарий на последнем слайде)
– Для использования в KVM был нужен
минимальный патч
24. Автоматическое управление
● Сложно!
– Последствия «управления» трудно предугадать
– Взаимосвязь между ресурсами
● Требуется комплексный анализ данных
● Выработка критериев управления
– Производительность узла
– Производительность виртуальной машины
– Производительность кластера
● Случайный процесс
– Расчет рисков
– Аналогия с существующими процессами
27. Ссылки
● Using KSM with KVM
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm
● Динамическое выделение памяти для виртуальных машин
http://www.ossportal.ru/technologies/kvm/blogs/160
● Qemu DiskIOlimits
http://wiki.qemu.org/Features/DiskIOLimits
● IO throttling in qemu
http://www.linux-kvm.org/wiki/images/7/72/2011-forum-keep-a-limit-on-it-io-thro
● Управление памятью в гипервизоре. Все о виртуализации памяти в
Parallels
http://profyclub.ru/docs/301
● KSM and KVM
http://serverascode.com/2012/11/11/ksm-kvm.html
28. Ссылки
● Increasing memory density by using KSM
https://www.kernel.org/doc/ols/2009/ols2009-pages
● Overcommit KVM resources
http://www.ibm.com/developerworks/ru/library/l-ove
● Resource management guide
https://access.redhat.com/site/documentation/en-U
29. Комментарий про KSM
Честно считал, что KSM использовался в CERN до того как стал работать с KVM. Счас
поднял ссылки и попробую восстановить истину и даты.
Итак касаемо самой технологии есть две статьи на LWN (2008 и 2009 год
соответственно) http://lwn.net/Articles/306704/ http://lwn.net/Articles/330589/ В частности
во второй статье указано, что для KSM был переписан с использованием RB деревьев,
а не хэш таблиц (чтобы не вступать в конфликт с патентов VMware).
Статья про CERN http://link.springer.com/content/pdf/10.1007/978-3-642-35893-7_5.pdf
(полный текст недоступен) и статья про KSM с упоминанием CERN (2009 год)
(https://www.kernel.org/doc/ols/2009/ols2009-pages-19-28.pdf) (А авторах разработчик
самого KSM)
Таким образом должен признаться, что ввел народ в заблуждение. KSM активно
тестировался в CERN без использования виртуализации, но уже после того как был
написан для работы с KVM (Что собственно ссылки и доказывают).
Прошу прощения у аудитории. Исправление в презентацию внесу - действительно
перепутал, почему то в сознании у меня была другая версия событий. Спасибо
товарищу @dyasny за очень конструктивное замечание.