Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes時代のストレージ

 Kubernetes時代のストレージ

2020/12/15に開催されたSNIA-Jトレンドセミナーでの講演資料です。

Yukinori Sakashita

December 15, 2020
Tweet

More Decks by Yukinori Sakashita

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ‣ٕज़ݚڀΤϦΞ  ӡ༻؅ཧٕज़  Ϋϥ΢υ  αʔόετϨʔδ  ࣗಈࣗ཯ίϯϐϡʔςΟϯά

     "*.- // ).. #BZFTJBO/FUXPSL  ‣৬ྺ  ೔ཱ੡࡞ॴ 㾎தԝݚڀॴԣ඿ݚڀॴ ओ೚ݚڀһ  㾎ւ֎ݚڀॴ!γϦίϯόϨʔ ϥϘ௕   αʔόϕϯμʔ ςΫχΧϧ4& 2 ࡔԼ޾ಙ ത࢜  :VLJOPSJ4BLBTIJUB 1I% ‣ ϠϑʔגࣜձࣾθοτϥϘגࣜձࣾ ‣ 4/*"೔ຊࢧ෦ٕज़ҕһձ෭ҕһ௕ ‣ 4/*"5FDIOJDBM$PVODJM"EWJTPS
  2. ίϯςφͱ͸ 5 HW(CPU/Mem/NW/Disk) Hypervisor HW OS Container Runtime bin/lib App

    Container App Container bin/lib App Container Ծ૝αʔό 7. ίϯςφ $POUBJOFS ‣ 7.͸Ϧιʔε $16.FNPSZ/FUXPSL%JTL Λ Ծ૝Խ ‣ ίϯςφ͸ϦιʔεͷԾ૝Խ͸ߦΘͳ͍ ɾϦιʔεͷ෼ׂͷΈ DHSPVQ OBNFTQBDF׆༻  ‣ ίϯςφΠϝʔδ͸ΞϓϦέʔγϣϯ ඞཁͳ ϥΠϒϥϦΛ·ͱΊͨ΋ͷ ‣ ίϯςφΠϝʔδΛίϯςφϥϯλΠϜ্Ͱ࣮ߦ ‣ ίϯςφ͸ಠཱͨ͠ϥΠϒϥϦΛ࣋ͭ୯ͳΔϓϩηε ‣ ίϯςφʹΞΫηε͢ΔϢʔβ͔ΒΈͨΒ 7.ͱಉ͡Α͏ʹಠཱͨ͠؀ڥʹݟ͑Δ ͚ͩ  GuestOS bin/lib App VM vCPU/Mem/ NW/Disk GuestOS bin/lib App VM vCPU/Mem/ NW/Disk GuestOS bin/lib App VM vCPU/Mem/ NW/Disk
  3. ίϯςφͷϝϦοτ 6 ‣ 7.ʹൺ΂ͯΠϝʔδαΠζ͕খ͍͞ ɾ7.7.Πϝʔδ 04Πϝʔδ ΞϓϦͷόΠφϦ (#ZUFT  ɾίϯςφΞϓϦͷόΠφϦ

    ؔ࿈ϥΠϒϥϦ .#ZUFT  ‣ σϓϩΠ͕࣌ؒ୹͍ ɾαΠζ͕খ͍ͨ͞Ίμ΢ϯϩʔυ͕࣌ؒ୹͍ ɾ7.ͱҧ͍Ծ૝ͷϚγϯͷ࡞੒͕ෆཁ ୯ͳΔϓϩηεىಈ  ‣ ίϯςφϥϯλΠϜʹΑΓ04ͳͲͷҧ͍Λٵऩ ‣ ԼҐͷ04ͷ؀ڥΛΫϦʔϯʹอͯΔ ϥΠϒϥϦ͕๲Ε্͕Βͳ͍  ɾͭͷΞϓϦ͔͠ར༻͠ͳ͍ϥΠϒϥϦΛԼҐͷ04ʹηοτΞοϓෆཁ
  4. ͳͥίϯςφͳͷ͔ 7 ‣ 8FCαʔϏεͷීٴʹΑΓɺٸͳϦιʔε૿ڧ࡟ݮͳͲͷཁ๬ͷߴ·Γ ‣ ඞཁͳՕॴͷΈϦιʔε૿ڧʹԠ͑ΒΕΔΑ͏ʹαʔϏεΞϓϦͷ ΞʔΩςΫνϟͷมԽ ϞϊϦγοΫ͔ΒϚΠΫϩαʔϏε΁ͷมԽ  ‣

    ηοτΞοϓ͔Βىಈ·Ͱͷ࣌ؒΛΑΓ୹͘ ‣ Ϋϥ΢υͷ7.΁ϩάΠϯͯ͠։ൃˠखݩͷ1$Ͱ։ൃΫϥ΢υ؀ڥ΁ σϓϩΠ͢Δ։ൃελΠϧ΁γϑτ ‣ ؀ڥґଘ͔Βͷ୤ग़ ɾ։ൃ؀ڥͰ͸ಈ͍ͨͷʹɺຊ൪؀ڥͰ͸ಈ࡞ͤͣʜ ݪҼҙ͍ࣝͯ͠ͳ͔ͬͨϥΠϒϥϦͷόʔδϣϯ͕ҧ͏ͳͲ
  5. ίϯςφΦʔέετϨʔγϣϯ 8 ‣ ෳ਺ͷίϯςφϥϯλΠϜΛ·ͱΊͯӡ༻؅ཧ͢Δͷ͕ ίϯςφΦʔέετϨʔγϣϯ ɾίϯςφϥϯλΠϜ FH%PDLFS  ɾίϯςφΦʔέετϨʔγϣϯ FH,VCFSOFUFT

    ,VCFSOFUFT HW OS Container Runtime bin/lib App Container App Container bin/lib App Container HW OS Container Runtime bin/lib App Container App Container bin/lib App Container HW OS Container Runtime bin/lib App Container App Container bin/lib App Container Container Network
  6. ,VCFSOFUFTͱ͸ 9 ‣ ίϯςφΦʔέετϨʔγϣϯͷ σϑΝΫτελϯμʔυ ‣ $/$'ͷΤίγεςϜͷத৺తଘࡏ $MPVE/BUJWF$PNQVUJOH'PVOEBUJPO  ‣

    ओͳػೳ  4FMGIFBMJOH  )PSJ[POUBMTDBMJOH  4FSWJDFEJTDPWFSZBOEMPBECBMBODJOH  "VUPNBUFESPMMPVUTBOESPMMCBDLT  4UPSBHFPSDIFTUSBUJPO
  7. ίϯςφͰͷσʔλӬଓԽͱ͸ 13 bin/lib Container App Logic Data bin/lib Container App

    Logic Data ‣ աڈ  ίϯςφ͸εςʔτ σʔλ Λ࣋ͭ ΞϓϦ͕ۤख εςʔτϑϧΞϓϦ ͩͬͨ  ίϯςφ͕σϓϩΠ͞ΕΔ౎౓ σʔλ͕ॳظԽ ‣ ݱࡏ ೥ࠒʙ   ϩδοΫͱσʔλΛ෼཭  σʔλΛ֎෦ετϨʔδʹอଘ ӬଓԽ
  8. $4* ‣ ίϯςφΦʔέετϨʔγϣϯ޲͚ͷετϨʔδ*'ͷඪ४࢓༷ ίϯτϩʔϧϓϨʔϯɺ#MPDL'JMF͕λʔήοτ  ‣ ओཁͳίϯςφΦʔέετϨʔγϣϯ͕࠾༻ ,VCFSOFUFT $MPVE'PVOESZ .FTPT

    %PDLFS FUD  ‣ ,VCFSOFUFTͰ͸ʹͯ("αϙʔτ ‣ ,VCFSOFUFTͷιʔεπϦʔ JOUSFF Ͱ؅ཧ͞Ε͍ͯͨετϨʔδ૷ஔʹ ؔ࿈͢Δ࣮૷͕ɺSEϕϯμͰಠࣗʹ։ൃఏڙ͢Δ͜ͱ͕Մೳ ‣ ,VCFSOFUFTͰ͸JOUSFF͸ഇࢭ༧ఆɺ$4*΁ͷҠߦ͕ਪਐத 14
  9. ετϨʔδͷϞσϧ ‣ ϕϯμʔχϡʔτϥϧͳϞσϧ  1FSTJTUFOU7PMVNF$MBJN  1FSTJTUFOU7PMVNF  4UPSBHF$MBTT ‣

    ؅ཧऀͱϢʔβͷ໾ׂΛߟྀͨ͠Ϟσϧ ‣ ετϨʔδ૷ஔͷૢ࡞ͳ͠Ͱ7PMVNFΛ ίϯςφʹࣗಈͰϚ΢ϯτ ‣ ओʹϒϩοΫετϨʔδϑΝΠϧ ετϨʔδ͕ର৅ 16 Ϣʔβ ؅ཧऀ
  10. 1SPWJTJPOJOHͷྫ 18 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J %FQMPZ
  11. %ZOBNJD1SPWJTJPOJOH 19 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J $SFBUF17$
  12. %ZOBNJD1SPWJTJPOJOH 20 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J 4FMFDU4$
  13. %ZOBNJD1SPWJTJPOJOH 21 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage $SFBUF7PMVNF QSPWJTJPOFS $4*DPOUSPMMFSͷಈ͖͸ׂѪ
  14. %ZOBNJD1SPWJTJPOJOH 22 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage OS "TTJHO $SFBUF 17
  15. %ZOBNJD1SPWJTJPOJOH 23 ʜ TQFD DPOUBJOFST OBNFNZTRM JNBHFNZTRM ʜ WPMVNF.PVOUT OBNFNZTRMEBUB

    NPVOU1BUIWBSMJCNZTRM WPMVNF$MBJN5FNQMBUFT NFUBEBUB OBNFNZTRMEBUB TQFD BDDFTT.PEFT<3FBE8SJUF0ODF> TUPSBHF$MBTT/BNFHPME SFTPVSDFT SFRVFTUT TUPSBHF(J Storage OS Container Runtime Container .PVOU ɹ17
  16. ϕΞϝλϧɾίϯςφɾ7.ͷൺֱ ϕΞϝλϧ 7. Ծ૝σΟεΫ 7. ύεεϧʔ ίϯςφ ,VCFSOFUFT %FWJDF'JMF 'JMF4ZTUFN

    7. )ZQFSWJTPS 'JMF4ZTUFN 7. )ZQFSWJTPS %FWJDF'JMF $POUBJOFS /PEF %FWJDF'JMF 'JMF4ZTUFN 7PM "QQ /PEF %FWJDF'JMF 'JMF4ZTUFN "QQ 'JMF4ZTUFN %FWJDF'JMF "QQ 7PM 7PM 7PM 7JSUVBM %*TL "QQ
  17. ϖοτ 1FU ͔ΒՈச $BUUMF ΁ 35 ը૾ఏڙ1FYFMT ‣ ඖඖɺखؒΛ͔͚ࣂҭ ‣

    ୆୆ɺखؒΛ͔͚ӡ༻ ྫো֐࣌ʹ͸ݪҼڀ໌࠶ઃఆ ‣ ಉ͡ํ๏Ͱେྔʹ·ͱΊͯࣂҭ ‣ ಉ͡ํ๏Ͱେྔʹ؅ཧ ྫো֐࣌ʹ͸࡟আ࠶࡞੒
  18. એݴతઃఆ એݴܕ"1* 36 ‣ ΠϛϡʔλϒϧΠϯϑϥετϥΫνϟʹదͨ͠ઃఆํ๏͕એݴతઃఆ ‣ ͋Δ΂͖࢟Λએݴ͢Δઃఆํ๏ 8FC αʔό "

    8FC αʔό # 8FC αʔό $ 8FCαʔό"Λىಈ 8FCαʔό#Λىಈ 8FCαʔό$Λىಈ ໋ྩతએݴ એݴతએݴ 8FCαʔόΛ୆ىಈ 8FC αʔό " 8FC αʔό # 8FC αʔό $    
  19. Մ؍ଌੑ 37 ‣ খ͞ͳαʔϏεΛ૊Έ߹ΘͤͯڊେͳγεςϜΛߏங͢ΔϚΠΫϩαʔϏε͕ීٴ ‣ ୯ͳΔ؂ࢹ ϞχλϦϯά ͔ΒෳࡶԽ͢ΔαʔϏεؒͷґଘؔ܎΍ ϘτϧωοΫͷՄࢹԽͳͲՄ؍ଌੑ ΦϒβʔόϏϦςΟ

    ͕ॏཁࢹ ‣ ΞϓϦίϯςϯ͔ΒαʔόɺωοτϫʔΫɺετϨʔδ·Ͱͷ೺Ѳ͕ॏཁ ‣ ࣮ݱ͢Δʹ͸ϝτϦΫε΍ϩάͳͲͷ֤ΤϯςΟςΟͷؔ࿈෇͚͕ඞཁ ‣ ,VCFSOFUFTͷΤίγεςϜͰ͸ΦϒβʔόϏϦςΟʹ޲͚ͨιϑτ͕ଓʑͱొ৔ ‣ ετϨʔδ΋ϕϯμಠࣗͷϞχλϦϯά͚ͩͰͳ͘ɺ͜ͷྲྀΕʹͷͬͨϝτϦΫε ͳͲͷఏڙ͕ॏཁ ɾ৐Βͳ͍ͱʜʮετϨʔδ"Λ࢖͏ͱґଘؔ܎͕೺ѲͰ͖ͳ͘ͳΔ࢖͍ͨ͘ͳ͍ʯ ,VCFSOFUFT ࣌୅ͷ
  20. FYQPSUFS 38 ‣ IUUQIUUQTܦ༝ʹͯςΩετܗࣜͷϝτϦΫεͳͲΛૹΔͷ͕୅දత ‣ ಠࣗܗࣜͷϝτϦΫεΛςΩετܗࣜ΁ม׵͠ૹ৴͢ΔFYQPSUFS ‣ ΞϓϦɺαʔόɺωοτϫʔΫɺετϨʔδͳͲ༷ʑͳFYQPSUFS͕ެ։ ɾIUUQTQSPNFUIFVTJPEPDTJOTUSVNFOUJOHFYQPSUFST ‣

    FYQPSUFSͷσʔλΛ࣌ܥྻσʔλϕʔεͳͲʹ֨ೲ͠ར༻ 4UPSBHF FYQPSUFS YY@SFBE@CZUF@UPUBM\NPEFMlBBBz WPMOBNFlz MVOlz JROlYYYz^ YY@XSJUF@CZUF@UPUBM\NPEFMlBBBz WPMOBNFlz MVOlz JROlYYYz^ IUUQIUUQT ಠࣗ
  21. $MPVE/BUJWF4UPSBHFͷӡ༻ 39 ,VCFSOFUFT ࣌୅ͷ ‣ ΞϓϦΛσϓϩΠ͢Δ։ൃऀ΍,VCFSOFUFTͷ؅ཧऀ͸ ετϨʔδͷ஌͕ࣝ๡͍͜͠ͱ͕ଟ͍ ‣ /PEFΛ௥Ճ࡟আ࣌ʹɺ/PEFʹೖΓΫϥΠΞϯτιϑτͳͲͷ ηοτΞοϓΞοϓσʔτ͸͠ͳ͍

    ϖοτ͔ΒՈச΁  ɾετϨʔδͷ؅ཧ6*͔Βຖճઃఆ͕ඞཁͳͲ͸,VCFSOFUFT࣌୅ͷӡ༻Ͱ͸ͳ͍ ‣ ؅ཧऀ͸એݴతͳઃఆͷΈ࣮ࢪ ɾ͋ͱ͸,VCFSOFUFTʹ೚ͤʮ͋Δ΂͖࢟ʯʹࣗಈͰߏ੒ ‣ Մ؍ଌੑ ΦϒβʔόϏϦςΟ Λ֬อ͢ΔͨΊΤίγεςϜͷைྲྀʹ͋Θͤͨํ๏ ͰΞϓϦίϯςφ͔ΒετϨʔδ·ͰͷϝτϦΫεͳͲΛ&OEUP&OEͰऩू
  22. 3PPL 42 ‣ ,VCFSOFUFT্ʹίϯςφԽ͞ΕͨετϨʔδΛߏங ‣ ,VCFSOFUFTͷಛ௃ ηϧϑώʔϦϯάͳͲ Λ׆༻ ‣ ,VCFSOFUFTͷ΍Γํ

    એݴతઃఆ ͰετϨʔδΛ؅ཧ ‣ ,VCFSOFUFTͷίϚϯυͰ؅ཧ ‣ ετϨʔδࣗମͷ؅ཧΛΑΓָʹʂ ɾετϨʔδ؅ཧऀͷෛՙܰݮ RDB (Block) CephFS (File) (Object) RGW
  23. ͓·͚೥ʹ޲͚ͨಈ޲ 43 ‣ *P5޲͚ʹ&EHFίϯϐϡʔςϯϯά؀ڥʹదͨܰ͠ྔͳ,VCFSOFUFTͷ σΟετϦϏϡʔγϣϯ͕ొ৔ ྫ,4 ೥ൃද ͳͲ  ‣

    ,VCFSOFUFT/BUJWF4UPSBHF΋*P5 &EHFίϯϐϡʔςΟϯά޲͚ʹ ఏڙ։࢝ ྫ-POHIPSOW ,4ରԠ ` 0QFO&#4 W ϕʔλΠϝʔδఏڙத  ‣ .VMUJ$MPVEؒͰͷσʔλҠߦɾ࿈ܞιϦϡʔγϣϯͷՃ଎ ‣ ΦϒδΣΫτετϨʔδͷίϯςφ޲͚ඪ४*'ͷొ৔ $04*  ‣ 1FSTJTUFOU.FNPSZ޲͚$4*ͷػೳ֦ॆ *OUFMQNFNDTJ ίΞػೳ͸ϓϩμΫγϣϯϨσΟঢ়ଶ `  ‣ ΞϓϦࢹ఺ͰͷετϨʔδ؅ཧͷՃ଎ ྫΞϓϦʹ࠷దͳϘϦϡʔϜͷࣗಈׂΓ౰ͯΦʔτεέʔϧόοΫΞοϓ࿈ܞ
  24. ·ͱΊ 44 ‣ ίϯςφ͔Β,VCFSOFUFTͷετϨʔδؔ࿈ͷٕज़Λ঺հ ‣ ,VCFSOFUFT࣌୅ͷ$MPVE/BUJWF4UPSBHFͱ͸Կ͔Λղઆ ‣ ,VCFSOFUFT/BUJWF4UPSBHFͷ঺հ ετϨʔδۀք΁ͷఏݴ ɾετϨʔδʹख़஌ͨ͠ਓ͕,VCFSOFUFTΛ৮Γ࢝ΊΔͷ͸ك

    ɾετϨʔδ͸೉͍ͨ͠Ίޙճ͠ʹ͕ͪ͠ ɾετϨʔδ԰͞Μ͔ΒΈͨΒίϯςφ͸7.ΑΓ΋ང͔ʹγϯϓϧͳߏ੒ ɾ%#ͳͲͷεςʔτϑϧΞϓϦ͸ଓʑͱίϯςφରԠ͞Εͨ΋ͷ͕ొ৔ ɾ*P5ػث͔Βσʔληϯλʔ·ͰίϯςφͰӡ༻͞ΕΔ࣌୅͕౸དྷ ɾετϨʔδۀք͔Βͷ,VCFSOFUFT࣌୅ʹ͋ͬͨετϨʔδఏڙͱ ଟ͘ͷࣄྫఏڙʹΑΓʮ೉͍͔͠Βޙճ͠ʯ͔Βʮ࢖͑Δʯ΁ར༻ऀͷҙࣝվֵ͕ॏཁ