Foi publicado o lançamento da ferramenta CRIU 3.16 (Checkpoint and Restore In Userspace), destinada a salvar e restaurar processos no espaço do usuário. A ferramenta permite salvar o estado de um ou mais processos e, em seguida, retomar o trabalho a partir da posição salva, incluindo 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 é distribuído sob a licença GPLv2.
As áreas de aplicação da tecnologia CRIU incluem garantir a 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 iniciar o trabalho a partir de um estado salvo após a inicialização), realização de atualizações do kernel 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 em clusters, duplicação de processos em outra máquina (fork em um sistema remoto), criação de snapshots de aplicativos do usuário em execução para análise em outro sistema ou caso seja necessário reverter ações no programa. 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 foram incluídas no núcleo do Linux.
No novo lançamento:
- Adicionada a comando criu-ns, que permite restaurar um snapshot salvo do processo com um novo identificador PID em um espaço separado de namespaces de pontos de montagem (mount namespace). A execução com outro PID pode ser necessária, por exemplo, se o antigo PID já estiver em uso no sistema.
- Implementada a capacidade de salvar e restaurar snapshots de estado de perfis aninhados do apparmor.
- Implementado o bloqueio e desbloqueio de recursos de rede baseados em nftables.
- Adicionada a suporte para restaurar dispositivos veth previamente criados.
- Melhorada a suporte para restaurar contêineres em pods existentes.
- Para clientes RPC, adicionada a capacidade de definir o reaproveitamento de PID, implementada através do mecanismo pidfd.
- A licença para todos os arquivos proto no diretório images/ foi alterada para MIT.
Fonte: opennet.ru
