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 CR...
Search
KONDO Uchio
November 13, 2020
Technology
0
1.1k
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.4k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
240
Narrative of Ruby & Rust
udzura
0
210
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
430
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
760
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
720
Device access filtering in cgroup v2
udzura
1
870
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
800
Other Decks in Technology
See All in Technology
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
160
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
4
250
kernelvm-brain-net
raspython3
0
420
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
今日からはじめるプラットフォームエンジニアリング
jacopen
8
2k
Azure & DevSecOps
kkamegawa
2
170
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
140
Part2 GitHub Copilotってなんだろう
tomokusaba
2
590
AndroidアプリエンジニアもMCPを触ろう
kgmyshin
2
630
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
470
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
Bash Introduction
62gerente
612
210k
A Tale of Four Properties
chriscoyier
159
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
840
Facilitating Awesome Meetings
lara
54
6.3k
Designing for humans not robots
tammielis
253
25k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.5k
KATA
mclloyd
29
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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ͱͷ ౷߹Λݟਾ͑ͯ։ൃΛਐΊ͍ͯΔɻ