Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CRIUをホスティングで試していく #hostingcasual / My CRIU Life...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
KONDO Uchio
March 22, 2019
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CRIUをホスティングで試していく #hostingcasual / My CRIU Life in Progress
@ホスティングカジュアル #5
直近のイベント宣伝等を抜いています。
KONDO Uchio
March 22, 2019
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.6k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
310
Narrative of Ruby & Rust
udzura
0
270
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.8k
Talk of RBS
udzura
0
500
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
860
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
810
Device access filtering in cgroup v2
udzura
1
1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
920
Other Decks in Technology
See All in Technology
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
140
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
160
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1.3k
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
130
自宅LLMの話
jacopen
1
650
手塩にかけりゃいいってもんじゃない
ming_ayami
0
610
不要なレビューをAIにまかせて AIコーディングの環境改善を加速した
shoota
1
230
生成 AI 実践ガイド (概略版) AIガバナンス編
asei
0
120
SONiCで構築・運用する生成AI向けパブリッククラウドネットワーク ~実装編~
sonic
0
280
「勝手に広まる」人気 AI エージェントを爆速で作ろう!(AWS Summit Japan 2026講演資料)
minorun365
PRO
8
1.9k
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
240
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Thoughts on Productivity
jonyablonski
76
5.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Bash Introduction
62gerente
615
220k
Paper Plane (Part 1)
katiecoart
PRO
0
9.1k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Transcript
ϗεςΟϯάͰ$3*6Λ͓͏ ۙ౻Ӊஐ࿕(.01FQBCP *OD ϗεςΟϯάΧδϡΞϧ <)BDPOJXB$3*6ਐḿ><ݕࡧ>
γχΞɾϓϦϯγύϧΤϯδχΞ ۙ౻ Ӊஐ࿕ / @udzura https://blog.udzura.jp/ Uchio Kondo ٕज़෦ ٕज़ج൫νʔϜ
ίϯςφ
None
ϗεςΟϯάʹಋೖ
Web Proxy Web Request Dispatcher FastContainer Runtime CMDB ❌ FastContainer
Killed 1. Check 2. Boot 3. Forward 4. Terminate
ϦΫΤετ Ұఆ࣌ؒͷఀࢭ ఀࢭޙͷ࣍ͷϦΫΤετͰ Ұ͔Βىಈ OHY@NSVCZ $POUBJOFST ݱࡏͷڍಈ
࠶ىಈͷίετ
None
Memory dump Network conf File descriptors cgroup params ...... CRIU
Target process Syscalls, /proc files ... Kernel $3*6ͰΠϝʔδΛ࡞ɺ͔ͦ͜Βىಈ ˞ࢀߟ
ϦΫΤετ ఀࢭޙͷ࣍ͷϦΫΤετͰ $3*6Πϝʔδ͔Βىಈ OHY@NSVCZ $3*6ಋೖ ඇಉظͰ Πϝʔδͷ࠶࡞ $POUBJOFST $3*6JNBHF
ޮՌଌఆ
ڥ Ұ෦ Bench(Bastion) Compute(Users) Web Proxy Core API CMDB 8
Core 51GB Mem 1 Core 2GB Mem
ܭଌ݁Ռ
ܭଌ݁Ռ DPOUFOUSPPUFYU
ܭଌ݁Ռ
ܭଌ݁Ռ 3FTQPOTF5JNF NT ✴"QBDIF͕Ϩεϙϯε Λฦͨ࣌ؒ͠Λൺֱɻ ✴"QBDIFͯ͢ͷϫʔ Χʔ্ཱ͕͕ͪΔલʹ ϨεϙϯεΛฦͤΔ͜ ͱ͕ޙʹΘ͔ͬͨ
࣮
ϦετΞ͞ΕͨϓϩηεΛɺ )BDPOJXBͷԼʹ͍ͨ͠ɻ Haconiwa sv-sv \- criu restore \- Container Haconiwa
sv-sv \- Haconiwa sv \- Container ௨ৗىಈ CRIUܦ༝ͷىಈ ϑοΫॲཧ ओʹ͜͜Ͱߦ͏ ʁʁʁ
ํ๏ TXSLNPEF SFTUPSFTJCMJOH shd: vagrant@pts/0 \_ -bash \_ sudo
../mruby/bin/mruby example/restore_child.rb \_ ../mruby/bin/mruby example/restore_child.rb <- libcriuΛݺͼग़ͨ͠mruby script \_ /usr/local/apache2/bin/httpd -DFOREGROUND -X <- ͜Ε͕ίϯςφϓϩηε \_ /usr/local/sbin/criu swrk 6 <- ͜Ε͕swrkϞʔυͰ্ཱ͕ͪͬͨαʔϏεͰɺ cr_restore_tasks() ͜͜ͰಡΜͰ͍Δ \_ sh -c ps auxf <- ֬ೝͷͨΊʹ system() ͨ͠ͷ \_ ps auxf
$3*6ͷTXSLNPEF w·ͣTXSLϞʔυͷઆ໌Ͱ͕͢ɺ͜ΕMJCDSJVͰؔΛݺͼग़ͨ͠ࡍʹɺ ΞυϗοΫʹDSJVόΠφϦͦͷͷΛݺͼग़ͯ͠αʔϏεΛ࡞͠ɺݟ͔͚ ্αʔϏεͳ͠ͰDSJVͷػೳΛ͏ϞʔυͰ͢ʢਤ̎ࠨʣɻ
DMPOF $-0/&@1"3&/5 $ ./clone-tarou parent --use-clone-parent [!] Hey, maybe a
new sibling is added 26627 pts/1 S+ 0:00 \_ ./clone-tarou parent --use-clone-parent 26628 pts/1 S+ 0:00 \_ clone-tarou tarou --use-clone-parent 26629 pts/1 S+ 0:00 \_ clone-tarou jirou [!] exit: PID=26628 [!] exit: PID=26629 <DMPOFͷ$-0/&@1"3&/5ϑϥάͷڍಈΛ؍͢Δ><ݕࡧ>
clone(fun, ..., CLONE_PARENT|CLONE_NEWPID) ɺΧʔωϧͷόʔδϣϯʹΑͬͯ ಈ͔ͳ͍Β͍͠ $3*6ͷίϝϯτΑΓ
ํ๏ FYFDDNEͬͪ͜Λ࠾༻ Haconiwa sv \- criu restore \- Container
Haconiwa sv \- haconiwa _restored \- Container FYFD XBJU wDSJVίϚϯυͰϦετΞ͔ͯ͠ΒɺҙͷϓϩάϥϜʹFYFDWF Ͱ͖Δ wFYFDલʹGPSLͨ͠ϓϩηεΛɺ৽͍͠ϓϩάϥϜଆͰXBJU Ͱ͖Δ
&YUFSOBMCJOENPVOUରԠ /path/to/pivot_root `- / (bind-mount self) `- /etc -> /other/etc
`- /home/foo -> /other2/home `- /var/log -> /other3/log wSPPUGTͷ֎ଆʹ͋ΔϑΝΠϧγεςϜSPPUΛCJOENPVOUͯ͠ɺ DISPPUQJWPU@SPPU ͔ͯ͠Β͑ΔΑ͏ʹ͢Δ͜ͱ͕Α͋͘Δ™ wͦ͏͍͏֎ଆͷϑΝΠϧγεςϜΛ$3*6͕ཧղͰ͖ΔΑ͏ʹ͢Δ ͜͜ʹpivot_root
&YUFSOBMCJOENPVOU͕͏·͍͔͘Μ
Φϓγϣϯ͗͢ΜͶΜ
Ṗʹͭͳ͕Βͳ͍ωοτϫʔΫ
ωοτϫʔΫϩοΫ͕1"5)͕ͳ͍ͷͰ ղআ͞Εͳ͍ɻ
ͯ͠Δʁ Hotstart Start from CRIU
Web Proxy Web Request Dispatcher FastContainer Runtime CMDB ❌ FastContainer
Killed 1. Check 2. Boot 3. Forward 4. Terminate 'BTU3FNPUF$IFDLͱ͍͏ NHFNΛར༻͍ͯͬͯ͠Δ͕ɺ ઃఆ͕มʁ
'BTU3FNPUF$IFDLͷύϥϝʔλௐ
None
IUUQTHJUIVCDPNIBDPOJXBIBDPOJXBQVMMT RJT"QS JT"DMPTFE ͦͷ΄͔ wࡉʑͱࠔͬͨ͜ͱ͕͕͋ͬͨɺׂͱҰ௨ΓରԠͰ͖ͨؾ͕͢Δɻ wԼهࢀߟΣοϒϖʔδͰ͢
ࠓޙ
ϦϦʔεͰ͖ΔΑ͏ؤுΔͧʙ OPEB͞Μ͕
(SFOBEJOFͱ͍͏ͷΛ࡞ͬͨ
None