์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
๋ฌธ์ ๊ฐ๋์ง ์์ผ๋ฏ๋ก ์์ฒญ์ ๊ฒ์ ํ ์ฌ๋ฐ๋ฅธ ์์น๊ฐ ์ด๋์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ ํํ์ง ์์ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ๋ซ์ผ์ธ์.
๋ค๋ฅธ ์ฌ๋์๊ฒ ์ ์ฉ ํ ์์๋ ๊ธฐ๋ฅ ์์ฒญ์ด ์์ต๋๋ค. ์จ๋ผ์ธ์์ ํด๋ก ์ ๋ถํ ํ ์์๋ ๊ธฐ๋ฅ์ ์ฐพ๊ณ ์๋๋ฐ, netapp vol ํด๋ก ๋ถํ ๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค.
ํด๋ก ์ด ๋ถ๋ชจ๋ก๋ถํฐ ์์ ํ ๊ฐ๋ผ์ง ํน์ ์๊ฐ์ด ์์ผ๋ฉฐ ๋ ํ์ผ ์์คํ ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ค๋์ด ์์ ์ ์ํ ํ ์์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ zfs send / recv๋ฅผ ์ํํ๋ ๊ฒ์ด์ง๋ง ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฝ๊ฐ์ ๋ค์ด ํ์์ด ํ์ํ ์ ์์ต๋๋ค.
๋ด๊ฐ ์ ์ํ๋ ๊ฒ์ zfs๊ฐ ๋ถ๋ชจ ํ์ผ ์์คํ ๊ณผ ๊ด๋ จ๋ ๋ธ๋ก์ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ธ๋ก์ ์ ์์ญ์ ๋ณต์ฌํ๊ณ ํด๋น ๋ธ๋ก์ ๋์ ์ฌ์ฉํ๋๋ก ๋ณต์ ๋ณธ์ ๋ค์ ์ง์ ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ๊ฒ์ ๋๋ค (์ ๋๋ก ์ค๋ช ํ์ผ๋ฉดํฉ๋๋ค). ์ต์ข ์ํ๋ ํ์ผ ์์คํ ์ด ์จ๋ผ์ธ์ด๊ณ ํ์ฑ ์ํ ์ผ ๋ ๋ถํ ๋ณต์ ๊ฐ๋ฉ๋๋ค.
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/
๋ฌธ์ ๋ฅผ ์ ์ค๋ช
ํฉ๋๋ค.
๊ฐ๋ ์ ์ผ๋ก ์ํํ๋ ค๋ ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
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
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
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>
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์ ํธ์๋ก ์๋ณธ์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๊ทธ ์์ฒด๋ก ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋ถ์ฐ๋ฉ๋๋ค. ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์จ ๋ฐ ๋ก๊ทธ ์คํํ๋ฉด ์๋๊ฐ ๋นจ๋ผ์ง๋ฟ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด์ ๋ํด ์ธ๊ธํ๊ธฐ ์ํด ์๋ณธ-๋ณต์ ๊ด๊ณ๋ฅผ ์ค๋ณต ์ ๊ฑฐ ๋ ์ข ๋ฅ๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ.