MRAS 项目技术调研报告- CRIU-Checkpoint/Restore in User-Space

MRAS 项目技术调研报告- CRIU-Checkpoint/Restore in User-Space

Definition History Scenarios Mechanism Performance End MRAS 项目技术调研报告 CRIU-Checkpoint/Restore in User-space MRAS team Distributed & Embedded System Lab 2015 年 4 月 8 日 . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End Catalogue I What’s the CRIU I The Development of C/R I CRIU’s scenarios I CRIU’s mechanism I How is CRIU tested? I What can change after CRIU? . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End What’s the CRIU C/R is the ability to save states of processes and to restore them later . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End The Development of C/R 1. Berkeley Lab Checkpoint/Restart (BLCR) (2003) - Load a kernel module and link with a library 2. DMTCP: Distributed MultiThreaded CheckPointing (2004-2006) - Preload a library 3. OpenVZ (2005) - OpenVZ kernel 4. Linux Checkpoint/Restart by Oren Laadan (2008) - A non-mainline kernel 5. CRIU (2011) . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End CRIU in userspace . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End CRIU’s scenarios 1. Live migration - Useful in cluster 2. Kernel upgrade w/o reboot 3. Slow services startup 4. Periodic snapshots 5. Advanced debugging and testing . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End CRIU’s scenarios . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End CRIU’s mechanism - Dump I Parasite code - Receive file descriptors - Dump memory content - Prctl(), sigaction, pending signals, timers, etc. I Ptrace - freeze processes - Inject a parasite code I Netlink - Get information about sockets, netns I procfs . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End CRIU’s mechanism - Restore I Collect shared objects I Restore name-space I Create a process tree - Restore SID, PGID - Restore objects, which should be inherited I Files, sockets, pipes, ... I Restore per-task properties. I Restore memory I Call sigreturn . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End What are already supported? I Process tree linkage I Pending signals I Multi-threaded apps I Iterative snapshots I All kinds of memory mappings I VDSO I Terminals, groups, sessions I LXC,OpenVZ containers and docker I Open files (shared and unlinked) I Established TCP connections I Pipes, Fifo-s, IPC, ... .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End What are already supported? I Posix timers I Unix sockets, Packet sockets I Convert OpenVZ images I Name-spaces (net, mount, ipc) I Non-posix files (epoll, inotify) . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End Kernel impact I 150+ patches merged I 10 patches in flight I 11 new features appeared I 2 new features to come . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End Comparison to other CR projects Please Check Comparison to other CR projects.pdf . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End How is CRIU tested? I ZDTM – a set of unit-tests I Real-life applications - Apache,Nginx,MySQL,MongoDB,Oracle* - Ssh/sshd, openvpn*, cron, sendmail - Make && gcc ,Java - Screen + bash, top, tcpdump, tar/bz2 - LXC - VNC server + GUI application . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End What can change after CRIU I Per-task statistics I Namespaces’ IDs I Process start time I Mount points IDs I Sockets IDs I VDSO . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告 Definition History Scenarios Mechanism Performance End 谢谢! Q&A . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. MRAS team MRAS 项目技术调研报告.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us