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
210
Narrative of Ruby & Rust
udzura
0
180
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.6k
Talk of RBS
udzura
0
400
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
720
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
690
Device access filtering in cgroup v2
udzura
1
800
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
750
Other Decks in Technology
See All in Technology
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
260
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
150
生成AIのビジネス活用
seosoft
0
110
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.1k
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
9
7.7k
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
20250116_JAWS_Osaka
takuyay0ne
2
200
My small contributions - Fujiwara Tech Conference 2025
ijin
0
1.4k
なぜfreeeはハブ・アンド・スポーク型の データメッシュアーキテクチャにチャレンジするのか?
shinichiro_joya
2
470
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
150
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
850
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
244
12k
Designing Experiences People Love
moore
139
23k
Navigating Team Friction
lara
183
15k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Documentation Writing (for coders)
carmenintech
67
4.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Making Projects Easy
brettharned
116
6k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Building Applications with DynamoDB
mza
93
6.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
For a Future-Friendly Web
brad_frost
176
9.5k
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ͱͷ ౷߹Λݟਾ͑ͯ։ൃΛਐΊ͍ͯΔɻ