크리우

CRIU
크리우
CRIU.svg
개발자Virtuozzo OpenVZ팀
초기 릴리즈2012년 7월 23일, 10년 전(2012-07-23)[1]
안정된 릴리스3.15(2020년 11월 3일, 21개월 전(2020-11-03)[2] [±]
저장소
기입처C와 어셈블러
운영 체제리눅스
플랫폼x86-64, ARM, Power ISA, IBM System/390
유형응용 프로그램 체크 포인트
면허증.GNU GPL v.2
웹 사이트criu.org

Checkpoint/Restore In Userspace(CRIU)(kree-oo, /kriu/로 발음)는 Linux 운영체제용 소프트웨어 도구입니다.이 도구를 사용하면 실행 중인 응용 프로그램(또는 일부)을 중지하고 파일 집합으로 영구 스토리지에 체크포인트를 지정할 수 있습니다.그런 다음 파일을 사용하여 정지된 시점부터 애플리케이션을 복원하고 실행할 수 있습니다.CRIU 프로젝트의 특징은 커널이 아닌 사용자 공간에서 주로 구현된다는 것입니다.

이 프로젝트는 현재 개발 중이며 안정적인 [3]릴리스를 위해 매월 릴리즈 사이클이 있습니다.

역사

CRIU 소프트웨어의 초기 버전은 2011년 [4]7월 15일 OpenVZ 커널 팀의 리더인 Pavel Emelyanov에 의해 Linux 개발자 커뮤니티에 제공되었습니다.

2011년 9월, 이 프로젝트는 Linux 배관공 [5]회의에서 발표되었습니다.일반적으로 참석자 대부분은 이 프로젝트에 대해 긍정적인 견해를 보였는데, 이는 프로젝트 구현에 필요한 커널 패치가 메인라인 커널에 다수 포함되어 있다는 사실로 입증되었습니다.그러나 앤드류 모튼은 약간 회의적이었다.

주의: 이것은 다양한 미친 러시아인들이 주로 사용자 공간에서 c/r을 수행하는 프로젝트이며, 다양한 홀수볼 도우미 코드가 커널에 추가되어 필요성이 입증되었습니다.하지만 개발자들보다는 이 모든 것이 결국 작동하게 될 것이라는 확신이 없습니다.따라서 CONFIG_CHECKPOINT_RESTORE 내에서 새로운 코드의 각 부분을 랩하는 것이 좋습니다.따라서 결국 모든 것이 중단되고 프로젝트 전체가 실패한다면, 그 흔적을 모두 지우는 것은 간단한 문제일부탁드립니다.

--

사용하다

CRIU 툴은 커널 내 체크포인트/복원 대체를 목적으로 OpenVZ 프로젝트의 일부로 개발되고 있습니다.컨테이너의 이행을 지원하는 것이 주안점이지만 사용자는 실행 중인 프로세스와 프로세스 그룹의 현재 상태를 확인하고 복원할 수 있습니다.이 도구는 현재 x86-64 ARM 시스템에서 사용할 수 있으며 다음 기능을 지원합니다.

2013년 [7][8]9월 2일 출시된 커널 버전 3.11 이후 필요한 모든 기능이 이미 Linux 커널 메인라인에 병합되었기 때문에 2013년 9월 현재 커널 패치가 필요하지 않습니다.

TCP 접속 이행

초기 프로젝트의 목표 중 하나는 TCP 접속의 이행을 지원하는 것이었는데, 가장 큰 과제는 접속의 한쪽만 일시정지한 후 복원하는 것이었습니다.이는 OpenVZ의 체크포인트/복원 기능을 사용하는 주요 시나리오인 물리적 서버 간에 컨테이너의 라이브 마이그레이션(모든 활성 네트워크 연결 포함)을 수행하기 위해 필요했습니다.이 문제에 대처하기 위해 "TCP 복구 모드"라는 새로운 기능이 구현되었습니다.이 기능은 Linux 커널 메인라인[9] 버전 3.5에 포함되어 있어 접속 반대편과 네트워크 패킷을 교환할 필요 없이 TCP 소켓을 분해 및 재구성할 수 있습니다.

유사한 프로젝트

다음 프로젝트는 CRIU와 유사한 기능을 제공합니다.

레퍼런스

  1. ^ Pavel Emelyanov (2012-07-23). "Checkpoint-restore tool v0.1".
  2. ^ "Release schedule".
  3. ^ "Release schedule - CRIU".
  4. ^ Pavel Emelyanov (2011-07-15). "Checkpoint/restore mostly in the userspace".
  5. ^ "Checkpoint/restart in the userspace". Linux Plumbers Conf 2011.
  6. ^ "Merge branch 'akpm' (aka "Andrew's patch-bomb, take two")". Linux kernel source tree. 2012-01-13.
  7. ^ "Installation: Linux Kernel". Linux kernel v3.11 or newer is required, with some specific options set
  8. ^ "Linux kernel 3.11, Section 1.5. Detailed tracking of which pages a task writes". kernelnewbies.org. 2013-09-02. Retrieved 2016-05-03.
  9. ^ Pavel Emelyanov (2012-02-29). "TCP connection repair". Linux Netdev Mailing List.
  10. ^ "DMTCP: Distributed MultiThreaded CheckPointing". SourceForge.
  11. ^ "Berkeley Lab Checkpoint/Restart (BLCR) for LINUX". Lawrence Berkeley National Laboratory.
  12. ^ "Linux Checkpoint/Restart". kernel.org.

추가 정보