CRIU
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
CRIU(Checkpoint/Restore In Userspace)는 사용자 공간에서 실행 중인 프로세스의 상태를 체크포인트화하고 복원할 수 있도록 하는 도구이다. OpenVZ 프로젝트의 일부로 개발되었으며, 컨테이너 마이그레이션을 지원하는 것을 목표로 한다. 2011년 파벨 예멜리아노프에 의해 처음 공개되었으며, x86-64 및 ARM 아키텍처 시스템에서 사용 가능하다. TCP 연결 마이그레이션 기능도 지원하며, OpenVZ, DMTCP, BLCR, Linux C/R과 같은 유사한 프로젝트가 존재한다.
더 읽어볼만한 페이지
- 리눅스 소프트웨어 - 구글 크롬
구글 크롬은 구글이 개발한 웹 브라우저로, 크로미엄 프로젝트를 기반으로 오픈 소스 코드를 활용하여 개발되었으며, 다양한 기능과 운영체제 지원을 통해 세계 시장 점유율 1위를 기록하지만 개인 정보 보호 정책으로 비판을 받기도 한다. - 리눅스 소프트웨어 - HPLIP
HPLIP는 HP에서 제공하는 리눅스용 프린터 및 스캐너 드라이버이자 툴 모음으로, GUI 환경 설정 및 명령줄 유틸리티를 통해 장치 구성, 인쇄, 스캔, 팩스 등의 작업을 지원하며, 자동 설치 프로그램과 hpiod 프로세스와 연동되어 작동한다.
CRIU - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
기타 | |
발음 | /kriu/ |
2. 역사
CRIU는 2011년 OpenVZ 커널 팀 리더 파벨 예멜리아노프(Pavel Emelyanov)에 의해 처음 공개되었고[11][2], 같은 해 리눅스 플럼버스 콘퍼런스에서 발표되었다.[12][3] 이 프로젝트는 리눅스 커널 개발자 커뮤니티에서 논의되었으며, 앤드루 모턴은 다소 회의적인 반응을 보이기도 했다.[4]
2. 1. 개발 초기
CRIU 소프트웨어의 최초 버전은 2011년 7월 15일 OpenVZ 커널 팀 리더인 파벨 예멜리아노프(Pavel Emelyanov)에 의해 리눅스 개발자 커뮤니티에 공개되었다.[11][2]2011년 9월, 이 프로젝트는 리눅스 플럼버스 콘퍼런스에서 발표되었다.[12][3] 전반적으로 참석자들은 이 프로젝트에 대해 긍정적인 시각을 보였는데, 이는 프로젝트 구현에 필요한 여러 커널 패치가 메인라인 커널에 포함된 것으로 증명된다. 그러나 앤드루 모턴은 약간 회의적이었다.
2. 2. 발표 및 반응
CRIU 소프트웨어의 최초 버전은 2011년 7월 15일 OpenVZ 커널 팀 리더인 파벨 예멜리아노프에 의해 리눅스 개발자 커뮤니티에 공개되었다.[11][2]2011년 9월, 이 프로젝트는 리눅스 플럼버스 컨퍼런스에서 발표되었다.[12][3] 전반적으로 참석자들은 이 프로젝트에 대해 긍정적인 시각을 보였는데, 이는 프로젝트 구현에 필요한 여러 커널 패치가 메인라인 커널에 포함된 것으로 증명된다. 그러나 앤드루 모턴은 약간 회의적인 반응을 보였다.
앤드루 모턴은 "주로 유저스페이스에서 c/r을 수행하기 위해 다양한 괴짜 헬퍼 코드를 커널에 추가한, 여러 미친 러시아인들의 프로젝트입니다... 하지만 저는 개발자들만큼 이것이 결국 잘 될 것이라고 확신하지 못합니다! 그래서 제가 그들에게 요청하는 것은, 새로운 코드의 각 부분을 CONFIG_CHECKPOINT_RESTORE 안에 래핑하는 것입니다. 따라서 결국 모든 것이 실패하고 프로젝트 전체가 실패하더라도, 모든 흔적을 삭제하는 것은 간단한 문제가 될 것입니다."라고 언급했다.[4]
3. 기능
CRIU는 x86-64 및 ARM 아키텍처 시스템에서 사용할 수 있으며 다음과 같은 기능을 지원한다.
4. TCP 연결 마이그레이션
초기 프로젝트 목표 중 하나는 TCP 연결의 마이그레이션을 지원하는 것이었으며, 가장 큰 과제는 연결의 한쪽만 일시 중단했다가 복원하는 것이었다. 이는 물리 서버 간의 컨테이너(모든 활성 네트워크 연결 포함)의 라이브 마이그레이션을 수행하는 데 필요했으며, OpenVZ에서 체크포인트/복원 기능을 사용하는 주요 시나리오였다. 이 문제에 대처하기 위해 "TCP 복구 모드"라는 새로운 기능이 구현되었다. 이 기능은 리눅스 커널 메인라인 버전 3.5에 포함되었으며, 연결 반대편과 네트워크 패킷을 교환할 필요 없이 TCP 소켓을 분해하고 재구성할 수 있는 추가적인 수단을 사용자에게 제공한다.
5. 유사 프로젝트
다음은 CRIU와 비슷한 기능을 제공하는 프로젝트들이다.
- OpenVZ
- DMTCP[13]
- BLCR[14]
- Linux C/R[15]
6. 활용
CRIU 도구는 OpenVZ 프로젝트의 일환으로 개발되어 커널 내 체크포인트/복원 기능을 대체하는 것을 목표로 한다. 주된 목표는 컨테이너 마이그레이션을 지원하여, 사용자가 실행 중인 프로세스와 프로세스 그룹의 현재 상태를 저장(체크포인트)하고 나중에 복원할 수 있도록 하는 것이다. 현재 이 도구는 x86-64 및 ARM 아키텍처 시스템에서 사용할 수 있으며, 다음과 같은 기능을 지원한다.
- '''프로세스''': 프로세스 계층 구조, PID, 사용자 및 그룹 인증자 (UID, GID, SID 등), 시스템 능력, 스레드, 실행 및 중지 상태
- '''애플리케이션 메모리''': 메모리 맵 파일 및 공유 메모리
- '''열린 파일'''
- '''파이프 및 FIFO'''
- '''유닉스 도메인 소켓'''
- '''네트워크 소켓''': TCP 소켓(ESTABLISHED 상태) 포함 (아래 참조)
- '''System V IPC'''
- '''타이머'''
- '''시그널'''
- '''터미널'''
- '''리눅스 커널 관련 시스템 호출''':
inotify
,signalfd
,eventfd
및epoll
2013년 9월 2일에 출시된 커널 버전 3.11 이후 리눅스 커널 메인라인에 이미 필요한 모든 기능이 통합되었기 때문에 커널 패치는 필요하지 않다.
참조
[1]
웹사이트
Checkpoint-restore tool v0.1
https://lists.openvz[...]
2012-07-23
[2]
웹사이트
Checkpoint/restore mostly in the userspace
https://lwn.net/Arti[...]
2011-07-15
[3]
웹사이트
Checkpoint/restart in the userspace
https://www.linuxplu[...]
[4]
웹사이트
Merge branch 'akpm' (aka "Andrew's patch-bomb, take two")
https://git.kernel.o[...]
2012-01-13
[5]
웹사이트
Installation: Linux Kernel
https://criu.org/Ins[...]
[6]
웹사이트
Linux kernel 3.11, Section 1.5. Detailed tracking of which pages a task writes
http://kernelnewbies[...]
2013-09-02
[7]
웹사이트
TCP connection repair
https://lwn.net/Arti[...]
2012-02-29
[8]
웹인용
Checkpoint-restore tool v0.1
https://lists.openvz[...]
2012-07-23
[9]
웹인용
Release schedule
https://criu.org/Rel[...]
[10]
웹인용
Release schedule - CRIU
https://criu.org/Rel[...]
[11]
웹인용
Checkpoint/restore mostly in the userspace
https://lwn.net/Arti[...]
2011-07-15
[12]
웹인용
Checkpoint/restart in the userspace
https://www.linuxplu[...]
[13]
웹인용
DMTCP: Distributed MultiThreaded CheckPointing
http://dmtcp.sourcef[...]
SourceForge
[14]
웹인용
Linux Checkpoint/Restart
https://ckpt.wiki.ke[...]
kernel.org
[15]
웹인용
Berkeley Lab Checkpoint/Restart (BLCR) for LINUX
http://crd.lbl.gov/d[...]
2022-08-06
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com