αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ CRIU 3.18 αžŠαŸ‚αž›αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αžŸαŸ’αžŠαžΆαžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž›αžΈαž“αž»αž…

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸ CRIU 3.18 (Checkpoint and Restore In Userspace) αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž“αž·αž„αžŸαŸ’αžŠαžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž…αž“αŸ’αž›αŸ„αŸ‡αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αž€αž‰αŸ’αž…αž”αŸ‹αž§αž”αž€αžšαžŽαŸαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž½αž™ αž¬αž€αŸ’αžšαž»αž˜αž˜αž½αž™ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αž“αŸ’αžαž€αžΆαžšαž„αžΆαžšαž–αžΈαž‘αžΈαžαžΆαŸ†αž„αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΎαž„αžœαž·αž‰ αž¬αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αŸ†αž”αŸ‚αž€αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžšαž½αž…αž αžΎαž™αŸ” αž›αŸαžαž€αžΌαžŠαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ GPLv2 αŸ”

αžαŸ†αž”αž“αŸ‹αž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž”αž…αŸ’αž…αŸαž€αžœαž·αž‡αŸ’αž‡αžΆ CRIU αžšαž½αž˜αž˜αžΆαž“αž€αžΆαžšαž’αžΆαž“αžΆαž±αŸ’αž™αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž‘αžΎαž„αžœαž·αž‰αžŠαŸ„αž™αž˜αž·αž“αžšαŸ†αžαžΆαž“αžŠαž›αŸ‹αž€αžΆαžšαž”αž“αŸ’αžαž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΌαžšαž’αž„αŸ’αžœαŸ‚αž„ αž€αžΆαžšαž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž”αž“αŸ’αžαž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸƒαž’αž»αž„αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€ αž€αžΆαžšαž–αž“αŸ’αž›αžΏαž“αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΊαž (αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαž€αžΆαžšαž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜) αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΊαžŽαŸ‚αž› αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαžŠαŸ„αž™αž˜αž·αž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‘αžΎαž„αžœαž·αž‰ αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αžΌαžšαž‡αžΆαž‘αŸ€αž„αž‘αžΆαžαŸ‹αŸ” αž€αž·αž…αŸ’αž…αž€αžΆαžšαž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšαžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαž€αžΆαžšαž„αžΆαžšαž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž„ αž’αŸ’αžœαžΎαž±αŸ’αž™αž˜αžΆαž“αžαž»αž›αŸ’αž™αž—αžΆαž–αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‘αž½αž“αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αž (αž”αŸ†αž”αŸ‚αž€αž‘αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž–αžΈαž…αž˜αŸ’αž„αžΆαž™) αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αžαžαž“αŸƒ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ†αž‘αž»αž„αž–αŸαž›αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž—αžΆαž‚αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž¬αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈαžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž›αž»αž”αž…αŸ„αž›αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” CRIU αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž»αž„αžαžΊαž“αŸαžšαžŠαžΌαž…αž‡αžΆ OpenVZ, LXC/LXD αž“αž·αž„ Docker αŸ” αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CRIU αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αž…αž˜αŸ’αž”αž„αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈ:

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования CRIU Π±Π΅Π· ΠΏΡ€Π°Π² root.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сигнала SIGTSTP (ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ сигнал приостановки выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ SIGSTOP ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Β«β€”skip-file-rwx-checkΒ» для пропуска ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (r/w/x) ΠΏΡ€ΠΈ восстановлСнии.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠΏΡ†ΠΈΠΉ IP_PKTINFO ΠΈ IPV6_RECVPKTINFO.
  • Для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ARM Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ останова.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° оптимизация Ρ‚ΠΎΡ‡Π΅ΠΊ сохранСния для сильно Ρ€Π°Π·Ρ€Π΅ΠΆΠ΅Π½Π½Ρ‹Ρ… ghost-Ρ„Π°ΠΉΠ»ΠΎΠ² (β€”ghost-fiemap).

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹