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.3k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
220
Narrative of Ruby & Rust
udzura
0
190
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.6k
Talk of RBS
udzura
0
410
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
730
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
700
Device access filtering in cgroup v2
udzura
1
810
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
760
Other Decks in Technology
See All in Technology
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
400
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
540
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
280
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
970
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
What's in a price? How to price your products and services
michaelherold
244
12k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Automating Front-end Workflow
addyosmani
1368
200k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
For a Future-Friendly Web
brad_frost
176
9.5k
Music & Morning Musume
bryan
46
6.3k
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ͱͷ ౷߹Λݟਾ͑ͯ։ൃΛਐΊ͍ͯΔɻ