Linux์—์„œ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ์‹œ์Šคํ…œ์ธ CRIU 3.16 ์ถœ์‹œ

์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•˜๋„๋ก ์„ค๊ณ„๋œ CRIU 3.16(์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ๊ฒ€์‚ฌ์  ๋ฐ ๋ณต์›) ํˆดํ‚ท์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํˆดํ‚ท์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜ ๋˜๋Š” ๊ทธ๋ฃน์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ ๋‹ค์Œ ์ด๋ฏธ ์„ค์ •๋œ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๊ณ ๋„ ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ… ํ›„๋‚˜ ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ์˜ ์ž‘์—…์„ ํฌํ•จํ•˜์—ฌ ์ €์žฅ๋œ ์œ„์น˜์—์„œ ์ž‘์—…์„ ์žฌ๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

CRIU ๊ธฐ์ˆ ์˜ ์‘์šฉ ๋ถ„์•ผ์—๋Š” ์žฅ๊ธฐ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์—ฐ์†์„ฑ์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ณ  OS ์žฌ๋ถ€ํŒ… ๋ณด์žฅ, ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ์˜ ์‹ค์‹œ๊ฐ„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ๋Š๋ฆฐ ํ”„๋กœ์„ธ์Šค ์‹œ์ž‘ ๊ฐ€์†ํ™”(์ดˆ๊ธฐํ™” ํ›„ ์ €์žฅ๋œ ์ƒํƒœ์—์„œ ์ž‘์—… ์‹œ์ž‘ ๊ฐ€๋Šฅ), ์ปค๋„ ์ˆ˜ํ–‰ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์ง€ ์•Š๊ณ  ์—…๋ฐ์ดํŠธ, ์žฅ๊ธฐ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ €์žฅ ์ถฉ๋Œ ๋ฐœ์ƒ ์‹œ ์ž‘์—…์„ ์žฌ๊ฐœํ•˜๊ธฐ ์œ„ํ•œ ์ปดํ“จํŒ… ์ž‘์—…, ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ๋‹ค๋ฅธ ๋จธ์‹ ์˜ ํ”„๋กœ์„ธ์Šค ๋ณต์ œ(์›๊ฒฉ ์‹œ์Šคํ…œ์œผ๋กœ ํฌํฌ), ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์—์„œ ๋ถ„์„์„ ์œ„ํ•ด ์ž‘๋™ ์ค‘์ด๊ฑฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ทจ์†Œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. CRIU๋Š” OpenVZ, LXC/LXD ๋ฐ Docker์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CRIU๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๊ธฐ๋ณธ Linux ์ปค๋„์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ:

  • ์ƒˆ PID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๋งˆ์šดํŠธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์ €์žฅ๋œ ํ”„๋กœ์„ธ์Šค ์Šค๋ƒ…์ƒท์„ ๋ณต์›ํ•˜๋Š” cru-ns ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ „ PID๊ฐ€ ์‹œ์Šคํ…œ์—์„œ ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ๊ฒฝ์šฐ ๋‹ค๋ฅธ PID๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ค‘์ฒฉ๋œ ์˜๋ฅ˜ ํ”„๋กœํ•„ ์ƒํƒœ์˜ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • nftables๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ ๋ฆฌ์†Œ์Šค ์ฐจ๋‹จ ๋ฐ ์ฐจ๋‹จ ํ•ด์ œ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์ „ ์ƒ์„ฑ๋œ veth ์žฅ์น˜ ๋ณต์›์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์กด ํฌ๋“œ์— ๋Œ€ํ•œ ์ปจํ…Œ์ด๋„ˆ ๋ณต์› ์ง€์›์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • RPC ํด๋ผ์ด์–ธํŠธ์˜ ๊ฒฝ์šฐ PID ์žฌ์‚ฌ์šฉ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ pidfd ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Images/ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ชจ๋“  proto ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ผ์ด์„ ์Šค๊ฐ€ MIT๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€