Zfs: ๊ธฐ๋Šฅ ์š”์ฒญ-์˜จ๋ผ์ธ ๋ถ„ํ•  ํด๋ก 

์— ๋งŒ๋“  2014๋…„ 02์›” 04์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: openzfs/zfs

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,

๋ฌธ์ œ๊ฐ€๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์š”์ฒญ์„ ๊ฒŒ์‹œ ํ•  ์˜ฌ๋ฐ”๋ฅธ ์œ„์น˜๊ฐ€ ์–ด๋””์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ •ํ™•ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ ๋‹ซ์œผ์„ธ์š”.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์œ ์šฉ ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ์—์„œ ํด๋ก ์„ ๋ถ„ํ•  ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ฐพ๊ณ  ์žˆ๋Š”๋ฐ, netapp vol ํด๋ก  ๋ถ„ํ• ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

ํด๋ก ์ด ๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ๊ฐˆ๋ผ์ง„ ํŠน์ • ์‹œ๊ฐ„์ด ์žˆ์œผ๋ฉฐ ๋‘ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ zfs send / recv๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์•ฝ๊ฐ„์˜ ๋‹ค์šด ํƒ€์ž„์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์€ zfs๊ฐ€ ๋ถ€๋ชจ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ๋œ ๋ธ”๋ก์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ธ”๋ก์„ ์ƒˆ ์˜์—ญ์— ๋ณต์‚ฌํ•˜๊ณ  ํ•ด๋‹น ๋ธ”๋ก์„ ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋„๋ก ๋ณต์ œ๋ณธ์„ ๋‹ค์‹œ ์ง€์ •ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (์ œ๋Œ€๋กœ ์„ค๋ช…ํ–ˆ์œผ๋ฉดํ•ฉ๋‹ˆ๋‹ค). ์ตœ์ข… ์ƒํƒœ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์˜จ๋ผ์ธ์ด๊ณ  ํ™œ์„ฑ ์ƒํƒœ ์ผ ๋•Œ ๋ถ„ํ•  ๋ณต์ œ๊ฐ€๋ฉ๋‹ˆ๋‹ค.

Documentation Feature Question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด ์›๋ณธ-๋ณต์ œ ๊ด€๊ณ„๋ฅผ ์ค‘๋ณต ์ œ๊ฑฐ ๋œ ์ข…๋ฅ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ.

๋ชจ๋“  18 ๋Œ“๊ธ€

zfs promote ๊ฐ€) ์ด๋ฏธ ํ•„์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

       zfs promote clone-filesystem

           Promotes a clone file system to no longer be dependent on its "ori
           gin"  snapshot.  This  makes it possible to destroy the file system
           that the clone was created from. The clone parent-child  dependency
           relationship  is reversed, so that the origin file system becomes a
           clone of the specified file system.

           The snapshot that was cloned, and any snapshots  previous  to  this
           snapshot,  are  now owned by the promoted clone. The space they use
           moves from the origin file system to the promoted clone, so  enough
           space  must  be  available  to  accommodate these snapshots. No new
           space is consumed by this operation, but the  space  accounting  is
           adjusted. The promoted clone must not have any conflicting snapshot
           names of its own. The rename subcommand can be used to  rename  any
           conflicting snapshots.

๋‚˜๋Š” zfs promote๋ฅผ๋ณด๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์ด๊ฒƒ์€ ๋‹จ์ง€ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ๋’ค์ง‘๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

์ œ๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ์€ ๋‘ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์„œ๋กœ ์™„์ „ํžˆ ๋…๋ฆฝ์  ์ธ ์ตœ์ข… ์ƒํƒœ์˜€์Šต๋‹ˆ๋‹ค.

์ด์— ๋Œ€ํ•œ ์ผ๋ถ€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š”
VM ํ…œํ”Œ๋ฆฟ ๋ณต์ œ-๋‹ค๋ฅธ VM์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œ ๋œ ๊ธฐ๋ณธ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํ…œํ”Œ๋ฆฟ์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ํ…œํ”Œ๋ฆฟ์„ ์—…๋ฐ์ดํŠธ / ํŒŒ๊ดด / ๋‹ค์‹œ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์ œ-๋งŽ์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒช๊ณ  ํ…Œ์ŠคํŠธ ๋ณต์ œ ์ž์ฒด์˜ ๊ธฐ๋ฐ˜์ด ๋  ์ˆ˜์žˆ๋Š” dev ์šฉ prod db๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์šฉ ๋…๋ฆฝ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ฐ–๋Š” ๊ฒƒ๋ณด๋‹ค

original @ snapshot ์„ ๋ณต์ œ ํ•œ ํ›„์—๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์ž์œ ๋กญ๊ฒŒ ๋ณต์ œ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋‘ ๋””์Šคํฌ ๋ชจ๋‘์— ์—ฌ์ „ํžˆ ๊ณตํ†ต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์„œ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ (์›๋ณธ)์„ ํŒŒ๊ดด / ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋ ค๋ฉด ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์—์žˆ๋Š” ๋ชจ๋“  ์Šค๋ƒ… ์ƒท (๋ณต์ œ ์›๋ณธ์œผ๋กœ ์‚ฌ์šฉ ๋œ ์Šค๋ƒ… ์ƒท ์ œ์™ธ)์„ ๊ฐ„๋‹จํžˆ ์‚ญ์ œํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค. zfs๋Š” ์›๋ณธ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  zfs๋Š” ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์ƒˆ ์Šค๋ƒ… ์ƒท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค (์›๋ณธ ์†์„ฑ). ํด๋ก  ์ˆ˜๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ์ด๋ฆ„์— ๋ฐ”์ธ๋”ฉ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‘˜ ๋‹ค ์ž์œ ๋กญ๊ฒŒ ์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ ์ผํ•œ ๋‹จ์ ์€ original @ snapshot (= ํด๋ก ์˜ ๊ธฐ๋ณธ)์— ๋ณด๊ด€ ๋œ ๋ชจ๋“  _unique_ ๋ฐ์ดํ„ฐ๋Š” ํด๋ก  ๋˜๋Š” (ํด๋ก  ์Šน๊ฒฉ ํ›„) ์›๋ณธ์„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š” ํ•œ ํ•ด์ œ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ @ greg-hydrogen zfs promote ๊ฐ€ ๊ท€ํ•˜์˜ ์š”๊ตฌ๋ฅผ ์ถฉ์กฑํ•˜๋Š”์ง€ ๊ฒฐ์ • ํ–ˆ์Šต๋‹ˆ๊นŒ? ๋˜๋Š” ์—ฌ๊ธฐ์— ์—ฌ์ „ํžˆ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•˜๊ธฐ ์œ„ํ•ด ์›๋ณธ-๋ณต์ œ ๊ด€๊ณ„๋ฅผ ์ค‘๋ณต ์ œ๊ฑฐ ๋œ ์ข…๋ฅ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ.

@behlendorf : ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ฒŒ ์š”๊ตฌ๋ฅผ ์ถฉ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
http://jrs-s.net/2017/03/15/zfs-clones-probably-not-what-you-really-want/
๋ฌธ์ œ๋ฅผ ์ž˜ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋…์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

user @ backup :

  1. ๋‚ ์งœ ๊ธฐ๋ฐ˜ ์Šค๋ƒ… ์ƒท ์ƒ์„ฑ
  2. ๋ฏธ๋Ÿฌ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ์—…์—์„œ ์ „์†ก
zfs snapshot backup/prod<strong i="11">@20170901</strong>
zfs send -R backup/prod<strong i="12">@20170901</strong> | ssh test zfs recv ... test/mirror

user @ test :

  1. ๊ฑฐ์šธ์„ ์†Œ๋… ํ•  ์žฅ์†Œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. ์†Œ๋…ํ•˜๋‹ค
  3. ์Šค๋ƒ… ์ƒท
  4. ์‚ฌ์šฉ์„ ์œ„ํ•ด ์‚ญ์ œ ๋œ ๋ฒ„์ „ ๋ณต์ œ
  5. ์‚ฌ์šฉํ•ด
zfs clone test/mirror<strong i="23">@20170901</strong> test/sanitizing
sanitize sanitizing
zfs snapshot test/sanitizing<strong i="24">@sanitized</strong>
zfs clone test/sanitizing<strong i="25">@sanitized</strong> test/test
dirty test/test

user @ backup :

  1. ์ƒ์‚ฐ์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋ฉด์„œ ...
  2. ์—…๋ฐ์ดํŠธ ๋œ ์Šค๋ƒ… ์ƒท ์ƒ์„ฑ
  3. ์ œํ’ˆ์—์„œ ํ…Œ์ŠคํŠธ๋กœ ์ฆ๋ถ„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ณด๋‚ด๊ธฐ
  4. ์ด์ „ ์ฆ๋ถ„ ๋งˆ์ปค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค (์ œ ๊ฒฝ์šฐ์—๋Š” 70GB๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค).
dirty prod/prod
zfs snapshot backup/prod<strong i="35">@20170908</strong>
zfs send -I backup/prod<strong i="36">@20170901</strong> backup/prod<strong i="37">@20170908</strong> | ssh test zfs recv test/mirror
zfs destroy backup/prod<strong i="38">@20170901</strong>

user @ test :

  • ์ด๊ฒƒ์€ ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
  • ์•ฝ๊ฐ„์˜ ์นด ์กธ๋ง์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ด๊ท  ๋ณผ๋ฅจ์„ ํŒŒ๊ดด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ ๋‚จ์€ ๋‘ ๊ฐ€์ง€ ํ•ญ๋ชฉ ์ธ test/mirror@20170908 ๋ฐ test/test ์˜ ์ถœ์ฒ˜ ์ธ test/mirror@20170901 ๊ฐ€ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.
  • ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ ๋œ ๋ฏธ๋Ÿฌ ( test/mirror@20170908 )๋ฅผ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒํ•ด๋„ ์•„๋ฌด๋Ÿฐ ์†Œ์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค (๋‚ด ๋ชฉํ‘œ๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ).

์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹ค์ œ๋กœ ์‚ด๊ท ์„ ์‹คํ–‰ํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์™„์ „ํžˆ ํŒŒ๊ดดํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋กœ ๋ฏธ๋Ÿฌ๋ฅผ ๋ณต์ œํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๋งˆ์นจ๋‚ด ์›๋ณธ์„ ํŒŒ๊ดด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์Šค๋ƒ… ์‚ฌ์ง„. ๋˜๋Š” ํŒจ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚˜์ค‘์— ๋ฐฑ์—…์‹œ ์ƒˆ ์Šค๋ƒ… ์ƒท์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ณ  ์ฆ๋ถ„์„ ์ „์†กํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋ฏธ๋Ÿฌ๋ง๋˜์ง€ ์•Š์€ ์Šค๋ƒ… ์ƒท์„ ์‚ญ์ œ ํ•œ ํ›„ ๋‹ค์‹œ ์‹œ๋„ ํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Fwiw, ์ด๊ฒƒ์„ ๋ง›๋ณด๊ธฐ ์œ„ํ•ด ... :

zfs list -t all -o used,refer,name,origin -r test/mirror test/test
 USED   REFER  NAME                              ORIGIN
 161G   1.57M  test/mirror                       -
  65G   82.8G  test/mirror<strong i="54">@2017081710</strong>            -
    0   82.4G  test/mirror<strong i="55">@201709141737</strong>          -
3.25G   82.8G  test/test                         test/mirror<strong i="56">@2017081710</strong>

(์ˆซ์ž๊ฐ€ ์ •๋ง ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ 4 ๊ฐœ์˜ ๋ณผ๋ฅจ์ด ํฌํ•จ ๋œ 1 ๊ฐœ์˜ ๋ณผ๋ฅจ์ด ์žˆ์œผ๋ฏ€๋กœ ์žฌ๊ท€ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ...)

์ด์ œ zfs send | zfs recv ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์†์„ฑ์„ ๋Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž‘์€ ์ผ์—๋„ ๊ดœ์ฐฎ๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ํ’€์˜์ด ๋ถ€๋ถ„์€ ํ’€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์˜ ์•ฝ ๋‘ ๋ฐฐ์ด๊ณ  ์ ˆ๋ฐ˜์€ ์•„๋งˆ๋„ ๊ทธ๋ณด๋‹ค ํด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ•ด๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์žฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋ง‰๋Œ€ํ•œ ์–‘์˜ ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ์Šค๋ƒ… ์ƒท ์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋‚˜์˜ ํฌ๋ง์€ COW์˜ ํ˜œํƒ์„๋ฐ›์„ ์ˆ˜์žˆ๋Š” ๊ฒƒ์ด์—ˆ์ง€๋งŒ, ๊ฒฐ๊ตญ์—๋Š” ๋ถ„๊ธฐ ํŠธ๋ฆฌ์˜ ์–ด๋Š ์ชฝ์—์„œ๋„ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๊ฐ€์žˆ๋Š” ๋ถ„๊ธฐ ์ง€์ ์— ๋Œ€ํ•œ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— COW ๋น„์šฉ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค.

@behlendorf ์•ˆ๋…•ํ•˜์„ธ์š”, ์ง„ํ–‰ ์ƒํ™ฉ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์›๋ณธ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํด๋ก ์„ ๋ถ„ํ• ํ•˜๋ฉด VM ํ…œํ”Œ๋ฆฟ ๋ฐ / ๋˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ˆ˜์ค€ ๋ณต์›์— ์ •๋ง ์ข‹์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์˜ˆ์ œ๋Š” ์œ„์— ๋ถ™์—ฌ ๋„ฃ์€ @jsoref ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

@kpande : ๋ชฉํ‘œ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ (์ด ์ž‘์—…์ด ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค)๊ฐ€ ์•„๋‹ˆ๋ผ ๋ณ€๊ฒฝ๋œ ์‚ฌํ•ญ (COW)์— ๋Œ€ํ•ด ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค (๊ณต๊ฐ„ ๋ฐ ๋ฐ์ดํ„ฐ ์ „์†ก).

10TB์˜ ์ด๋™ ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ์žˆ๊ณ  ์„ค์ •ํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ๋ณ€ํ˜•์ด ์žˆ๋‹ค๋ฉด 10TB๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ๋ณ€ํ˜•์„ ์ ์šฉํ•œ ๋‹ค์Œ 20TB๋ฅผ ์ง€๋ถˆ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ 20TB๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ). ๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ๋ณ€ํ˜•์ด ์›๋ž˜ 10TB์™€ ์‹ค์ œ๋กœ 10MB ๋งŒ ๋‹ค๋ฅผ ๊ฒฝ์šฐ 10TB + 10MB๋ฅผ ์ง€๋ถˆ ํ•  ์ˆ˜์—†๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? -์Šค๋ƒ… ์ƒท + ํด๋ก ์ด ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 10TB๊ฐ€ ์ถฉ๋ถ„ํžˆ ์ด๋™ํ•˜์—ฌ 10TB (๋ผ์ด๋ธŒ + 10TB ์Šค๋ƒ… ์ƒท + 10TB ๋ถ„๊ธฐ)๋ฅผ ์ง€๋ถˆํ•˜๊ณ  10MB ๋ณ€ํ˜•์ด ์ด๋™ํ•˜์—ฌ ์ด์ œ ์ž์ฒด 10TB (๋ผ์ด๋ธŒ ๋ฐ ์Šค๋ƒ… ์ƒท์—์„œ ๋ถ„๊ธฐ)๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๊ทธ ๋™์•ˆ 30TB ๋ฌธ์ œ๋ฅผ "์ˆ˜์ •"ํ•˜๋ ค๋ฉด 10TB (= 40TB-zfs send + zfs recv๋ฅผ ํ†ตํ•ด)๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์ด์ƒ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  "์ž‘๋™"ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ "๋น ๋ฅด๊ฑฐ๋‚˜"์›๊ฒฉ ๊ณต๊ฐ„ ํšจ์œจ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ˆ˜์ • ๋œ ์ „์†ก / ์ˆ˜์‹ ์€ ํฅ๋ฏธ๋กญ๊ฒŒ ๋“ค๋ฆฌ์ง€๋งŒ (๋‹ค์†Œ ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์—)-์—ฌ๋Ÿฌ ๊ณณ์—์„œ ์–ธ๊ธ‰ ๋œ ๊ฒƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ์ˆ˜์ •๋˜๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ์„ค๋ช…์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Fwiw, ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์ „์†ก ์ธก์—์„œ ์‚ด๊ท ์ด ๋ฐœ์ƒํ•˜๋„๋ก ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค (๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ์ธก๋ฉด์—์„œ๋„ ๋” ๋‚ซ์Šต๋‹ˆ๋‹ค). ์ด๋กœ ์ธํ•ด ๋Œ€๋ถ€๋ถ„ ์ˆฒ์—์„œ ๋ฒ—์–ด๋‚  ์ˆ˜์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ณ€ํ˜•์ด "์ˆ˜์ •"๋˜์ง€ ์•Š๊ณ  ์‹œ์Šคํ…œ์— zfs ์Šค๋ƒ… ์ƒท + zfs ์ „์†ก์„์œ„ํ•œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ "๋ณ€ํ˜•"์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋‘ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฐ ๋ณด์กฐ๊ฐ„์— ์ „์ฒด ๋ณผ๋ฅจ์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋น„์šฉ์„ ์ง€๋ถˆ ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค (์ฆ‰, ์ด์ „ ์Šค๋ƒ… ์ƒท์ด ์ด๋ฏธ์žˆ๋Š” ์‹œ์Šคํ…œ์— ์ฆ๋ถ„ ์Šค๋ƒ… ์ƒท์„ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค).

์˜ˆ, ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” CPU / ๋žจ์— ๋Œ€ํ•œ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋“œ๋ฌธ ์ž‘์—… (๋ณ€ํ˜• ๋œ ํด๋ก  ์ƒˆ๋กœ ๊ณ ์นจ)์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ผ์ •ํ•œ cpu + ram์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ข‹์ง€ ์•Š์€ ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„์ฒ˜๋Ÿผ ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค.

@kpande ์ด ๋งํฌ ๋Š” ํ˜„์žฌ ํด๋ก ์˜ ๋ฌธ์ œ๋ฅผ ์•„์ฃผ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํด๋ก ์ด ๊ธฐ๋ณธ ์Šค๋ƒ… ์ƒท์—์„œ ๋„ˆ๋ฌด ๋งŽ์ด ๊ฐˆ๋ผ์ง€๋ฉด ๋‘˜ ์‚ฌ์ด์˜ ์˜๊ตฌ์  ์ธ ๋ถ€๋ชจ-> ์ž์‹ ๊ด€๊ณ„๊ฐ€ ํ˜ผ๋ž€์˜ ์›์ธ์ด๋ฉ๋‹ˆ๋‹ค. ํด๋ก ์„ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์€ ๋” ์ด์ƒ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ธฐ ์œ„ํ•ด ๋„ˆ๋ฌด ๋งŽ์ด ๊ฐˆ๋ผ ์กŒ๋‹ค๋Š” ๋ช…ํ™•ํ•œ ํ‘œ์‹œ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ข€ ๋” ์‹ค์šฉ์ ์ธ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

kvm/vmimages ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ๋””์Šคํฌ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ง€์ •ํ•˜๊ณ  ๋งค์ผ ์Šค๋ƒ… ์ƒท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋Œ€๋‹ต์€ "๊ฐ ๋””์Šคํฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ์‚ฌ์šฉ"์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์ง€๋งŒ libvirt ํ’€์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

kvm/vmimages
kvm/vmimages<strong i="11">@snap1</strong>
kvm/vmimages<strong i="12">@snap2</strong>
kvm/vmimages<strong i="13">@snap3</strong>

์–ด๋–ค ์‹œ์ ์—์„œ vm ๋””์Šคํฌ์— ๋‚˜์œ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ (์˜ˆ : ์‹ฌ๊ฐํ•œ ๊ฒŒ์ŠคํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ ์†์ƒ) ๊ทธ ๋™์•ˆ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋””์Šคํฌ์— ์ƒˆ๋กญ๊ณ  ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ๋Œ€์กฐ์  ์ธ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. a) ์–ด์ œ์˜ ์†์ƒ๋˜์ง€ ์•Š์€ ์ด์ „ ๋ฐ์ดํ„ฐ๋กœ ๋˜๋Œ๋ฆฌ๋ ค๋ฉด b) ์Šค๋ƒ… ์ƒท์—์„œ ์ฐพ์„ ์ˆ˜์—†๋Š” ์—…๋กœ๋“œ ๋œ ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๊ณ  c) ์„œ๋น„์Šค ์ค‘๋‹จ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด.

๊ฐ€๋Šฅํ•œ ์†”๋ฃจ์…˜์œผ๋กœ ํด๋ก ์ด ๋–  ์˜ค๋ฆ…๋‹ˆ๋‹ค. kvm/vmimages@snap3 ๋ฅผ kvm/restored ๋กœ ๋ณต์ œํ•˜์—ฌ ์˜ํ–ฅ์„๋ฐ›๋Š” VM์— ๋Œ€ํ•œ ์„œ๋น„์Šค๋ฅผ ์ฆ‰์‹œ ๋ณต์› ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด๋ฉ๋‹ˆ๋‹ค.

kvm/vmimages
kvm/vmimages<strong i="20">@snap1</strong>
kvm/vmimages<strong i="21">@snap2</strong>
kvm/vmimages<strong i="22">@snap3</strong>
kvm/restored   # it is a clone of snap3
kvm/restored<strong i="23">@snap1</strong>
...

์˜ํ–ฅ์„๋ฐ›๋Š” VM์€ kvm/restored ์—์„œ ์‹คํ–‰๋˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  VM์€ kvm/vmimages ์— ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์ ์—์„œ, ๋‹น์‹ ์€ ๋ชจ๋“  ์—ฌ๋ถ„์˜ ๋””์Šคํฌ ์‚ญ์ œ kvm/restored ๊ณผ์—์„œ ์›๋ž˜, ์†์ƒ๋œ ๋””์Šคํฌ kvm/vmimages . ์ด์ „์˜ ์†์ƒ๋œ ๋””์Šคํฌ ์ด๋ฏธ์ง€๊ฐ€ ์—ฌ์ „ํžˆ ์‹ค์ œ ๋””์Šคํฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ kvm/restored ๋ฎ์–ด ์“ฐ๊ธฐ๊ฐ€ ์ด์ „์˜ ์‚ญ์ œ ๋ถˆ๊ฐ€๋Šฅํ•œ kvm/vmimages@snap3 ๋กœ ์ธํ•ด ์ถ”๊ฐ€ ๊ณต๊ฐ„์„ ์†Œ๋น„ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋ณด์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋˜ํ•œ ๋‹น์‹ ์˜ ํด๋ก ์„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ ์ด ์˜ค๋ž˜๋œ ์Šค๋ƒ… ์ƒท์„ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค, ๋‹น์‹ ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ ์˜ฌ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค kvm/restored ์‚ญ์ œ kvm/vmimages ๊ฐ€ ์œ ์ผํ•˜๊ณ  ์ง„์ •ํ•œ "๊ถŒ์œ„"๋ฐ์ดํ„ฐ ์›๋ณธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— (์˜ˆ : ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‘ ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ์ €์žฅ ๋จ).

์†Œ์Šค์—์„œ ํด๋ก ์„ ๋ถ„๋ฆฌํ•˜๋ฉด ์œ„์˜ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ˆ˜์ • ๋œ ๋ณด๋‚ด๊ธฐ / ๋ฐ›๊ธฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋„์›€์ด๋˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@kpande ๋จผ์ €, ๊ท€ํ•˜์˜ ๊ฒฌํ•ด์™€ ํ•ด๊ฒฐ์ฑ…์„ ๊ณต์œ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค (ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค!). ๋‚˜๋Š” ์‹ ์ค‘ํ•˜๊ณ  ๋งค์šฐ ๊ตฌ์ฒด์ ์ธ ๊ฒŒ์ŠคํŠธ ๊ตฌ์„ฑ (๋ฐ ํ˜ธ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์„ธํŠธ ํŠธ๋ฆฌ)์ด ์œ„์— ๋…ธ์ถœ ๋œ ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฐ ์ „์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, libvirt (๋ฐ ์Šคํ† ๋ฆฌ์ง€ ํ’€ ๊ตฌํ˜„)๋Š” ํŠนํžˆ Windows ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ ํ˜ผํ•ฉ ํ™˜๊ฒฝ์„ ๊ด€๋ฆฌ ํ•  ๋•Œ์ด ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ์ž˜ ์–ด์šธ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”์šฑ์ด ์ด๊ฒƒ์€ ํ•˜๋‚˜์˜ ์˜ˆ์ผ๋ฟ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ถ„ํ•  ๊ฐ€๋Šฅํ•œ ํด๋ก ์€ "์‹ค์ œ"๊ฐ€์ƒ ๋จธ์‹ ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์Œ๋Œ€๋กœ ์ธ์Šคํ„ด์Šคํ™” ํ•  ์ˆ˜์žˆ๋Š” "๊ณจ๋“œ ๋งˆ์Šคํ„ฐ / ๊ธฐ๋ณธ ์ด๋ฏธ์ง€"๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํ˜น์‹œ, ์ž ์žฌ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”, ์Šค๋ƒ… ์ƒท์„ ์›๋ณธ์„ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์‚ฌ๊ฑด์˜ ํ˜„์žฌ ์ƒํƒœ๋กœ, ๊ทธ ์ผ์„ํ•˜๋Š” ๊ฒƒ์€, ํ• ๋‹น ๋œ ๊ณต๊ฐ„์— ๋งŽ์€ ๋‹น์‹ ์„ ์„ธ๊ธˆ์„ ๋ถ€๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ZFS๊ฐ€ CoW ํŒŒ์ผ ์‹œ์Šคํ…œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ด์–ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์›๋ณธ ์Šค๋ƒ… ์ƒท์„ ์‚ญ์ œํ•  ๋•Œ "๊ฐ„๋‹จํžˆ"์ฐธ์กฐ๋˜์ง€ ์•Š์€ ๋ชจ๋“  ๋ธ”๋ก์„ ํ•ด์ œํ•˜๊ณ  ๋ถ€๋ชจ / ์ž์‹ ๊ด€๊ณ„๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์†Œ์Šค ์Šค๋ƒ… ์ƒท์—์„œ ์–ฝ ํžˆ์ง€ ์•Š์€ ์‹ค์ œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋ณต์ œํ•˜์ž.

๋”ฐ์˜ดํ‘œ ์•ˆ์— "๋‹จ์ˆœํžˆ"์„ธ๊ณ„๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค. ์‹ค์ œ๋กœ๋Š” ๋‹จ์ˆœํ•œ ๋…ผ๋ฆฌ์  ์ž‘์—…์ด์ง€๋งŒ ๊ธฐ๋ณธ zfs ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋งคํ•‘๋˜๋Š”์ง€ ์—ฌ๋ถ€๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

@kpande ๊ดœ์ฐฎ์•„์š”, ์ถฉ๋ถ„ํžˆ ๊ณตํ‰ํ•ฉ๋‹ˆ๋‹ค-๋งŒ์•ฝ ์ง„์งœ ๊ธฐ์ˆ ์  ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ฐ›์•„ ๋“ค์—ฌ์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ํŠน์ • ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ด ๋ทฐ (์˜ˆ : "์‹ ํ™”์ ์ธ"BPR๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ณ  ์›๋ž˜ ๋ถ€๋ชจ ์Šค๋ƒ… ์ƒท์—์„œ ํด๋ก ์„ ๋ถ„ํ•  ํ•  ์ˆ˜ ์—†์Œ)๊ฐ€ zfs ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ณต์œ ํ•œ๋‹ค๋ฉด์ด FR์€ ๋‹ซํž ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์‚ฌ.

์ด ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ +1. ์˜ˆ, send / recv๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์ „ (๋ณต์ œ) ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ์ƒˆ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์˜ โ€‹โ€‹๋‹ค์šด ํƒ€์ž„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

LXD์—์„œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ณต์‚ฌ (๋ณต์ œ)๋˜๋Š” ์ƒํ™ฉ์— ์ง๋ฉดํ–ˆ์ง€๋งŒ ์ด๋กœ ์ธํ•ด ๋ณ„๋„๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์Šค๋ƒ… ์ƒท์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

@kpande : ๋‹ค์‹œ, ๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์—๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ณ  ๋ช‡ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ณธ ๊ฒƒ์—์„œ, ๊ทธ๊ฒƒ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ zfs์™€ ํ•จ๊ป˜ overlayfs๊ฐ€ ๋ฉ‹์ง€๊ฒŒ ์žฌ์ƒ๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๋‹น์‹ ์˜ ๋…ธํŠธ์— ๋”ฐ๋ฅด๋ฉด zvols์™€ ext4 / xfs์—์„œ ํ–‰๋ณตํ•ด ๋ณด์ž…๋‹ˆ๋‹ค). ์ด ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ๋ฉฐ,์ด ๊ฒฝ์šฐ ext4 / xfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ overlayfs๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์šฐ๋ฆฌ ์ค‘ ์ผ๋ถ€๋Š” ๋ณผ๋ฅจ ๊ด€๋ฆฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ acl / allow / snapshot ๋™์ž‘ / ๋ธŒ๋ผ์šฐ์ง•์—๋„ zfs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ext4 / xfs ๋Œ€์‹  zfs์™€ ํ•จ๊ป˜ overlayfs๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฒ„๊ทธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋งŒ์•ฝ ์žˆ๋‹ค๋ฉด ๊ทธ๊ฒƒ์ด ๊ฐ•์กฐ ๋˜์—ˆ๋‹ค๋ฉด (์—ฌ๊ธฐ์—์„œ), ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, overlayfs ์ ‘๊ทผ ๋ฐฉ์‹์„์ง€์ง€ํ•œ๋‹ค๋ฉด, ์•„๋งˆ๋„ ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์ œ์ถœํ•  ์ˆ˜์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. (๋‹น์‹ ์ด ์ฃผ์žฅํ•œ๋‹ค๋ฉด, ์ €๋Š” ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์„ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ €๋Š” ๊ทธ๋ ‡๊ฒŒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. t overlayfs์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ์ด ์žˆ์œผ๋ฉฐ,์ด ๊ธ€์—์„œ ํ•ต์‹ฌ ๊ธฐ์ˆ ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.)

๋‚ด๊ฐ€ ๋ณธ ๊ฒƒ์—์„œ, ๊ทธ๊ฒƒ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ zfs์™€ ํ•จ๊ป˜ overlayfs๊ฐ€ ๋ฉ‹์ง€๊ฒŒ ์žฌ์ƒ๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๋‹น์‹ ์˜ ๋…ธํŠธ์— ๋”ฐ๋ฅด๋ฉด zvols์™€ ext4 / xfs์—์„œ ํ–‰๋ณตํ•ด ๋ณด์ž…๋‹ˆ๋‹ค). ์ด ์ ‘๊ทผ ๋ฐฉ์‹์ด ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์— ์ ์šฉ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ๋ฉฐ,์ด ๊ฒฝ์šฐ ext4 / xfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ overlayfs๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

overlayfs ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋งค์šฐ ์ค‘์š”ํ•˜๊ณ  ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€ (๋‹ค๋ฅธ ์ด๋ฏธ์ง€ (๋˜๋Š” "๊ณจ๋“œ ๋งˆ์Šคํ„ฐ"ํ…œํ”Œ๋ฆฟ)์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฐ€์ƒ ์ด๋ฏธ์ง€ ๋ณต์ œ)์—๋Š” ์ž‘๋™ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค . ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ์›๋ณธ / ๋ณต์ œ ๋œ ์ด๋ฏธ์ง€๊ฐ€ ๊ฐˆ๋ผ์ง€๋ฉด์„œ ๊ณต๊ฐ„ ๋‚ญ๋น„๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋ณต์ œ๋ณธ์„ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

@ ptx0 ์ด๊ฒƒ์€ ๊ฒŒ์ŠคํŠธ OS๊ฐ€ overlayfs ์ง€์› ํ•˜๊ณ  (๋”ฐ๋ผ์„œ Windows VM์ด ์ง€์› ๋˜์ง€ ์•Š์Œ ) ์ตœ์ข… ์‚ฌ์šฉ์ž (์˜ˆ : ๊ณ ๊ฐ)๊ฐ€ VM ์ด๋ฏธ์ง€ ํ”„๋กœ๋น„์ €๋‹ / ์„ค์น˜๋ฅผ ํฌ๊ฒŒ ๋ณ€๊ฒฝํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ์ด PR์€ ๊ธฐ์ˆ ์ ์œผ๋กœ ๋งˆ๊ฐ ๋œ ๊ฒƒ์„ ์™„์ „ํžˆ ์ดํ•ดํ•˜๊ณ  ์ˆ˜๋ฝํ•˜์ง€๋งŒ (์˜ˆ : BPR์ด ํฌํ•จ ๋œ ๊ฒฝ์šฐ) ํ•ฉ๋ฒ•์  ์ธ ์‚ฌ์šฉ์ž ์‚ฌ๋ก€๋ฅผ "์œ ํšจํ•˜์ง€ ์•Š์Œ"์œผ๋กœ ์Šคํƒฌํ”„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์‹ค๋ง์Šค๋Ÿฌ์šด ์ผ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„๋ฌด๋„์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์œ ํšจํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

Windows์—๋Š” overlayfs๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํด๋” ๋ฆฌ๋””๋ ‰์…˜ ๋ฐ ๋กœ๋ฐ ํ”„๋กœํ•„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋” ๋ฆฌ๋””๋ ‰์…˜์€ NT ์ดํ›„๋กœ ์กด์žฌํ–ˆ์ง€๋งŒ (๋ชจํ˜ธํ•œ ์ด์œ ๋กœ) ๋ฆฌ๋””๋ ‰์…˜ ๋œ ํด๋”๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฆฌ๋””๋ ‰์…˜ ๋œ ๋ฐ์Šคํฌํ†ฑ ๋˜๋Š” ๋ฌธ์„œ์— ์ง๋ฉดํ–ˆ์„ ๋•Œ ๋‹จ์ˆœํžˆ ์‹คํŒจํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์•ˆ์‹ฌํ•  ์ˆ˜์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ ์™ธ์—๋„ Windows ์„ค์น˜์˜ ํด๋ก ์€ Windows Update์˜ ํ˜ธ์˜๋กœ ์›๋ณธ์—์„œ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๊ทธ ์ž์ฒด๋กœ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์˜จ ๋ฐ ๋กœ๊ทธ ์˜คํ”„ํ•˜๋ฉด ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ๋ฟ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰