В: для начала, не могли бы вы рассказать немного о себе?

В университете я начал изучать Физику, но потом переключился на
компьютеры. Закончил университет уже с дипломом кафедры ЭВМ
(эквивалентом Магистра) и теперь продолжаю работать над своей
докторской диссертацией.

Помимо программирования, моим хобби является жонглирование, бильярд, музыка, кино и электроника (это, кстати, не полный список).

В настоящее время я работаю на себя, предоставляя консалтинговые
услуги в области информационных технологий. К счастью для меня, моя
очаровательная жена: художница и скульптор, также является экспертом в
области ИТ.

В: что же представляет из себя VServer?

Linux-VServer — это техника изолирования, по концепции очень схожая
с Jails в BSD или контейнерами в Solaris. Она позволяет параллельно
выполнять на одном сервере множество рабочих сред Linux, без
какого-либо измеряемого падения в производительности.

В: как вы начали работать над этим проектом?

начал как и любой обычный пользователь проекта, в те времена
называвшегося ‘контексты безопасности Linux’ (Linux Security Contexts,
или ctx), разрабатывающийся и поддерживающийся Жаком Гелинас (Jacques
Gelinas). В те времена все было достаточно топорно и кудряво, с кучей
возможных эксплойтов, никакого управления ресурсами или поддержки
многопроцессорности.

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

Летом 2003го года Жак исчез, и это полностью затормозило проект.
Спустя несколько месяцев, я вызвался возглавить проект на временой
основе, до тех пор пока Жак не вернется. Но после возвращения Жака всем
стало ясно, что у него нет времени, чтобы продолжать работать над
VServer. Так я и стал новым мэйнтейнером.

В: Каков статус проекта в настоящий момент? Над чем идет работа?

Я думаю, мы создали очень хороший и стройный код, который достаточно
просто поддерживать. Этот код небольшого размера, очень стабилен,
элегантен, и, что немаловажно, очень быстр. В настоящее время мы
фокусируемся на адаптации и интеграции изменений, происходящих в
основной ветке ядра (теперь, когда главные разработчики Linux также
открыли для себя виртуализацию 🙂 ), чтобы наши пользователи смогли
применять те возможности, которые появились в новых версиях ядра.

В: Ваши планы на будущее?

Мы будем продолжать поддерживать Linux-Vserver до тех пор, пока
размер нашего патча на основное ядро не станет нулевого размера, и все,
что нужно будет для поддержки высококачественной изоляции процессов на
уровне ядря — это пользовательские утилиты.

В: Насколько просто начать играться с vserver? Выложены ли где-то бинарники, которые можно просто скачать и установить?

ИМХО, на сегодняшний день начать играться с Linux-Vserver достаточно
просто — даже Live CD уже поставляются со встроенным Linux-Vserver. Но
если вы настроены на серьезную работу, подумайте над компиляцией своего
ядра, и, возможно, даже util-vserver (набор утилит для контроля за
различными возможностями ядра).

В: То есть, обязательно нужно ли что-то компилировать?

Для большинства дистрибутивов — нет

В: Когда вы говорите об
использовании всех имеющихся возможностей ядра Linux вместо создания
собственного «велосипеда», выкладываете ли вы по ним
документацию/вики/предоставляете поддержку?

большинство возможностей ‘mainline’ Linux так или иначе хорошо
документированы (это может быть документ в дереве ядра, вики или RFC,
описывающие некотурую функциональность)

В: Например, шейпинг траффика, приоритеты дискового ввода\вывода, т.д.?

Для шейпинга траффика существует множество HOWTO документов (мы не
влазим в сетевую часть ядра Linux на этом уровне), поэтому вы можете
использовать любой предпочитаемый вами интерфейс к tc (traffic control
tool) и, конечно же, iptables. Что касается различных планировщиков
ввода-вывода, то ядро содержит массивную документацию по этому вопросу
(единственный планировщик для потенциально недружественных сред — это
cfq).

Но в целом, мы доверяем пользователю делать то, что он считает нужным.

В любом случае, мы обеспечиваем намного более общую поддержку, чем
возможности Linux-VServer на нашем очень активном IRC канале (#vserver
@ irc.oftc.net)

В: Работа над VServer — это ваша основной род деятельности?

Нет, конечно нет. Я работаю над Linux-VServer в свое свободное
время, и, насколько мне известно, другие разработчики VServer поступают
точно также.

В: Есть ли у вас есть планы по превращению проекта в бизнес?

Я не думаю, что такие понятия, как «бизнес» и отличный софт хорошо
ладят вместе. Обычно бизнес сдвигает фокус проекта с разработки очень
хорошего продукта на продажу продукта 🙂

Хотя, конечно же, как консультант, я часто работаю над проектами, связанными с Linux-VServer.

В: Где вы видите будущее для таких продуктов, как VServer/OpenVZ?

IMHO, в «продукте», обеспечивающим виртуализацию или изоляцию, нет
ничего инновационного. Он медленно становится обыденным явлением и в
этом же направлении движется виртуализация на уровне ОС.

В: Говорят, VServer можно легко «убить» рекурсивным созданием директорий и подобными DoS атаками.

Если вы возьмете ядро (и Linux VServer патч к нему) многолетней
давности(!), вы, возможно, и сумеете провести успешную DoS атаку, но не
с недавними ядрами и VServer патчами к ним.

К тому же, знаете ли вы, что вы можете запустить очень похожую DoS
атаку как обычный пользователь на большинстве современных дистрибутивов
Linux?

В: Чем ваш продукт лучше или хуже по сравнению с OpenVZ?

Linux-VServer и OpenVZ имеют очень схожую историю и фокус, так что
это естественно, что они делают очень схожие вещи, хоть и немного
по-разному. Позвольте мне перечислить отличия, и вы выбирайте, какой из
решений больше вам подходит:

Linux-Vserver
— проект, разрабатывающийся сообществом
— легковесная изоляция
— небольшой и невмешивающийся патч
— поддержка всех ядерных архитектур
— обеспечение высоко-продвинутых jails

OpenVZ
— FOSS версия коммерческого продукта
— виртуализация (напр. сеть)
— достаточно большой (объемный) патч
— фокус на нескольких архитектурах (x86/ppc/sparc)
— обеспечивает VPS (напр, живую миграцию)

Кроме вышеперечисленного, функциональность продуктов в большинстве своем одинакова

В: Проекту уже давно пора быть
включенным в основную ветку ядра. (VServer) — очень уважаемая и
стройная подсистема для некоторых случаев

Разработчики главной ветки работают над виртуализацией на уровне ОС,
и некоторые результаты этой работы уже встроены в Linux-VServer. Я
оптимистично настроен, и думаю, что в ближайшем будущем основная ветка
ядра Linux будет содержать большую часть функционала, достаточных для
построения jail’ов.

В: Рекомендуете ли вы использовать VServer в продашкне? Если нет, чтобы вы посоветовали?

Конечно же, рекомендую! Все же несколько компаний, организаций и
людей, включая меня, используют их в продакше уже несколько лет (если
быть точнее, то больше 5 лет 🙂

В: Я никогда не буду использовать VServer, пока он не станет частью основной ветки ядра!

Это ваш выбор, живите с ним 🙂

В: Когда мы можем ожидать, что эти патчи станут полностью интегрированными в основную ветку?

Никогда! Но хорошая новость в том, что эта функциональность в ядре
появится в скором (а может быть, и не очень скором) будущем. Поживем —
увидим, как скоро основная ветка дорастет до этого.

В: Сколько разработчиков работают на Linux-VServer?

В настоящее время у нас около четырех человек, которые работают над ядром (включая меня).

В: Почему виртуализация сети до сих пор не реализована в Linux-Vserver?

Linux-VServer не пытается соревноваться с системами полной
виртуализации (как Xen или VMWare ™) и IP (layer 3) изоляция имеет
много преимуществ над виртуализацией сети.

Мы приняли это решение после тестов полной виртуализации сетевого
стэка (основными проблемами были падение производительности и
непредсказуемое поведение в некотрых редких случаях).

Подчеркну, что 99% всех приложений (за исключением утилит теста
сети) работают над уровнем IP, таким образом, они полностью совместимы
с изоляцией на уровне IP.

В: Каков статус проекта NGnet?

Виртуализационная часть была выброшена, изоляция была улучшена. Если
вы загрузите недавний патч Linux-Vserver, это и будет NGnet 🙂

В: Почему разработчики VServer и
персонально Херберт ничего не отдают в основную ветку ядра, и не
учавствуют в общей работе над «контейнерами» в ядре?

Если вы поищете в исходниках основной ветки ядра, вы обнаружите, что
программисты Linux-VServer вносят весомый вклад в его разработку.
Основнае отличие заключается, наверное, в том, что Linux VServer не так
рьяно пытается продолкнуть свои патчи в основую ветку, как
SWsoft/Parallels?

В: Почему у проекта нет багтрекера (a la bugzilla)?

Короткая версия: мы не трэким баги, мы их чиним 🙂
Более длинная версия: у нас был багтрекер в течение долгого времени
(для ядра) и у нас все еще есть один для утилит (unit-vserver).
Багтрекер для ядра создавал больше работы, чем приносил пользы, поэтому
мы его упразднили в какой-то момент времени.

В: и репозитория кода (a la git)?

У нас есть и git, и svn репозиторий. Но персонально я предпочитаю (и
это влияет на все патчи ядра) работать с патчами подобно многим другим
проектам. Опять же, подчеркну, мы пытались работать и с git для дерево
ядра, но оно создавало больше работы, чем пользы.

В: Может ли VServer запустить RHEL 3.x с ядром 2.4.2? (ЗдЕсЬ бЫл Саныч)

Не имею ни малейшего понятия. У нас есть патчи для ядер 2.4.х, и
учитывая, что RHEL 3.x работает с веткой 2.4.х, все должно работать.
Обратите внимание, что большинство дистрибутивов не делают _ничего_,
что бы требовало специального ядра (кроме вещей, связанных с железом,
но это все равно делается на уровне хост системы), так что все должно
работать на _любом_ дистрибутиве, который вы выберете в качестве
Linux-VServer гостя.

В: Спасибо товарищу Пёцлю за превосходный VServer, пользуюсь им уже не первый год!

Пожалуйста!

В: OpenVZ лучше чем VServer, потому что имеет iptables внутри контейнера!

Ок, Linux-Vserver имеет iptables снаружи контейнера 🙂

В: У него нет 127.0.0.1 проблем

Их нет и у Linux-VServer!

В: Никаких проблем с любым софтом, который я пробовал!

Возможно, не такой уж и длинный список?

В: Для VServerа нужно даже патчить bind!

Только если вы используете древнюю версию Linux-Vserver. Кстати,
поясню, что это была проблема с Bind, так что проблему можно заново
создать с непатченным ядром.

В: Переехал за один день на openvz и забыл как страшный сон.

Замечательно, наслаждайтесь 🙂

В: Кстати, был еще какой-то Lycos
от одноименного поисковика. У них / (root fs) имитировался через NFS
🙂 В результате, rm -rf dir нельзя было сделать, если какой-то файл
открытый там был. А переименовать было можно 🙂

Насколько я знаю, Lycos использует модифицированную версию
Linux-VServer для некоторых из своих VPS решений. Конечно же, вы можете
делать всякие странные вещи на VPS 🙂

В: Vserver научился лимиты выставлять на сокеты/память и т.п.?

Уже давно. Вообщето, я посмотрел, когда мы реализовали новую систему
лимитов, и оказалось, что это февраль 2004го, с версии 1.3.6 (на ядре
2.4), то есть задолго до того, как появился OpenVZ 🙂

Так что да, Linux-VServer поддерживает эккаунтинг и ограничения на
многие ресурсы, включая сокеты и память, так что вы можете быть
уверенным, что потенциально нехороший Гость не сможет порушить вам Хост
систему:
[http://linux-vserver.org/ProcFS#limit]

В: Спасибо за замечательное интервью!

Пожалуйста!

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34