CRIU - CRIU

CRIU
CRIU.svg
Desenvolvedor (s) Equipe OpenVZ na Virtuozzo
lançamento inicial 23 de julho de 2012 ; 9 anos atrás ( 23/07/2012 )
Versão estável 3,15 (3 de novembro de 2020 ; 9 meses atrás ) [±] ( 03-11-2020 )
Escrito em C e Assembler
Sistema operacional Linux
Plataforma x86-64 , ARM , Power ISA , IBM System / 390
Modelo Ponto de verificação de aplicativo
Licença GNU GPL v.2
Local na rede Internet criu .org

Checkpoint / Restore In Userspace ( CRIU ) (pronuncia -se kree-oo , / kriu / ), é uma ferramenta de software para o sistema operacional Linux . Usando essa ferramenta, é possível congelar um aplicativo em execução (ou parte dele) e marcá-lo para armazenamento persistente como uma coleção de arquivos. Pode-se então usar os arquivos para restaurar e executar o aplicativo a partir do ponto em que foi congelado. A característica distintiva do projeto CRIU é que ele é implementado principalmente no espaço do usuário , ao invés do kernel.

O projeto está atualmente em desenvolvimento ativo, com ciclo de lançamento mensal para lançamentos estáveis.

História

A versão inicial do software CRIU foi apresentada à comunidade de desenvolvedores Linux por Pavel Emelyanov, o líder da equipe do kernel OpenVZ , em 15 de julho de 2011.

Em setembro de 2011, o projeto foi apresentado na Linux Plumbers Conference. Em geral, a maioria dos participantes teve uma visão positiva do projeto, o que é comprovado pelo fato de que vários patches de kernel necessários para a implementação do projeto foram incluídos no kernel da linha principal. Andrew Morton , no entanto, estava um pouco cético:

Uma nota sobre isso: este é um projeto de vários russos loucos para realizar c / r principalmente a partir do espaço do usuário, com vários códigos auxiliares excêntricos adicionados ao kernel onde a necessidade é demonstrada ... No entanto, estou menos confiante do que os desenvolvedores de que isso acabará por funcionar! Então, o que estou pedindo a eles é que envolvam cada parte do novo código dentro de CONFIG_CHECKPOINT_RESTORE. Portanto, se tudo acabar em lágrimas e o projeto como um todo falhar, deve ser uma questão simples percorrer e excluir todos os vestígios dele.

-  Andrew Morton,

Usar

A ferramenta CRIU está sendo desenvolvida como parte do projeto OpenVZ, com o objetivo de substituir o ponto de verificação / restauração do kernel. Embora seu foco principal seja o suporte à migração de contêineres, permitindo que os usuários verifiquem e restaurem o estado atual dos processos em execução e grupos de processos. A ferramenta pode ser usada atualmente em sistemas x86-64 e ARM e oferece suporte aos seguintes recursos:

Em setembro de 2013, nenhum patch de kernel é necessário porque todas as funcionalidades necessárias já foram incorporadas à linha principal do kernel do Linux desde a versão 3.11 do kernel, que foi lançada em 2 de setembro de 2013.

Migração de conexão TCP

Um dos objetivos iniciais do projeto era oferecer suporte à migração de conexões TCP, sendo o maior desafio suspender e restaurar apenas um lado de uma conexão. Isso era necessário para realizar a migração ao vivo de contêineres (junto com todas as suas conexões de rede ativas) entre servidores físicos, o cenário principal de uso do recurso de ponto de verificação / restauração no OpenVZ. Para lidar com esse problema, um novo recurso, "modo de reparo TCP", foi implementado. O recurso foi incluído na versão 3.5 da linha principal do kernel do Linux e fornece aos usuários meios adicionais para desmontar e reconstruir sockets TCP sem a necessidade de trocar pacotes de rede com o lado oposto da conexão.

Projetos semelhantes

Os projetos a seguir fornecem funcionalidade semelhante ao CRIU:

  • OpenVZ
  • DMTCP
  • BLCR
  • Linux C / R

Referências

Leitura adicional