The OpenNET Project / Index page

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



"Выпуск CRIU 3.19, системы для сохранения и восстановления состояния процессов в Linux "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск CRIU 3.19, системы для сохранения и восстановления состояния процессов в Linux "  +/
Сообщение от opennews (?), 30-Ноя-23, 09:13 
Опубликован выпуск инструментария CRIU 3.19 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений.  Код проекта распространяется под лицензией GPLv2...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=60199

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Розенталь (?), 30-Ноя-23, 09:13   +1 +/
Хорошая утилита. Пользовался одно время.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3

2. Сообщение от Аноним (2), 30-Ноя-23, 09:29   +/
Да, серьезно упрощает жизнь сисадминам и девопсам.
Ответить | Правка | Наверх | Cообщить модератору

3. Сообщение от Аноним (3), 30-Ноя-23, 09:59   –1 +/
Жаль только с иксами не работает. И что-то затухла инициатива прикрутить к вейланду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #9

4. Сообщение от Аноним (4), 30-Ноя-23, 10:25   +4 +/
Очень удобно делать снапшоты по расписанию для пользователей в твоей конторке. Потом находишь снапшот с открытым интернет-банком и переводишь себе на мороженное скромную или не очень сумму.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #19, #22

5. Сообщение от Аноним (5), 30-Ноя-23, 10:38   +2 +/
core dumped
Ответить | Правка | Наверх | Cообщить модератору

6. Сообщение от Аноним (5), 30-Ноя-23, 10:40   +3 +/
>на другом сервере без разрыва уже установленных сетевых соединений

Это как? Не говоря уже о том, что другая сторона порвёт просто по таймауту для практически значимых случаев.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

7. Сообщение от Аноним (7), 30-Ноя-23, 10:42   –1 +/
Игрался с заморозкой софта, через несколько заморозок программа начала глючить. Слишком замутно, легче виртуалку со снапшотами использовать.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15, #26

8. Сообщение от Аноним (8), 30-Ноя-23, 10:57   +1 +/
Гугли на тему TCP_REPAIR_QUEUE, через него можно не только соединения процесса заморозить, но и сохранить соединения после мягкой перезагрузки ОС.

https://lists.openwall.net/netdev/2012/03/28/84
https://lwn.net/Articles/495304/

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #17

9. Сообщение от ilyafedinemail (ok), 30-Ноя-23, 11:01   +/
В смысле затухла? Прикрутили уже, что еще надо?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #10, #30

10. Сообщение от Аноним (3), 30-Ноя-23, 11:23   +/
>Status: stalled

Что конкретно прикрутили?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #11

11. Сообщение от ilyafedinemail (ok), 30-Ноя-23, 11:25   +/
>>Status: stalled

Что за статус?

> Что конкретно прикрутили?

В плазме 6 по идее можно без проблем сохранять и восстанавливать Qt-приложения. В других тулкитах никто поддержку и не планировал вроде.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #12

12. Сообщение от Аноним (3), 30-Ноя-23, 11:28   +/
Это статус поддержки вейланда в CRIU, с тех пор никаких новостей не было.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #13

13. Сообщение от ilyafedinemail (ok), 30-Ноя-23, 11:29   +/
> Это статус поддержки вейланда в CRIU, с тех пор никаких новостей не
> было.

Не знаю что за статус и где, в Qt пришло бесплатно как by-product поддержки переподключения к композитору

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #14

14. Сообщение от Аноним (3), 30-Ноя-23, 11:34   +/
Тут не переподключение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Пряник (?), 30-Ноя-23, 13:35   +/
Предположу что сохраняется только память программы, а память ядра не сохраняется (например, открытые файлы), и CRIU пытается по частям выдрать эту инфу из ядра. В виртуалках же тупо сохраняется вся память в снимок (но только для qcow2 образов).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #20

17. Сообщение от Аноним (5), 30-Ноя-23, 15:16   +1 +/
То что восстановить на локальной системе можно - это понятно. Но вот представь, у тебя работающий сервер. Ты его замораживаешь, мигрируешь на другой VPS, размораживаешь. У него айпишник будет другой. Предположим, что у них хитрая реализация TCP, позволяющая менять айпишники в середине сессии. Более того, приложение в своих переменных будет хранить старый адрес, а значит все новые сессии на старый адрес прозрачно менять на новый. Но как они все узнают новый IP? А никак, в TCP такие финты не предусмотрены. Значит придётся это либо в протокол самого приложения, но тогда можно просто начать новую сессию с новым IP, и заменить адрес в переменных, как встроенная фича сервера. Тогда весь этот гимор с замораживаниями и хитрыми реализациями TCP не нужен. Делать навесной протокол без аутентификации? Злоумышленникам очень понравится. С аутентификацией? Не везде применимо, и код приложения менять надо. Далее, если миграция не пройдёт очень быстро, то клиенты отвалятся по таймауту.

Отсюда, единственное применение этой технологии - микросервисная архитектура, когда у нового и старого инстанса микросервиса один и тот же айпишник внутри своей частной сети и когда все микросервисы настроены не рвать соединение по таймауту. Эрзац-servicemesh на костылях. Обычный сервисмеш лучше, но на самом деле ни сервисмеш, ни миаросервисная архитектура не нужны, это просто модный культ карго.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #21

19. Сообщение от Вася (??), 30-Ноя-23, 15:27   +5 +/
а там токен протух и кроме него у тебя ничего нет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

20. Сообщение от Аноним (3), 30-Ноя-23, 15:38   +/
По-моему, с некоторых пор, оно пытается восстанавливать процессы под теми же идентификаторами, если они уже заняты, тут упс. Во всяком случае, это может быть одной из причин -- многое зависит от архитектуры приложения. У сетевых больше причин отвалиться, если подобные вещи не являются для них штатными (практически 100% софта умирает при минимальных отклонениях в подключении).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

21. Сообщение от Аноним (21), 30-Ноя-23, 18:14   –2 +/
> У него айпишник будет другой.

Не будет. Переносил так виртуалки на другой континент, вместе с айпишником. Таймауты для TCP сессий в популярных ОС сам нагуглишь, это домашка тебе такая. Как сделаешь, я тебе про сервисмеш домашку выдам. А там глядишь и до карго-культа доберёмся. Всё, топай самообразовываться.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #23

22. Сообщение от Аноним (22), 30-Ноя-23, 19:00   +2 +/
158.3, пункт «г»; 159.3
Ну и потом не то что в эникейщики, в сторожа путь заказан
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

23. Сообщение от Аноним (23), 30-Ноя-23, 22:28   +/
Я не тот аноним, но тоже не понял что-то. Вот есть у меня приложение, которое установило соединение с сервисом в инете. Я его заморозил, а через день разморозил, и все продолжит работать что-ли? И там в инете целый день меня буду ждать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #25

25. Сообщение от Аноним (21), 01-Дек-23, 05:02   +/
Ну прямо день может и не будет, но вообще это зависит от многих факторов. В убогие времена модемной связи по карточкам можно было отключиться, пообедать, попить чаю, сходить в сортир и подключиться обратно, при этом SSH-сессии не рвались (если не пытаться в окне никакие кнопки нажимать, конечно же). Разгадка проста: публичный айпишник у провайдерского NATа был один на всех, поэтому с точки зрения удалённого сервера ничего страшного не происходило. RST не пришёл, а то, что пакетов полтора часа в сокете нет, так это ещё не повод рвать соединение. Если тебе в цифрах интересно, что смотри man 7 tcp, конкретно про логику работы keepalive.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #27, #29

26. Сообщение от all_glory_to_the_hypnotoad (ok), 01-Дек-23, 05:09   +/
Лучше писать приложения, которые не нужно замораживать. Такая заморозка никогда полностью корректно работать не будет для приложения в общем случае.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #31

27. Сообщение от Аноним (27), 01-Дек-23, 14:05   +/
Это конкретно один протокол так реализован и сервер так настроен. А остальные сервера (HTTP, кхе, кхе) просто порвут соединение, чтобы не было slowloris.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #28

28. Сообщение от Аноним (27), 01-Дек-23, 14:11   +/
Собственно для миграции серверов, обслуживающих много пользователей, миграция контейнеров и нужна. Свой личный сервер перезапустить обычно проблемы нет. Перезапустить сервер массового обслуживания - у пользователей проблемы будут. Я не вижу, как замораживание их может решить. Обычно их решают так: стартуют новый заблаговременно на своём айпишнике, когда загрузится - балансировщик его задействует, после чего старый можно убирать. Так что миграция контейнеров и тут не нужна. Зачем нужно сохранение сетевых соединений при разморозке - не понятно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

29. Сообщение от Аноним (29), 01-Дек-23, 18:15   +/
Про keepalive я в курсе, но а если он не используется в протоколе, то что? Вот, к примеру, я сделал telnet IP 80, и он продолжит работать после нескольких через заморозки?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #32

30. Сообщение от Аноним (30), 02-Дек-23, 09:20   +/
https://www.opennet.ru/openforum/vsluhforumID15/4888.html#35

"глянуть сегодняшнюю подсистему засыпания в свап и востановления из сна. Идея: переодически сынкать изменённую память процесов на свап, если сынкать, только, изменения будет не много. В случае отключения питания загрузка производится как после засыпания в свап."

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

31. Сообщение от Аноним (3), 02-Дек-23, 22:10   +/
Sigstop ещё запрети. Самому не смешно?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

32. Сообщение от Аноним (21), 04-Дек-23, 05:37   +/
Ты (и другой анон выше тоже) путаешь уровни OSI. Гарантии CRIU ограничиваются TCP. Всё, что выше не его забота. Для HTTP он действительно мало полезен. Но HTTP-соединения by design долго не живут. К сожалению, Интернет не ограничивается одним HTTP.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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