После шести месяцев разработки опубликован выпуск инструментария CRIU 4.1 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Код проекта написан на языке Си и распространяется под лицензией GPLv2. CRIU применяется в таких системах управления контейнерами, как OpenVZ, LXC/LXD и Docker. Необходимые для работы CRIU изменения включены в основной состав ядра Linux...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62949
Интересно, как такие системы работают с IO? Что будет если восстановить программу которая была подключена к серверу? Работала с шарнутым файлом? Взаимодействовала через пайпу? Или вообще переводила вдяху или монитор в "особый" режим?
работает без единого разрыва
Так уж ведётся\
Сессия рвётся\
В сутки как минимум раз.
Прекрасно работает. Ещё бы графические приложухи научили сохранять, хотя бы без видеопамяти. Некоторые с отвалившейся видеокартой продолжают работать после её возвращения, другие, более кривые, в "режиме совместимости" и требуют перезапуска для включения ускорения.
Ну вот смотри: аппликуха установила связь с сервером, открыла внутри канала сессию (об этом система уже ничего не знает - канал-то зашифрован!), потом ты остановил аппликуху, сервер закрыл сессию по таймауту. Далее ты возобновляешь работу, и даже если система восстановила связь на сервер - сессии-то уже нету! И вся работа упала, начинай заново.
Клиент говорит "у нас тут обрыв" и сервер открывает как было. Со сменой айпишника могут быть сложности.
> могут быть сложностиНа третий день Орлиный Глаз заметил...
А никак - это штука для процессов чье состояние изолированно от внешней среды - дескрипторов, сокетов и тд. Поэтому и ни особо нужно кому-то.
One of the CRIU features is the ability to save and restore state of a TCP socket without breaking the connection. This functionality is considered to be useful by itself, and we have it available as the libsoccr library.
> Интересно, как такие системы работают с IO? Что будет если восстановить
> программу которая была подключена к серверу? Работала с шарнутым файлом?Представляешь, состояние этого добра можно перекинуть на новую систему и сделать вид что так и было. Конечно сетевая конфига должна допускать такие фокусы.
Представляешь, в состояние входят не только локальные компоненты, а, например, сессионные токены внутри соединения.
> Интересно, как такие системы работают с IO?Пробуйте :) изюминка из новости в: docker help checkpoint
docker run ...
docker checkpoint ...
docker create clone ...
docker start --checkpoint-dir=path ... clone
docker exec clone ...
> ускорение запуска медленных процессовБазы оракла? Линуксовый скульсервер? Даже не представляю, зачем оно нужно, если это проблема НЕ системы, а разработчика сервиса.
Хотя нет, проприентарщина может творить что угодно, так что да, полезно.
Ну вот майнкрафт у меня около часа запускается. Неплохо бы ускорить. Видишь, сколько применений.
инициализируй его в облаке, а когда загрузится, забирай процесс себе
Это уже какая-то матрица.
Тут скорее проблема железа. Мобильный ай5 спокойно ворочает сборки на 300 модов
Там моды закончились в 1.12.2 (java8), ты эту запускаешь? Последующие быстрее запускаются, но там модов таких уже нет. С хотспотом быстрее в 2 раза, но потребление памяти в 2 раза больше (16гб надо для работы), я использую jdk8-openj9 и он чуть медленней. Кроме долгой инициализации модов особых проблем нет (gc иногда лагает).
У меня из сборок только гтнх(1.7 вроде). Запускаю под оффтопиком с 8гб выделенной памяти, с офф жабой 8. На опенжабе были просадки кадров, конда на офф стабильные 60
Помню была такая ОС - Фантом, разработанная Завалишиным. И там была такая штука - перзистентность, это типа другая концепция сохранения данных по сравнению с файлами.
Мне интересно, CRIU как-то соотносится с этим по достигаемым целям? Может быть людям просто нужна ОС другого типа?
Ещё до всяких юниксов, на уровне ос разделялись код приложений и данные. И приложения не могли получить доступ к коду приложений.
Ну уж, "на уровне os".
Гарвардская архитектура - на уровне железа разделяла.
> Может быть людям просто нужна ОС другого типа?людям нужно всегда "съедобное", то есть хоть как-то "спелое", и даже не важно, что там - схавают, как только один "дурак" воскликнет - "вкусно", потом даже, не пробовавший воскликнет - "как вкусно", такова сущность "людей-потребителей".
Кто знает можно ли графические процессы сохранять им ? Если да то как ?К примеру старые игры в которых нет нормальных сохранялок, а до чек поинтов идти как до луны пешком... было бы круто целиком вино дампануть и восстановить...
Не восстановило онр состояние запущенного keepass с несохраненными из-за проблем сети изменениями (а после восстановления сети это нельзя было сделать руками т.к. драйвер nvidia не захотел возвращать дисплей из сна