Как вы думаете на сколько реально зайти на машину по ssh, обновить систему, загрузить новое ядро и при этом оставаться в той же ssh сессии. Сейчас есть модное движения по обновлению ядра на лету (ksplice, KernelCare, ReadyKernel, etc), но у этого способа есть много ограничений. Во-первых, он не позволяет применять изменения, которые меняют структуру данных. Во-вторых, объекты в памяти могут уже содержать неверные данные, которые могут вызвать проблемы в дальнейшем. Здесь будет описан более «честный» способ обновить ядро. На самом деле, сам способ уже давно известен [1], а ценность этой статьи в том, что мы разберем все в деталях на реальном примере, поймем на сколько это просто или сложно, и чего стоит ждать от подобных экспериментов.
Читать полностью »
Рубрика «virtuozzo» - 2
Как обновить ядро в системе без перезапуска сервисов (пошаговая инструкция)
2016-12-27 в 6:11, admin, рубрики: checkpoint, containers, CRIU, docker, kernel, kexec, linux, open source, openvz, systemd, travis, travis-ci, Ubuntu, virtuozzo, vz, Блог компании Virtuozzo, Разработка под Linux, системное программированиеКак мы заново собирали серверы в американском ЦОДе из России
2016-11-21 в 8:33, admin, рубрики: virtuozzo, Блог компании Virtuozzo, виртуализация, виртуальная машина, Настройка Linux, Сетевые технологии, хранение данныхСегодня мы хотели рассказать вам о том, как наши ребята за три часа повысили производительность кластера для тестирования ПО в 4 раза, просто «пораскинув мозгами».
Новая версия OpenVZ
2016-07-26 в 15:03, admin, рубрики: CRIU, open source, openvz, virtuozzo, Блог компании Virtuozzo, контейнервкаждыйдом, системное программирование
Весной прошлого года мы рассказали почему Virtuozzo переходит на открытую модель разработки и какой смысл открывать исходный код коммерческого продукта. Вчера мы анонсировали выпуск финальной версии OpenVZ 7.0, образованного в результате слияния кодовых баз открытой системы контейнерной виртуализации OpenVZ и коммерческого продукта Virtuozzo (Parallels Cloud Server). Новый выпуск OpenVZ содержит множество изменений и мы по порядку расскажем о каждом из них.
Читать полностью »
GTD: написать диссертацию и остаться в живых
2016-04-26 в 6:19, admin, рубрики: lifehack, Parallels, virtuozzo, Блог компании Parallels, диссертация, наука, научная работа, Промышленное программирование, Совершенный код, тайм-менеджмент, эффективностьЭта статья не для академиков и не для научных сотрудников – им на роду положено написать диссертацию. Эта статья для программистов, ведущих программистов и прочих деятелей области IT, по каким-то причинам поступивших в аспирантуру и ищущих в себе силы для защиты диссера.
Недавно пройдя сей квест до конца, хочу поделиться lifehack-ами, которых мне так не хватало самой. Известно, что опыт приходит после того, как был очень нужен. Обобщаю для хабра свой опыт, разбавляя его советами от коллег из Virtuozzo и Parallels, кандидатами и докторами наук.
Новый интерфейс для получения атрибутов процессов в Linux
2016-01-20 в 3:06, admin, рубрики: CRIU, kernel, linux, linux kernel, netlink, open source, opensourse, openvz, procfs, ps, task_diag, virtuozzo, Разработка под Linux, системное программированиеРазрабатывая CRIU, мы поняли, что текущий интерфейс получения информации о процессах не идеален. К тому же, подобная проблема была успешно решена для сокетов. Мы попытались перенести эти наработки на процессы и получили достаточно хорошие результаты, о которых вы узнаете, дочитав эту статью до конца.
Недостатки текущего интерфейса
Прочитав заголовок, возникает вопрос:”A чем же старый интерфейс не угодил”? Многие из вас знают, что сейчас информация о процессах собирается по файловой системе procfs. Здесь каждому процессу соответствует директория, которая содержит несколько десятков файлов.
$ ls /proc/self/
attr cwd loginuid numa_maps schedstat task
autogroup environ map_files oom_adj sessionid timers
auxv exe maps oom_score setgroups uid_map
cgroup fd mem oom_score_adj smaps wchan
clear_refs fdinfo mountinfo pagemap stack
cmdline gid_map mounts personality stat
comm io mountstats projid_map statm
coredump_filter latency net root status
cpuset limits ns sched syscall
Простая возможность приобрести опыт в IT
2015-12-29 в 7:03, admin, рубрики: contribution, CRIU, open source, opensource, openstack, openvz, virtuozzo, Блог компании Parallels, контейнервкаждыйдом, контейнеры, Программирование, разработка, системное программирование, творидоброАнестезиолог Кон Коливас разработал собственную версию планировщика задач для Linux ядра, потому что существующая реализация была адаптирована под серверные задачи, но неудовлетворительно справлялась с пользовательскими задачами.
Алексей Кузнецов, который по воле случая «превратился» в Linux хакера, сменил свою профессию с физика-теоретика на системного программиста.
ИТ-журналист Пётр Семилетов помимо своей основной работы уже десять лет разрабатывает свой текстовый редактор Tea с открытым исходным кодом.
Леся Новасельская, получившая специальность паталогоанатома, участвует в тестировании проекта c открытым исходным кодом.
Подобных примеров множество. Всех этих людей объединяет одно — они реализовали свои интересы в проектах с открытым исходным кодом и участвовали в них и для удовольствия, и для получения опыта. Сложился некий миф о том, что открытый проект – это только для программистов, причем тех, у кого уже есть большой опыт в разработке. Но это не так. Открытый проект — это не только разработка исходного кода, но и тестирование, техническая поддержка, написание документации, маркетинг и т.д. А ещё — отличный шанс приобрести опыт и получить удовольствие от общения с такими же единомышленниками, как вы. Согласно результатам голосования основным препятствием для участия в открытом проекте является отсутствие понимания того, как присоединиться к проекту. Поэтому в статье мы разберёмся как и в качестве кого можно присоединиться к такому проекту.
Читать полностью »
В преддверии очередного релиза CRIU
2013-04-22 в 8:20, admin, рубрики: cloud, container, CRIU, linux, linux kernel, open source, openvz, Parallels, parallels cloud server, virtuozzo, Облачные вычисления, метки: cloud, container, CRIU, linux, linux kernel, openvz, Parallels, parallels cloud server, virtuozzo Сегодня я хочу продолжить серию статей о проекте CRIU (Checkpoint/restore mostly in the userspace). Проекту чуть более года, а по возможностям он уже в плотную приблизился к подобной функциональности в OpenVZ.
Первая часть статьи расскажет о новой функциональности, которая появилась в CRIU за последние несколько месяцев. Вторая часть расскажет о нашем опыте внедрения новых технологий для улучшения процесса разработки.
Новая функциональность
Снапшот памяти и итеративная миграция
Киллер фича следующего релиза — итеративные снапшоты состояния процесса и, как следствие, итеративная миграция. В обоих случаях на каждой следующей итерации, сохраняется только та часть памяти, которая изменилась с предыдущего раза. В первом случае это позволяет сократить время и количество данных на диске. В случае миграции существенно сокращается время простоя (downtime) системы, потому что на первой итерации копирования памяти процессы не замораживаются.
Читать полностью »
Обновляем ядро без перезагрузки
2012-11-26 в 5:30, admin, рубрики: cloud, container, linux, Parallels, parallels cloud server, virtualization, virtuozzo, vps, виртуализация, метки: cloud, container, linux, Parallels, parallels cloud server, virtualization, virtuozzo, vpsСегодня я хочу рассказать о моей самой любимой фиче в этом релизе — rebootless update, или обновление без перезагрузки.
Перезагрузка — это простой сервера и потеря состояния текущих активностей. Она нежелательна для сервера, которым пользуется большое количество людей. На данный момент есть популярная технология Ksplice, где изменения накатываются на живую систему. Это ненадежно, не каждое обновление удается так накатить. И вообще, нет гарантий, что проблемный код не успел наследить. Еще одна немаловажная проблема в том, что разработчики с неохотой берутся за баги после таких обновлений. Кто его знает, что в этой солянке варилось.
Читать полностью »