Как стать автором
Обновить

Эволюция технологий виртуализации сети в Linux

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров21K
Всего голосов 43: ↑43 и ↓0+43
Комментарии14

Комментарии 14

Спасибо, как всегда текст информативен и на высоте!
Неизвестно когда бы я смог прочитать эту статью учитывая язык оригинала.

Расскажите, а как вы делали перевод с китайского? У вас есть в команде инженер с такими навыками или нанимали толмача?

Нанимали Google Translate:) Плюс для уточнения разных нюансов перелопатили разные англоязычные и русскоязычные источники, чтобы выверить перевод терминов и т.п. Ну и у Андрея мощный бэкграунд во всем этом.

Нынче ChatGPT очень помогает с переводами подобных статей, иногда подключал Google Translate, каждое утверждение проверялось на действительность из моего опыта и с фактами доступными в открытых источниках.

Плюс огромное спасибо редакторской команде Фланта и персонально @TimurTukaev, которые помогли с редактурой статьи и проверкой фактов

Так и не понял толком, для чего это используется.

На следующей неделе будет статья с реальным кейсом.

Когда у вас есть потребность запускать виртуальные машины вы всегда ищите наиболее эффективные методы виртуализации оборудования, в первую очередь для того чтобы получить более быстрые сеть и хранилище внутри виртуальных машин.

Эта статья делает детальный обзор на то как появлялись и как работают различные методы виртуализации оборудования.

И если сначала такие устройства эмулировались гипервизором полностью. То сейчас большинство методов основаны на том чтобы отказаться от необходимости эмулировать реальные устройства и максимально заоффлоадить I/O из виртуалок чтобы миновать гипервизор, а по возможности и ядро хостовой системы.

А как раньше в этом участвовало ядро хостовой системы?

Думаю, мне будет проще объяснить это на примере того как работает дисковая подсистема.

В хостовой системе QEMU представляет из себя обычный процесс юзерского пространства, работающий с файлами и сетевыми сокетами.

Если вы запускаете виртуалку и отдаёте ей виртуальный диск (допустим, это отдельный файл, созданный в файловой системе хоста). То ядру хостовой системы, а именно драйверу файловой системы и драйверу реального устройства хранения, по прежнему приходится обрабатывать все запросы на чтение/запись полученные от QEMU, точно также как и от любого другого пользовательского процесса в хостовой ОС.

Последние технологии, основанные на vDPA, приносят для этого единый интерфейс в ядро, что, как side effect, добавляет довольно интересную возможность использовать их не только для виртуальных машин но и для контейнеров. Как раз об этом и будет моя следующая статья. Подписывайтесь чтобы не пропустить ;)

Когда виртуальное устройство внутри виртуальной машины обращается к своим регистрам, инструкция перехватывается и обрабатывается QEMU.

В этой фразе возможно некорректная формулировка. Думаю, что драйвер устройства обращается к регистрам устройства, а не само устройство?

Да, всё так, спасибо, поправил.

Пока что нет, но скорее всего сделаю.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий