add homework 5.1

This commit is contained in:
2022-04-21 10:46:07 +07:00
parent eb9e50219b
commit 89a102965c
2 changed files with 63 additions and 0 deletions

View File

@@ -0,0 +1,62 @@
Выполнение [домашнего задания](https://github.com/netology-code/virt-homeworks/blob/master/05-virt-01-basics/README.md)
по теме "5.1. Основы виртуализации".
## Q/A
### Задача 1
> Вкратце опишите, как вы поняли - в чем основное отличие паравиртуализации и виртуализации на основе ОС.
Главное отличие паравиртуализации от виртуализации на основе ОС в том, что в качестве гостевой операционной системы используются ОС с модифицированным ядром,
которые взаимодействуют с гипервизором посредством определённого API.
При этом виртуализация на основе ОС предоставляет гостевой ОС доступ
непосредственно до системных вызовов ядра хостовой операционной системы, при этом изолируя данные вызовы.
В таком случае не нужна модификация операционной системы для использования внутри виртуальных машин.
### Задача 2
> Выберите тип один из вариантов использования организации физических серверов, в зависимости от условий использования.
>
> Организация серверов:
> * физические сервера
> * паравиртуализация
> * виртуализация уровня ОС
>
> Условия использования:
> * Высоконагруженная база данных, чувствительная к отказу
> * Различные Java-приложения
> * Windows системы для использования Бухгалтерским отделом
> * Системы, выполняющие высокопроизводительные расчеты на GPU
>
> Опишите, почему вы выбрали к каждому целевому использованию такую организацию.
1. Высоконагруженная база данных, чувствительная к отказу
Для данной задачи лучше всего подойдут физические сервера. Это объясняется тем, что любая виртуализация накладывает дополнительные
риски на стабильность работы системы. При этом во взаимодействии между гостевой ОС и хостом есть дополнительные расходы,
что тоже может быть очень критично в высоконагруженных системах.
2. Различные Java-приложения
В данном случае лучше всего использовать виртуализацию уровня операционной системы. Это обосновано тем,
что по задаче приложения имеют различное назначение. При этом они должны запускаться в определённом окружении (желательно одинаковым для каждого приложения),
а для безопасности, данные приложения должны быть изолированы. Таким образом вируализация уровня ОС подходит под данную задачу.
3. Windows системы для использования Бухгалтерским отделом
В данном случае лучше всего будет использовать паравиртуализацию,
что обеспечит изолированность систем с минимальной потерей скорости взаимодействия пользователей с системами.
4. Системы, выполняющие высокопроизводительные расчеты на GPU
Для данной задачи лучше всего будет использовать физические сервера, так как не все гипервизоры для паравиртуализации имеют поддержку GPU,
а некоторые поддерживают GPU только определённых вендоров/моделей. Вирутализация уровня ОС здесь только помешает,
так как добавляет дополнительные расходы на взаимодействие виртуальной машины и хоста.
### Задача 3
> Как вы думаете, возможно ли совмещать несколько типов виртуализации на одном сервере? Приведите пример такого совмещения.
Да, совмещение нескольких типов виртуализации возможно. Например, на одну машину возможно установить `VirtualBox` для полной или пара-виртуализации
и `Docker` для виртуализации на уровне ОС.