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
Miehistö: A "recommended" stack to integrate CRIU into existing systems
Search
KONDO Uchio
November 13, 2020
Technology
0
970
Miehistö: A "recommended" stack to integrate CRIU into existing systems
邦題 - Miehistö: CRIUによるチェックポイント・リストアの 導入と運用支援ツール
@WSA研究会 #7
https://wsa.connpass.com/event/187128/
KONDO Uchio
November 13, 2020
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.1k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
130
Narrative of Ruby & Rust
udzura
0
140
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.4k
Talk of RBS
udzura
0
320
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
650
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
580
Device access filtering in cgroup v2
udzura
1
670
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
570
Other Decks in Technology
See All in Technology
認知症フレンドリーテックとスタックチャン
naokiuc
0
150
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
380
いいたいことちゃんという
tkengo
0
230
DMM.com アルファ室採用案内資料
hsugita
1
220
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
280
Handling focus in 2024
tahia910
0
220
The AI Revolution Will Not Be Monopolized: Behind the scenes
inesmontani
PRO
1
160
成長をサポートするピープルマネジメントのやり方
sioncojp
8
950
Improve Your Development Workflow with Gemini Code Assist
meteatamel
0
120
生産性向上チームの紹介
cybozuinsideout
PRO
1
910
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
8
620
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
Optimizing for Happiness
mojombo
370
69k
Documentation Writing (for coders)
carmenintech
61
4k
Happy Clients
brianwarren
92
6.4k
Being A Developer After 40
akosma
66
580k
Faster Mobile Websites
deanohume
300
30k
Testing 201, or: Great Expectations
jmmastey
29
6.4k
Code Review Best Practice
trishagee
56
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
The Cult of Friendly URLs
andyhume
74
5.7k
Transcript
ۙ౻Ӊஐ࿕(.01FQBCP *OD ୈճ84"ݚ .JFIJTUÖ $3*6ʹΑΔνΣοΫϙΠϯτɾϦετΞͷ ಋೖͱӡ༻ࢧԉπʔϧ
ۙ౻Ӊஐ࿕6DIJP,POEP w(.0ϖύϘٕज़ج൫νʔϜ wؔ৺ൣғ3VCZݴޠɺ-JOVYɺ $POUBJOFSTɺγεςϜϓϩάϥϛϯά w84"ݚҎདྷͷൃදͰ͢
5P$ w͡ΊʹʢϦιʔεར༻ͷޮԽͱ$3*6ʣ w$3*6ͷར༻ʹ͋ͨͬͯͷͷཧ wࠓճͷఏҊ wʹର͢ΔΞϓϩʔν wఏҊʹؔ͢Δݱࡏͷ՝ɾ wؔ࿈ٕज़ɺઌߦݚڀɺ·ͱΊ
Ϧιʔεͷޮతͳ׆༻ wΦʔτεέʔϧʢ"84"VUP4DBMJOHɺ,VCFSOFUFTͷ"VUPTDBMFSʣ w'BB4ʢ"84-BNCEB $MPVE3VOʣ wϚΠάϨʔγϣϯʹΑΔஔϊʔυͷมߋ wىಈ͕࣌ؒϘτϧωοΫʹͳΔ w -BNCEBͱίʔϧυελʔτ w )FSPLVɺ$MPVE3VOͷॳճىಈ࣌ͷΦʔόϔου
w 'BTU$POUBJOFSʢদຊɺۙ౻ʣ
ΫϥυΠϯελϯεͱىಈ࣌ؒ w"84-BNCEB w ࣮ߦίϯςΩετͷઃఆʹ͕͔͔࣌ؒΓ·͢ɻ·ͨɺʮϒʔτετϥοϓʯ͕ඞཁͳͨ Ίɺ-BNCEBؔΛݺͼग़ͨ͢ͼʹएׯͷϨΠςϯγʔ͕ൃੜ͠·͢ɻ w)FSPLV%ZOPTMFFQJOH w *GBTMFFQJOHXFCEZOPSFDFJWFTXFCUSB⒏D JUXJMMCFDPNFBDUJWFBHBJOBGUFSB TIPSUEFMBZ
IUUQTEPDTBXTBNB[PODPNKB@KQMBNCEBMBUFTUEHSVOUJNFTDPOUFYUIUNMɹ IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFTGSFFEZOPIPVSTEZOPTMFFQJOH
DG'BTU$POUBJOFS wদຊɾۙ౻ΒͷϦΫΤετʹԠ͡ίϯςφΛஔɾϦιʔε੍ޚ͢Δ ΞʔΩςΫνϟʔͰɺίϯςφͷىಈ࣌ؒʹݴٴ w ࣍ʹɼίϯςφ͕ऩ༰͞Ε͍ͯΔ)PTU04͕ಥൃతͳোͰఀࢭͨ͠߹ͷϑϩʔʹ͍ͭͯड़Δ ͜ͷ߹ɼऩ༰αʔόʹίϯςφ͕ىಈ͍ͯ͠ͳ͍ͨΊɼ$POUBJOFS%JTQBUDIFSʹΑͬͯ֘ίϯς φΛىಈ͠ɼ)551ϦΫΤετΛసૹ͢Δɽ w$3*6ʹΑΔରԠྫʢদຊΒɺʣ
DGϥΠϒϚΠάϨʔγϣϯ IUUQTMJCWJSUPSHNJHSBUJPOIUNM w৽͍͠ϗετͰ৽͘͠ىಈ͢ΔͷͰɺμϯλΠϜ͕͋Δ wطଘͷ7.ϕʔεͷͷͰແࢹͰ͖ͳ͍ wίϯςφɾϓϩηε૬ରతʹىಈ͕ૣ͍ͱ͍͑ɺͦΕͰʹ ͳΖ͏ͱࢥΘΕΔ
ىಈ࣌ؒͷݮख๏ w$3*6ʢ$IFDLQPJOUBOE3FTUPSF*O6TFSTQBDFʣ w1*%ɺϨδελͷঢ়ଶɺϓϩηεଐੑʢVJE΄͔ʣΛอଘɺ࠶ੜ͢Δ wىಈ࣌ؒॖͷԠ༻ʢদຊΒʣ
$3*6ͷͳͲ w ӡ༻ʹؔ͢ΔϊϋɺنͳͲͷੵ͕গͳ͍ w Πϝʔδ୯Ұͷϗετʹੜ͞ΕΔେྔͷϑΝΠϧ܈Ͱ͋ΓɺϚ ΠάϨʔγϣϯɾҠಈ͕͍͠ w αʔόΠϯελϯεͷੜϥϯλΠϜ͝ͱʹ$3*6ͷར༻ํ๏͕· ͪ·ͪͰɺֶशίετҠߦίετ͕͋Δ
ӡ༻ͷࠔ͞ w$3*6ͷྺ࢙ʹ1P$ɺʹ w҆ఆੑࣗମ্ͨ͠ wҰํͰɺΧʔωϧͷ৽ػೳʢFH5JNF/BNFTQBDFʣʹԠͯ͡։ൃ ͕Ճ͞ΕΔͳͲɺࠓΞΫςΟϒʹมߋ͞Ε͍ͯΔ wݱ࣮ͷϓϩδΣΫτʹͲ͏ಋೖ͢Δ͔ɺఆ൪ͷߏ͕ͳ͍ wݹ͍ใଟ͍
ϚΠάϨʔγϣϯͷোน wΠϝʔδϑΝΠϧ͕ଟ͘ɺαΠζ͕େ͖͍͜ͱ͋Δɻ wϊʔυίϐʔͷίετແࢹͰ͖ͳ͍Ͱ͋Ζ͏ wܝࣔͨ͠ਤ୯७ͳ SVCZϓϩάϥϜͷ Πϝʔδྫ
ڥʹΑΔ$3*6ӡ༻ͷҧ͍ w֓೦ͷҰ෦ڞ௨͢Δ͕ɺίϚϯυମܥ͕ҧ͏ w%PDLFSdocker checkpoint create / docker start --checkpoint
w-9$lxc-checkpoint / lxc-checkpoint -r wH7JTPSrunsc checkpoint / runsc create && runsc restore
ڥʹΑΔ$3*6ӡ༻ͷҧ͍ wඇίϯςφ7.ͷνΣοΫϙΠϯτϦετΞͷӡ༻ʹ੍ݶ͕ଟ͍ w ϗετͷ1*%OBNFTQBDFʹ͋ΔΑ͏ͳϓϩηεΛ$3͢Δʹ͋ͨͬͯɺ1*%ͷใؚΊ ͯͷϦετΞΛߦ͏ͨΊɺ͠νΣοΫϙΠϯτ࡞͔ΒϦετΞͷؒʹͦͷ1*%͕ར༻͞Ε ͯ͠·͏ͱϦετΞʹࣦഊͯ͠͠·͏ɻ w΄͔ඪ४ೖग़ྗͷ55:ͷѻ͍ɺCJOENPVOU࣌ͷύεࢦఆ໌ࣔͳͲ
.JFIJTUÖͷ։ൃ •miehistod w αʔϏεͱΠϝʔδΛ࡞ɺཧ •runmh w ϗετͱಉͷڥΛ࡞͢Δ࠷ খͷίϯςφ •mhctl wଞcriuͳͲ
.JFIJTUÖͷجຊػೳ wᶃαʔϏε࡞ wᶄαʔϏεͷΠϝʔ δ࡞ wᶅΠϝʔδ͔ΒͷϦ ετΞ wʢΠϝʔδͷϊʔυ ؒಉظʣ ᶃ ᶄ
ᶅ
ऄ(SFOBEJOFˠ.JFIJTUÖ w3VCZ,BJHJͰൃදͨ͠(SFOBEJOFΛվ໊ɺվम͍ͯ͠Δɻ IUUQTTQFBLFSEFDLDPNVE[VSBUIFGBTUFTUXBZUPCPPUTUSBQSVCZPOSBJMT
ऄ(SFOBEJOFˠ.JFIJTUÖ w(SFOBEJOF୯ҰόΠφϦͰ͋Γɺ·ͨɺෳͷαʔϏεΛཧͰ ͖ͳ͍ͳͲ͍ͮΒ͍͕ଟ͔ͬͨɻ·ͨɺඇίϯςφ7.ͷରԠ Λओ࣠ʹஔ͍͍ͯͨɻ w.JFIJTUÖͱͯ͠αʔϏεͱΫϥΠΞϯτɺΠϯελϯεϥϯλΠϜΛ ͠ɺӡ༻ͷརศੑʢΫϥΠΞϯτ͕ผͷϊʔυʹ͍ͯྑ͍ͳ ͲʣෳͷαʔϏεىಈʹରԠ͢ΔͳͲվળ͍ͯ͠Δ
ऄ`)PXUPQSPOPVODF.JFIJTUÖ wl.JFIJTUÖzJTB'JOOJTIXPSENFBOJOHl$3&8z w㷦NJF 㷺IJTUSFGIUUQTFOXJLUJPOBSZPSHXJLJNJFIJTU$# w Ö PͷޱΛͯ͠FΛൃԻ͍ͯͩ͘͠͞
ͷΞϓϩʔν 8*1 w ʹ͍ͭͯޙड़͢Δଞख๏ͱൺͯίϯϙωϯτ͕গͳ͘ɺڥ ͷ࡞ӡ༻͕༰қͰ͋Δͱߟ͑ΒΕΔɻ ·ͨɺίϯςφԽ͍ͯ͠ͳ͍Πϯελϯε্ͷαʔϏεʹରԠ͢Δ w ʹ͍ͭͯϊʔυؒͷΠϝʔδΛόοΫάϥϯυಉظ͢Δɻ ಉظͷઓུબՄೳʹͳΔʢSTZODɺΦϒδΣΫτετϨʔδଞʣ w
ʹ͍ͭͯNJFIJTUPEͱͦͷԼͷΠϯελϯεΛ͠ɺϓϥΨϒ ϧʹϥϯλΠϜؒͷҧ͍ΛٵऩՄೳʹ͍ͯ͠Δɻ DG0$*3VOUJNFTQFDεϖοΫΛຬͨͨ͠ϥϯλΠϜՄ
՝ʹ͍ͭͯ w ݱ࣮తͳߏͱຊʹ౷߹Ͱ͖Δ͔ʁ w ಉظઓུʹ͍ͭͯɺΑΓߴͳख๏͕ͳ͍͔ʁ
Ҋ,VCFSOFUFTͳͲͱ࿈ܞͰ͖ͳ͍͔ w.JFIJTUÖͷελοΫશମΛɺ7JSUVBM,VCFMFUͳͲͷٕज़Λհͯ͠ ཧͰ͖ͳ͍͔ʁ wͦ͏͢Δͱɺϊʔυͷཧɺ ΠϯελϯεͷཧΛ,VCFSOFUFTͷ ӡ༻ʹࡌͤΔ͜ͱ͕Ͱ͖ΔͷͰɺ ӡ༻ͷ༰қੑ͕֨ஈʹ্͕Δͱ ࢥΘΕΔɻ
Πϝʔδͷಉظॲཧ wಉظΛόοΫΤϯυͰߦ͏༧ఆ͕ͩɺଈ࣌ʹΠϝʔδΛ࡞ͬͯϚΠά Ϩʔγϣϯ͢Δ߹͍ͱߟ͑ΒΕΔɻ w*ODSFNFOUBMEVNQTͳͲΛར༻Ͱ͖ͳ͍͔ʁ w9VΒͷݚڀʢ4MFEHFʣʹΑΔͱɺ ਵ࣌ϝϞϦμϯϓΛଞϊʔυʹసૹ ͢Δ͜ͱͰϚΠάϨʔγϣϯͷ ߴԽ͕Ͱ͖Δͱ͍ͯ͠Δɻ 9VΒͷจΑΓ *&&&$-06%
IUUQTDSJVPSH*ODSFNFOUBM@EVNQT
ؔ࿈ٕज़ɺઌߦݚڀ w1)BVMʢ3#PVDIFS dʣ w7PZBHFSʢ4/BEHPXEB ʣ w.BΒͷ࣮ʢ-.B ʣ w4MFEHFʢ#9V ʣ wʮίϯϙωϯτͷ౷߹ӡ༻ੑɺεέʔϥϏϦςΟɺແࢹͰ͖Δఔͷ
μϯλΠϜΛߟྀͨ͠ʯͷ4MFEHFͷΈ
·ͱΊ wαʔόϦιʔεͷ༗ޮ׆༻ͷधཁͱɺͦΕʹ͏Πϯελϯεͷىಈ ͷߴԽϚΠάϨʔγϣϯͷधཁ͕͋ΔɻͦͷͨΊͷπʔϧͱͯ͠ ͷ$3*6͕༗ྗͰ͋ΔɻҰํͰɺ$3*6ͷಋೖʹະͩӡ༻্ͷোน͕ ଟ͘ɺͦͷোนΛݮ͘͢.JFIJTUÖͱ͍͏໊ͷϛυϧΣΞ܈Λ ։ൃ͍ͯ͠Δɻ w.JFIJTUÖઌߦ͢Δ4MFEHFͳͲͱൺΕૈΓͱ͍͏ଞͳ͍͕ɺ %PDLFSҎ֎ͷίϯςφ7.ߏͳͲͷରԠɺ,VCFSOFUFTͱͷ ౷߹Λݟਾ͑ͯ։ൃΛਐΊ͍ͯΔɻ