Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015)

Материал из 0x1.tv

(перенаправлено с «20151017H»)

Аннотация

Докладчик
Сергей Бронников.jpg
Сергей Бронников

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

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

Видео

Слайды

Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf Когда уже OpenVZ будет в основном Linux ядре? (Сергей Бронников, OSSDEVCONF-2015).pdf

Расширенные тезисы

Проект по созданию открытой реализации Linuх контейнеров — OpenVZ — был начат компанией SWsoft начат в 2015 году. Вся разработка была сосредоточена на двух основных компонентах: утилите для управления контейнерами (vzctl) и Linux ядре (vzkernel) c набором патчей, реализующих функциональность контейнеров. Если утилита для управления контейнерами изначально была проектом созданным с нуля, то ядро было форком ванильного ядра. По мере развития функциональности контейнеров увеличивался и набор патчей и при выходе новой версии ядра разработчики переносили весь набор патчей на новые версии ядер. Но в какой-то момент количество патчей стало таким большим, что усилия по поддержке этих патчей стали отнимать много времени и ресурсов и встал вопрос по интеграции этих патчей в основную ветку Linux ядра.

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

В 2009 году разработчики начали процесс адаптации патчей vzkernel для основной ветки ядра. В первую очередь были добавлены такие компоненты как пространства имён PID и NET. Позднее к ним добавились memory cgroups, device cgroups, патчи для реализации «живой» миграции процессов, виртуализация NFS.

В том же году компания Parallels Inc. появилась в десятке самых крупных контрибьюторов ядра Linux согласно отчёту Linux Foundation. За всё время было принято более 2000 патчей от разработчиков OpenVZ. Эта работа по адаптации наших изменений продолжается до сих пор и на данный момент мы снизили размер патчсета в четыре (!) раза.

В нашем понимании, идеальное светлое будущее — это когда OpenVZ патч к ядру будет нулевого размера, то есть мы хотим, чтобы вся функциональность, которая есть в OpenVZ, появилась в ванильном ядре. Когда это наступит? Я боюсь, что никогда, ибо мир неидеален. Но если, скажем, в ванильном ядре будет 90% нашей функциональности — мы будем счастливы (сейчас там примерно 60%, точнее сложно сказать).

Примечания и отзывы


Plays:57   Comments:0