The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проект NetBSD развивает новый гипервизор NVMM

15.04.2019 14:20

Разработчики проекта NetBSD объявили о создании нового гипервизора и связанного с ним стека виртуализации, которые уже включены в состав экспериментальной ветки NetBSD-current и будут предложены в стабильном релизе NetBSD 9. NVMM пока ограничен поддержкой архитектуры x86_64 и предоставляет два бэкенда для задействования аппаратных механизмов виртуализации: x86-SVM с поддержкой расширений виртуализации CPU AMD и x86-VMX для CPU Intel. В текущем виде возможен запуск на одном хосте до 128 виртуальных машин, каждой из которых может быть выделено до 256 виртуальных процессорных ядер (VCPU) и 128 Гб ОЗУ.

NVMM включает драйвер, работающий на уровне ядра системы и координирующий доступ к аппаратным механизмам виртуализации, и стек Libnvmm, выполняемый в пространстве пользователя. Взаимодействие компонентов ядра и пространства пользователя осуществляется через IOCTL. Особенностью NVMM, отличающей его от таких гипервизоров, как KVM, HAXM и Bhyve, является то, что на уровне ядра выполняется только минимально необходимый набор обвязок вокруг аппаратных механизмов виртуализации, а весь код эмуляции оборудования вынесен из ядра в пространство пользователя. Подобный подход позволяет сократить объем кода, выполняемого с повышенными привилегиями, и снизить риск компрометации всей системы в случае атак на уязвимоcти в гипервизоре. Кроме того, заметно упрощается отладка и fuzzing-тестирование проекта.

При этом Libnvmm сам по себе не содержит функции эмулятора, а лишь предоставляет API, позволяющий интегрировать поддержку NVMM в существующие эмуляторы, например, в QEMU. API охватывает такие функции как создание и запуск виртуальной машины, выделение памяти гостевой системе, распределение VCPU. Для повышения безопасности и снижения возможных векторов атаки libnvmm предоставляет только явно запрошенные функции - по умолчанию сложные обработчики не вызываются автоматически и вообще могут не применяться, если без них можно обойтись. NVMM пытается обходиться простыми решениями, не впадая в усложнения и позволяя контролировать как можно больше аспектов работы.

Работающая на уровне ядра часть NVMM достаточно плотно интегрирована с ядром NetBSD, и позволяет добиться повышения производительности за счёт сокращения числа переключения контекста между гостевой ОС и хост-окружением. На стороне пространства пользователя libnvmm старается агрегировать типовые операции ввода-вывода и без необходимости не обращаться к системным вызовам. Система выделения памяти основана на подсистеме pmap, что позволяет вытеснять страницы памяти гостевых систем в раздел подкачки в случае нехватки памяти в системе. NVMM избавлен от глобальных блокировок и хорошо масштабируется, позволяя одновременно использовать разные ядра CPU для выполнения разных гостевых виртуальных машин.

На базе QEMU подготовлено решение, использующее NVMM для задействования аппаратных механизмов виртуализации. Ведётся работа по включению подготовленных патчей в основной состав QEMU. Связка QEMU+NVMM уже позволяет успешно запускать гостевые системы с FreeBSD, OpenBSD, Linux, Windows XP/7/8.1/10 и другими ОС на системах x86_64 с процессорами AMD и Intel (сам NVMM не привязан к определённой архитектуре, например, при создании соответствующего бэкенда сможет работать на системах ARM64). Из областей дальнейшего применения NVMM также отмечается sandbox-изоляция отдельных приложений.



  1. Главная ссылка к новости (http://blog.netbsd.org/tnf/ent...)
  2. OpenNews: NetApp выпускает систему виртуализации BSD Hypervisor (BHyVe) для FreeBSD
  3. OpenNews: Компания Siemens выпустила гипервизор Jailhouse 0.10
  4. OpenNews: Linux Foundation развивает новый гипервизор ACRN для встраиваемых устройств
  5. OpenNews: Доступен новый экспериментальный гипервизор KSM
  6. OpenNews: Первый выпуск гипервизора Bareflank
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50518-netbsd
Ключевые слова: netbsd, nvmm, virtual
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (58) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:34, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Принципиально новый гипервизор скачать бесплатно без смс.

    Чем существующие-то не угодили?

     
     
  • 2.2, Аноним (2), 14:38, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    А какие это существующие гипервизоры в NetBSD? Был Xen, но заброшен давно.
     
  • 2.3, НяшМяш (ok), 14:39, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +8 +/
    По-моему, в новости достаточно подробно описано, чем существующие не угодили.
     
  • 2.5, Анонимс (?), 15:00, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Чем существующие-то не угодили?
    > Особенностью NVMM, отличающей его от таких гипервизоров, как KVM, HAXM и Bhyve, является то, что на уровне ядра выполняется только минимальной необходимый набор обвязок вокруг аппаратных механизмов виртуализации, а весь код эмуляции оборудования вынесен из ядра в пространство пользователя. Подобный подход позволяет сократить объем кода, выполняемого с повышенными привилегиями, и снизить риск компрометации всей системы в случае атак на уязвимоcти в гипервизоре.
     
     
  • 3.28, gsdh (?), 08:54, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > весь код эмуляции оборудования вынесен из ядра в пространство пользователя

    А qemu это не тоже самое, с ускорялкой kvm, которая как раз на уровне ядра работает и за счет прямого использования проца и прочего железа повышает производительность вм до уровня хоста, 2003 год в netbsd наступил, поздравляю.

     
  • 2.7, пох (?), 15:45, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    судя по описанию проблемы - недостаточно тормозили из-за переноса всего кода из ядра в userspace.
     
     
  • 3.12, Аноним (12), 19:28, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А с ring0 код чудесным образом начинает работать быстрее?
     
     
  • 4.22, пох (?), 22:44, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    при меньшем числе context-switch'ей - да, быстрее.

     
  • 2.13, Аноним (13), 19:28, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Очередной пердежь анонимуса. Ну давай расскажи мне какие на бсд есть юзабельные гипервизоры.
     
     
  • 3.16, notgayAnon (?), 20:34, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме bhyve, xen и qemu?
     
     
  • 4.24, Аноним (-), 01:00, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    qemu - не гипервизор
     
     
  • 5.33, нах (?), 13:30, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    собственно, ентот вот гипервизор на qemu почти всю работу и перекладывает.

     

  • 1.4, Онаним (?), 14:56, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NeVerMindMe
     
  • 1.6, бублички (?), 15:44, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > на уровне ядра выполняется только минимальной необходимый набор обвязок вокруг аппаратных механизмов виртуализации, а весь код эмуляции оборудования вынесен из ядра в пространство пользователя. Подобный подход позволяет сократить объем кода, выполняемого с повышенными привилегиями, и снизить риск компрометации всей системы в случае атак на уязвимоcти в гипервизоре

    и обычно проиводит к заметным потерям в производительности. да и так-ли уж страшны атаки в гипервизоре при дырявых процессорах?

     
     
  • 2.8, Нанобот (ok), 16:02, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >обычно проиводит к заметным потерям в производительности

    да, но есть надежда, что разработчики знают, что делают и смогут избежать накладных расходов

     
     
  • 3.9, нах (?), 17:35, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • –8 +/
    разработчики netbsd? Не смешите.
     
  • 2.17, EnemyOfDemocracy (?), 20:35, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > и обычно проиводит к заметным потерям в производительности. да и так-ли уж страшны атаки в гипервизоре при дырявых процессорах?

    Разработчики NetBSD долго запрягают, но быстро едут. Это в линуксе тяп-ляп-тормозит-фпродакшон и перед дядей из корпорации отчитались.

     
     
  • 3.18, zzz (??), 21:04, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это да, красоту решений в линуксе мы все видели на примере netfilter, который больше напоминает набор написанных левой индусской пяткой грязных хаков, чем продуманную систему.
     
     
  • 4.39, бублички (?), 14:50, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    судя по тексту, ты с netfilter не соприкасался последние лет 10 не меньше
     
     
  • 5.48, пох (?), 07:33, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    наоборот. Десять лет назад там был еще вполне прямой и понятный код.

    Более того, написать собственный модуль мог любой деревенский дурачок (что пару раз на моей памяти и случалось), если осиливал разобраться в протоколе. Вот gre и ipsec'у - не повезло.

    С тех пор ошибки не исправляются, функционал не добавляется а только ломается, ну а что вы хотите, когда в майнтейнеры прорвался gnu-активист с тремя комитами в readme.md ?

    Теперь вот и вовсе пришли стильные-модные-молодежные, и давай ломать что до них построили.
    (нет, что что-то исправят или восстановят функционал 2000го года - не надейтесь, разумеется, Оно не для этого приперлись)

     
  • 4.49, пох (?), 07:35, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    красоту решений bdsm'щиков мы видим на примере простыней ipfw, совершенно нечитаемого и неуправляемого синтаксиса pf, и то и другое не работает без кривого и уродливого userspace, который для pf еще и ниасилили написать, видимо, это не так-то легко и просто как для ipchains, если протокол чуть посложнее ftp.

     
     
  • 5.58, Аноним (-), 14:37, 01/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > совершенно нечитаемого и неуправляемого синтаксиса pf

    сэр, Ваша ирония чересчур располнела, ей непременно надо похудеть, ибо она сюда не влезает.

     
  • 3.40, бублички (?), 14:55, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Разработчики NetBSD долго запрягают, но быстро едут.

    USB3 в твоём обожаемом NetBSD давно появился? как у них вообще с поддержкой устройств? по принципу "лишь то что наконец осилили а остальное нам не нужно"? подумай прежде чем говорить

     
  • 2.19, Аноним (19), 22:36, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А у вас гостевая ОС крутится в ядре, да? Там есть возможность обойтись без передачи данных от ядра к юзерспейсу и обратно?
     
     
  • 3.29, бублички (?), 10:16, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    сначала научись читать. статья (как и моё замечание) про гипервизор, а не про гостевую ОС
     
     
  • 4.32, Аноним (19), 12:46, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Служебный I/O самого гипервизора  - это прах по сравнению с гостевой ОС. Вполне можно пойти на небольшое увеличение оверхеда ради безопасмности.
     
     
  • 5.38, бублички (?), 14:48, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    по сути - поленились там и недоделали сям. вот и ограничились API совсместимым с qemu и вынесли часть в пространство пользователя. и всё лишь для твоей воображаемой безопасности. вот ведь новинка! упасть не сидеть на стуле
     
  • 3.34, нах (?), 13:32, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    там хотя бы есть возможность не _эмулировать_ куемой переключение контекстов и изоляцию ядра от юзерспейса. Конечно же это работает быстро, прям очень, ага.

     

  • 1.10, Урри (?), 18:58, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Больше гипервизоров богу гипервизоров!

    Но вообще я за - люблю когда умные люди экспериментируют.

     
  • 1.11, Аноним (-), 18:59, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот это новость! А я думал, что NetBSD уже почила в бозе.
     
     
  • 2.15, Андрей (??), 19:36, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Иногда ее достают. Протирают. Сдуваю пыль. Тыкають в нее палкой.
     

  • 1.20, Аноним (20), 22:42, 15/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А OpenSSH вы тоже протираете пылью? И настолько он уже устарел и не используется никем? А ведь пришёл в linux от OpenBSD.
     
     
  • 2.23, пох (?), 22:46, 15/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ничего что до его пришествия мы неплохо жили с ssh Tatu Ylonen'а - и, вероятно, жили бы и дальше, если бы охочие до халявы ящерки не поломали ему бизнес?

     
     
  • 3.25, _ (??), 01:43, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ой тля поломали ему бЫзнесс ... щазз заплАчу :)
    Ты ещё про BitKeeper поплачь, мол подлый шведофинн сломал весь бЫзнесь :)

    Вон Сысоеву чего то никто бЫзнессь отломать не может, хотя тужатся многие и часто :)
    А рецепт прост - надо не только купончики стричь но и ... не поверишь! - ещё и работать надо!

     
     
  • 4.35, нах (?), 13:41, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    нет, биткипер это как раз наоборот. Закрытый код, ограничения на разработчиков и преследование конкурентов - самовыпилился из-за черезмерной жадности, а то бы Линус и по сей день никуда с него не слез.

    Йлонен никому не мешал делать форки или вообще конкурирующие проекты - за что и поплатился. А владелец биткипера вроде как раз и не банкрот.

    > Вон Сысоеву чего то никто бЫзнессь отломать не может, хотя тужатся многие и часто :)

    Вообще-то с добрым утром - они продались F5.
    > А рецепт прост - надо не только купончики стричь но и ... не поверишь! - ещё и работать надо!

    угу, закрыть половину кода (например, нормальную статистику, нормальное управление сервером) - и работать, две с половиной штуки зеленых за саппорт вида мы о тебе слышали - вот и заработались.
    А баги пусть любители бесплатного бесплатно исправляют, поди плохо.

    А Йлонен был лох, выпустил код под пермиссивной лицензией, причем честно-честно переписал его практически с нуля во второй версии, чтобы не обвиняли в воровстве чужого труда (ну и в общем пора было - мир к тому моменту изменился, ssh1 уже не был настолько хорош), а не быстренько допилил поверх в режиме модного ныне opencore - лохам устаревший и ненадежный протокол, правильным ребята за денежку - современный.

     
  • 3.41, Ivan_83 (ok), 15:42, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    1. Тату сам и отдал исходники OpenSSH, там до сих пор его копирайты в коде.

    2. Так Тату и продаёт свой ссш сервер, криптоаудитор и ещё какой то софт который этот ссш реализует.
    А проблемы там с тем, что по качеству оно отстало от опенсорца и в том, что не у всех програмистов получается принимать правильные бизнес решения. У того же Сысоева бизнес управлением другие люди занимаются а не он сам.

     
     
  • 4.42, пох (?), 17:31, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Тату сам и отдал исходники OpenSSH

    он как раз спохватился и попытался изменить лицензию - но ничто не помешало авторам форка просто взять версию постарее.

    > Так Тату и продаёт свой ссш сервер

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

    > А проблемы там с тем, что по качеству оно отстало от опенсорца

    какому качеству, вы о чем... проблема была ровно одна - на основном рынке, серверов под юникс-like, места для платной не включаемой ни в какие дистрибутивы программы не осталось. Все зохавал openssh.

    А для винды оно ненужно, потому что word не запускается.

     
     
  • 5.43, Ivan_83 (ok), 20:09, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В начале 200х криптография была уделом фриков. Если бы тогда ссш не ушёл в опенсорц он бы просто сдох как протокол.

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

    В общем у них и сейчас на сайте прекрасно видно чем они торгуют, и на хлеб с маслом ему уж точно хватает.
    Порасказывал бы инсайды но не стану - нда. Самого видел, в офисе у них был, код тоже видел и писал.

    Я именно так вижу ситуацию: чел создал нишу и теперь кормится с её кусочка. Как умеет - так и получается.

     
  • 5.45, Аноним (19), 01:14, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > для винды оно ненужно

    Крум Григоров с Вами вряд ли согласится...

     
  • 5.47, Аноним (47), 03:38, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Все зохавал openssh.

    Вот ужас, вероломное добро зохавало рынок и бедному злу не осталось места.

     
     
  • 6.50, пох (?), 07:40, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    вы в слове г0вн0 сделали три опечатки. Сколько уязвимостей с remote root вы знаете в ssh2? В ssh1 была одна, причем такого рода, что не вляпаться можно было только по случайности - поскольку это изначально дырявая системная функция, освященная стандартами 80х и традицей.
    А сколько в open - я давно со счета сбился, тем более что еще каждую уязвимость в openssl надо разбирать, не приложима ли она и к нему.

    И вместо "вероломное" надо было написать просто "нищее, жадное и не по умениям самоуверенное".

     
     
  • 7.52, Аноним (47), 15:26, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Желание паталогического раба платить денежки за закрытый продукт, в котором уязвимости не публикуют и душа спокойна в принципе понятно.
     
     
  • 8.54, пох (?), 20:58, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    желание мальчика-де6ила обоссать то, что недоступно его представлениям о мире - ... текст свёрнут, показать
     
     
  • 9.55, Аноним (47), 03:28, 19/04/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мешать в одну кучу халяву и свободу это просто свинство И да, дядю который пыта... текст свёрнут, показать
     
  • 2.26, Ярик (?), 04:47, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А ничего что новость об НетБсде, а не об опен? Ссш из опенБзди к нам пришёл и она (опен) в отличии от нет все ещё шевелится
     
     
  • 3.27, Андрей (??), 08:50, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это не важно.
    Важно показать какой ты умный. Ну или типа умный.
     

  • 1.30, Аноним (30), 11:27, 16/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В последнее время новости из мира BSD не могут не радовать! Система куда более юзабильна чем всякие линуксы...
     
     
  • 2.31, бублички (?), 12:05, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Система куда более юзабильна чем всякие линуксы

    в самом деле? ждём BSD на мобильных телефонах

     
     
  • 3.36, нах (?), 13:42, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да ты netbsd хотя бы на десктопе своем загрузи, юзабельно-преюзабельно.

     
     
  • 4.37, бублички (?), 14:37, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а тэг "сарказм" в контексте BSD на мобильниках ты не заметил?
     
  • 4.44, Аноним (30), 21:09, 16/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >да ты netbsd хотя бы на десктопе своем загрузи

    Не вижу проблем, с неё и пишу.

     
     
  • 5.46, Рамзан Кадыров (?), 12:21, 17/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели хоть на каком-то железе работает это чудо? Там же с драйверами полная беда.
     
     
  • 6.51, Аноним (51), 13:57, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Там же с драйверами полная беда

    Да нормально  NetBSD работает. Вот с принтерами да, проблематично (но их и для Линукса зачастую вендоры делают, а не сообщество), а так полёт нормальный.

     
     
  • 7.53, бублички (?), 18:40, 18/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    все остальные вендоры пишут и предоставляют драйвера своих устройств для NetBSD? пожалуйста, назови хоть одного такого (у кого драйвера для современной NetBSD), он тут-же станет моим кумиром
     
     
  • 8.57, Аноним (57), 16:37, 19/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Бывают у людей иногда проблемы с сетевыми картами, нет естественно драйверов от ... текст свёрнут, показать
     
  • 3.59, анОним (?), 16:21, 12/11/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на IPhone посмотри повнимательнее...
    там остался только огрызок от mach ядра
    остальное BSD (много FreeBSD, остальное откуда попало)
     
     
  • 4.60, бублички (?), 18:29, 12/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > на IPhone посмотри повнимательнее...

    нет желания подобный хлам рассматривать вообще

    > там остался только огрызок от mach ядра
    > остальное BSD (много FreeBSD, остальное откуда попало)

    да, по части user-space. но, надеюсь, ты в курсе, что пока нет возможности установить NetBSD (или FreeBSD) на IPhone. а так они (BSD) конечно развиваются. процесс разложения трупа в могиле тоже можно назвать развитием

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру