Lançamento do CRIU 4.2, sistema para salvar e restaurar o estado dos processos no Linux

Após seis meses de desenvolvimento, foi lançada a versão 4.2 da ferramenta CRIU (Checkpoint and Restore In Userspace), projetada para salvar e restaurar processos no espaço do usuário. A ferramenta permite salvar o estado de um ou mais processos e depois retomar o trabalho a partir da posição salva, mesmo após a reinicialização do sistema ou em outro servidor, sem interromper as conexões de rede já estabelecidas. O código do projeto é escrito em C e é distribuído sob a licença GPLv2. O CRIU é utilizado em sistemas de gerenciamento de contêineres como OpenVZ, LXC/LXD e Docker. As alterações necessárias para o funcionamento do CRIU estão incluídas no núcleo principal do Linux.

As áreas de aplicação da tecnologia CRIU incluem a garantia de reinicialização do sistema operacional sem interromper a continuidade da execução de processos de longa duração, migração ao vivo de contêineres isolados, aceleração do início de processos lentos (é possível começar a partir de um estado salvo após a inicialização), atualização do núcleo sem reiniciar serviços, salvamento periódico do estado de tarefas computacionais de longa duração para retomar o trabalho em caso de falha, balanceamento de carga em nós de clusters, duplicação de processos em outra máquina (fork para um sistema remoto), criação de instantâneas de aplicativos de usuário em funcionamento para análise em outro sistema ou caso seja necessário reverter ações posteriores no programa.

No novo lançamento:

  • No plugin amdgpu, foi implementada a capacidade de paralelizar a restauração do estado de processos que utilizam GPU.
  • Adicionada a opção "--allow-uprobes", que permite trabalhar com processos que usam vma (Virtual Memory Area) ao rastrear processos pelo mecanismo uprobe.
  • Na biblioteca libcriu, foi adicionada a capacidade de especificar um arquivo de configuração RPC para contêineres de runtime que utilizam esta biblioteca, como o crun. Por exemplo, a funcionalidade implementada pode ser útil para definir opções como "--tcp-established" através do arquivo /etc/criu/runc.conf para Kubernetes.
  • Resolveram-se problemas de compilação em sistemas ARM64 com a biblioteca C musl.
  • Corrigido o estouro de inteiro na função pagemap_len().
  • Resolveram-se problemas com o uso das opções getsockopt SO_PASSCRED e SO_PASSSEC em sistemas com núcleo Linux 6.16.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster