Man page - lxc.container.conf(5)

Packages contains this manual

Available languages:

en ko ja

Manual

lxc.container.conf

NAME
์„ค ๋ช…
์„ค ์ •
์•„ ํ‚ค ํ… ์ฒ˜
ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„
์ข… ๋ฃŒ ์‹œ ๊ทธ ๋„
์žฌ ๋ถ€ ํŒ… ์‹œ ๊ทธ ๋„
๊ฐ• ์ œ ์ข… ๋ฃŒ ์‹œ ๊ทธ ๋„
INIT ๋ช… ๋ น ์–ด
INIT์ด ์‚ฌ ์šฉ ํ•  ID
์ž„ ์‹œ ์ปจ ํ…Œ ์ด ๋„ˆ
๋„ค ํŠธ ์›Œ ํฌ
์ƒˆ ๋กœ ์šด PSEUDO TTY ์ธ ์Šค ํ„ด ์Šค (DEVPTS)
์ปจ ํ…Œ ์ด ๋„ˆ ์‹œ ์Šค ํ…œ ์ฝ˜ ์†”
TTY๋ฅผ ํ†ต ํ•œ ์ฝ˜ ์†”
์ฝ˜ ์†” ์žฅ ์น˜ ์œ„ ์น˜
/DEV ๋”” ๋ ‰ ํ†  ๋ฆฌ
KMSG ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ์‚ฌ ์šฉ
๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ
๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ
์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน
CAPABILITIES
APPARMOR ํ”„ ๋กœ ํŒŒ ์ผ
SELINUX ์ปจ ํ… ์Šค ํŠธ
SECCOMP ์„ค ์ •
PR_SET_NO_NEW_PRIVS
UID ๋งค ํ•‘
์ปจ ํ…Œ ์ด ๋„ˆ ํ›…
์ปจ ํ…Œ ์ด ๋„ˆ ํ›… ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜
๋กœ ๊ทธ
์ž ๋™ ์‹œ ์ž‘
์ž ๋™ ์‹œ ์ž‘ ๊ณผ ์‹œ ์Šค ํ…œ ๋ถ€ ํŒ…
์ปจ ํ…Œ ์ด ๋„ˆ ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜
์˜ˆ ์ œ
๋„ค ํŠธ ์›Œ ํฌ
UID/GID ๋งค ํ•‘
์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน
๋ณต ์žก ํ•œ ์„ค ์ •
์ฐธ ์กฐ
์ฐธ ์กฐ

NAME

lxc.container.conf - LXC ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ํŒŒ ์ผ

์„ค ๋ช…

linux ์ปจ ํ…Œ ์ด ๋„ˆ ( lxc )๋Š” ํ•ญ ์ƒ ์‚ฌ ์šฉ ํ•˜ ๊ธฐ ์ „ ์— ์ƒ ์„ฑ ๋œ ๋‹ค . ์ƒ ์„ฑ ์ž‘ ์—… ์€ ๊ฐ€ ์ƒ ํ™” ํ•  ์ž ์› ๋ฐ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ”„ ๋กœ ์„ธ ์Šค ๋กœ ๋ถ€ ํ„ฐ ๊ณ  ๋ฆฝ ํ•  ์‹œ ์Šค ํ…œ ์ž ์› ๋“ค ์„ ์ • ์˜ ํ•˜ ๋Š” ๊ฒƒ ์ด ๋‹ค . ๊ธฐ ๋ณธ ์  ์œผ ๋กœ pid, sysv ipc, ๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ ๊ฐ€ ๊ฐ€ ์ƒ ํ™” ๋˜ ๊ณ  ๊ณ  ๋ฆฝ ๋œ ๋‹ค . ๋ช… ์‹œ ์  ์œผ ๋กœ ์„ค ์ • ํŒŒ ์ผ ์— ์„œ ์ • ์˜ ๋˜ ๊ธฐ ์ „ ๊นŒ ์ง€ , ๋‹ค ๋ฅธ ์‹œ ์Šค ํ…œ ์ž ์› ๋“ค ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ„ ์— ๊ณต ์œ  ๋œ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด , ๋„ค ํŠธ ์›Œ ํฌ ์„ค ์ • ์ด ๋˜ ์–ด ์žˆ ์ง€ ์•Š ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์ƒ ์„ฑ ํ•œ ์ชฝ ๊ณผ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ„ ์— ๋„ค ํŠธ ์›Œ ํฌ ๋ฅผ ์„œ ๋กœ ๊ณต ์œ  ํ•  ๊ฒƒ ์ด ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ ๋„ค ํŠธ ์›Œ ํฌ ๊ฐ€ ์ง€ ์ • ์ด ๋˜ ์—ˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์œ„ ํ•ด ์ƒˆ ๋กœ ์šด ๋„ค ํŠธ ์›Œ ํฌ ์Šค ํƒ ์ด ์ƒ ์„ฑ ๋œ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ๋” ์ด ์ƒ ๊ทธ ๋ฅผ ์ƒ ์„ฑ ํ•œ ์ชฝ ๊ณผ ๋„ค ํŠธ ์›Œ ํฌ ๋ฅผ ๊ณต ์œ  ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค .

์„ค ์ • ํŒŒ ์ผ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ํ•  ๋‹น ๋  ์‹œ ์Šค ํ…œ ์ž ์› ๋“ค ์„ ์ • ์˜ ํ•œ ๋‹ค . ํ˜„ ์žฌ ๋Š” utsname, ๋„ค ํŠธ ์›Œ ํฌ , ๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ , ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ , ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๊ทธ ๋ฆฌ ๊ณ  ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์ด ์ง€ ์› ๋œ ๋‹ค .

์„ค ์ • ํŒŒ ์ผ ์˜ ์˜ต ์…˜ ์€ key = value ์˜ ํ•œ ์ค„ ๋กœ ์ด ๋ฃจ ์–ด ์ ธ ์žˆ ๋‹ค . โ€™#โ€™ ๋ฌธ ์ž ๋ฅผ ์•ž ์— ๋ถ™ ์—ฌ ์ฃผ ์„ ์ž„ ์„ ๋‚˜ ํƒ€ ๋‚ผ ์ˆ˜ ์žˆ ๋‹ค . capability์™€ cgroup ์˜ต ์…˜ ๊ณผ ๊ฐ™ ์€ ๋ฆฌ ์Šค ํŠธ ์˜ต ์…˜ ๋“ค ์€ , ๊ฐ’ ์„ ์ง€ ์ • ํ•˜ ์ง€ ์•Š ๊ณ  ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ฐ’ ์ด ์ง€ ์ • ๋˜ ์ง€ ์•Š ์€ ๊ฒฝ ์šฐ ์ด ์ „ ์— ์„ค ์ • ํ–ˆ ๋˜ ๋ชจ ๋“  ๊ฐ’ ๋“ค ์„ ์ง€ ์šด ๋‹ค .

์„ค ์ •

์—ฐ ๊ด€ ๋œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์„ ์‰ฝ ๊ฒŒ ๊ด€ ๋ฆฌ ํ•˜ ๊ธฐ ์œ„ ํ•ด ์„œ , ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ํŒŒ ์ผ ์€ ๋‹ค ๋ฅธ ํŒŒ ์ผ ์„ ๋ถˆ ๋Ÿฌ ์˜ฌ ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด ์„œ , ๋„ค ํŠธ ์›Œ ํฌ ์„ค ์ • ์€ ์—ฌ ๋Ÿฌ ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์„ ์œ„ ํ•ด ๊ณต ํ†ต ๋œ ํ•˜ ๋‚˜ ์˜ ํŒŒ ์ผ ๋กœ ์ • ์˜ ๋  ์ˆ˜ ์žˆ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ๋งŒ ์•ฝ ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์ด ๋‹ค ๋ฅธ ํ˜ธ ์Šค ํŠธ ๋กœ ์ด ๋™ ๋œ ๋‹ค ๋ฉด , ํ•ด ๋‹น ํŒŒ ์ผ ํ•˜ ๋‚˜ ๋งŒ ์ˆ˜ ์ • ํ•˜ ๋ฉด ๋œ ๋‹ค .
lxc.include

includeํ•  ํŒŒ ์ผ ์„ ์ง€ ์ • ํ•œ ๋‹ค . includeํ•  ํŒŒ ์ผ ์€ lxc ์„ค ์ • ํŒŒ ์ผ ์˜ ํ˜• ์‹ ์— ๋ถ€ ํ•ฉ ํ•˜ ์—ฌ ์•ผ ํ•œ ๋‹ค .

์•„ ํ‚ค ํ… ์ฒ˜

์ปจ ํ…Œ ์ด ๋„ˆ ์— ์•„ ํ‚ค ํ… ์ฒ˜ ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด , 64๋น„ ํŠธ ํ˜ธ ์Šค ํŠธ ์— ์„œ 32๋น„ ํŠธ ๋ฐ” ์ด ๋„ˆ ๋ฆฌ ๋ฅผ ์‹ค ํ–‰ ํ•˜ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๋ผ ๋ฉด 32๋น„ ํŠธ ์•„ ํ‚ค ํ… ์ฒ˜ ๋กœ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ํŒจ ํ‚ค ์ง€ ๋ฅผ ๋‹ค ์šด ๋กœ ๋“œ ๋ฐ› ๋Š” ๋“ฑ ์˜ ์ž‘ ์—… ์„ ์ˆ˜ ํ–‰ ํ•˜ ๋Š” ์•„ ํ‚ค ํ… ์ฒ˜ ์— ์˜ ์กด ์  ์ธ ์ปจ ํ…Œ ์ด ๋„ˆ ์Šค ํฌ ๋ฆฝ ํŠธ ๊ฐ€ ์ž˜ ๋™ ์ž‘ ํ•  ์ˆ˜ ์žˆ ๋„ ๋ก ํ•ด ์ค€ ๋‹ค .
lxc.arch

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์•„ ํ‚ค ํ… ์ฒ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

๊ฐ€ ๋Šฅ ํ•œ ์˜ต ์…˜ ์€ ์•„ ๋ž˜ ์™€ ๊ฐ™ ๋‹ค . x86 , i686 , x86_64 , amd64

ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„

utsname ์„น ์…˜ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ ์„ค ์ • ํ•  ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ ์ • ์˜ ํ•œ ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์‹œ ์Šค ํ…œ ์˜ ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ ๋ณ€ ๊ฒฝ ํ•˜ ์ง€ ์•Š ๊ณ  ๋„ ์ž ์‹  ์˜ ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ ๋ณ€ ๊ฒฝ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ฆ‰ , ์ปจ ํ…Œ ์ด ๋„ˆ ๋งˆ ๋‹ค ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ ์„ค ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.uts.name

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

์ข… ๋ฃŒ ์‹œ ๊ทธ ๋„

lxc-stop์ด ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ๊นจ ๋— ์ด ์ข… ๋ฃŒ ๋ฅผ ์‹œ ํ‚ค ๊ธฐ ์œ„ ํ•ด ์„œ ๋ณด ๋‚ผ ์‹œ ๊ทธ ๋„ ์˜ ์ด ๋ฆ„ ์ด ๋‚˜ ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . init ์‹œ ์Šค ํ…œ ๋งˆ ๋‹ค ๊นจ ๋— ํ•œ ๏ฟฝ\x85๋ฃŒ ๋ฅผ ์œ„ ํ•ด ๊ฐ ๊ธฐ ๋‹ค ๋ฅธ ์‹œ ๊ทธ ๋„ ์„ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ์˜ต ์…˜ ์€ kill(1)์— ์„œ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๊ฒƒ ์ฒ˜ ๋Ÿผ ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด SIGPWR, SIGRTMIN+14, SIGRTMAX-10 ๋˜ ๋Š” ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ์‹œ ๊ทธ ๋„ ์€ SIGPWR์ด ๋‹ค .
lxc.signal.halt

์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์ข… ๋ฃŒ ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•  ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

์žฌ ๋ถ€ ํŒ… ์‹œ ๊ทธ ๋„

lxc-stop์ด ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์žฌ ๋ถ€ ํŒ… ํ•˜ ๊ธฐ ์œ„ ํ•ด ๋ณด ๋‚ผ ์‹œ ๊ทธ ๋„ ์˜ ์ด ๋ฆ„ ์ด ๋‚˜ ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ์˜ต ์…˜ ์€ kill(1)์— ์„œ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๊ฒƒ ์ฒ˜ ๋Ÿผ ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด SIGINT, SIGRTMIN+14, SIGRTMAX-10 ๋˜ ๋Š” ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ์‹œ ๊ทธ ๋„ ์€ SIGINT์ด ๋‹ค .
lxc.signal.reboot

์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์žฌ ๋ถ€ ํŒ… ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•  ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

๊ฐ• ์ œ ์ข… ๋ฃŒ ์‹œ ๊ทธ ๋„

lxc-stop์ด ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ๊ฐ• ์ œ ์ข… ๋ฃŒ ํ•˜ ๊ธฐ ์œ„ ํ•ด ๋ณด ๋‚ผ ์‹œ ๊ทธ ๋„ ์˜ ์ด ๋ฆ„ ์ด ๋‚˜ ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ์˜ต ์…˜ ์€ kill(1)์— ์„œ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๊ฒƒ ์ฒ˜ ๋Ÿผ ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค >์–ด SIGKILL, SIGRTMIN+14, SIGRTMAX-10 ๋˜ ๋Š” ์ˆซ ์ž ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ์‹œ ๊ทธ ๋„ ์€ SIGKILL์ด ๋‹ค .
lxc.signal.stop

์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ๊ฐ• ์ œ ์ข… ๋ฃŒ ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•  ์‹œ ๊ทธ ๋„ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

INIT ๋ช… ๋ น ์–ด

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ init์œผ ๋กœ ์‚ฌ ์šฉ ํ•  ๋ช… ๋ น ์–ด ๋ฅผ ์„ค ์ • ํ•œ ๋‹ค . ์ด ์˜ต ์…˜ ์€ lxc-execute์„ ์‚ฌ ์šฉ ํ•  ๋•Œ ๋Š” ๋ฌด ์‹œ ๋œ ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ ์€ /sbin/init์ด ๋‹ค .
lxc.init.cmd

init์œผ ๋กœ ์‚ฌ ์šฉ ํ•  ๋ฐ” ์ด ์ € ๋ฆฌ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์— ์„œ ์˜ ์ ˆ ๋Œ€ ๊ฒฝ ๋กœ .

INIT์ด ์‚ฌ ์šฉ ํ•  ID

lxc-execute๊ฐ€ ์‹ค ํ–‰ ํ•˜ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ init ๋ฐ ๋ช… ๋ น ์–ด ๊ฐ€ ์‚ฌ ์šฉ ํ•  UID/GID๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ด ์˜ต ์…˜ ๋“ค ์€ lxc-execute๊ฐ€ ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์•ˆ ์— ์„œ ์‹ค ํ–‰ ๋  ๋•Œ ๋งŒ ์  ์šฉ ๋œ ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ : UID(0), GID(0)
lxc.init.uid

init์ด ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์•ˆ ์— ์„œ ์‚ฌ ์šฉ ํ•  UID.

lxc.init.gid

init์ด ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์•ˆ ์— ์„œ ์‚ฌ ์šฉ ํ•  GID.

์ž„ ์‹œ ์ปจ ํ…Œ ์ด ๋„ˆ

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ข… ๋ฃŒ ๋  ๋•Œ , ํ•ด ๋‹น ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์ œ ๊ฑฐ ํ•  ์ง€ ์—ฌ ๋ถ€ ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.ephemeral

์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•œ ๊ฐ’ ์€ 0 ๋˜ ๋Š” 1์ด ๋‹ค . 1๋กœ ์„ค ์ • ํ•˜ ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์ข… ๋ฃŒ ํ•  ๋•Œ ํ•ด ๋‹น ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์ œ ๊ฑฐ ํ•œ ๋‹ค .

๋„ค ํŠธ ์›Œ ํฌ

๋„ค ํŠธ ์›Œ ํฌ ์„น ์…˜ ์€ ์–ด ๋–ป ๊ฒŒ ๋„ค ํŠธ ์›Œ ํฌ ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ ๊ฐ€ ์ƒ ํ™” ํ•  ์ง€ ๋ฅผ ์ • ์˜ ํ•œ ๋‹ค . ๋„ค ํŠธ ์›Œ ํฌ ๊ฐ€ ์ƒ ํ™” ๋Š” 2๊ฐœ ์˜ ๊ณ„ ์ธต ์œผ ๋กœ ๋™ ์ž‘ ํ•œ ๋‹ค . ๋„ค ํŠธ ์›Œ ํฌ ๊ฐ€ ์ƒ ํ™” ๋ฅผ ์œ„ ํ•ด ์„œ , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋„ค ํŠธ ์›Œ ํฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๊ฐ€ ์ธ ์ˆ˜ ๋กœ ์ง€ ์ • ๋˜ ์–ด ์•ผ ํ•œ ๋‹ค . ์‹œ ์Šค ํ…œ ์ด ํ•˜ ๋‚˜ ์˜ ๋ฌผ ๋ฆฌ ์  ์ธ ๋„ค ํŠธ ์›Œ ํฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ๊ฐ– ๊ณ  ์žˆ ์–ด ๋„ , ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ ๊ฐ€ ์ƒ ํ™” ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋“ค ์„ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.net

๊ฐ’ ์„ ์ง€ ์ • ํ•˜ ์ง€ ์•Š ๊ณ  ์‚ฌ ์šฉ ํ•˜ ์—ฌ ์ด ์ „ ์— ์„ค ์ • ํ–ˆ ๋˜ ๋ชจ ๋“  ๋„ค ํŠธ ์›Œ ํฌ ์˜ต ์…˜ ๋“ค ์„ ์ดˆ ๊ธฐ ํ™” ํ•  ์ˆ˜ ์žˆ ๋‹ค .

lxc.net.[i].type

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์–ด ๋–ค ์ข… ๋ฅ˜ ์˜ ๋„ค ํŠธ ์›Œ ํฌ ๊ฐ€ ์ƒ ํ™” ๋ฅผ ์‚ฌ ์šฉ ํ•  ์ง€ ์ง€ ์ • ํ•œ ๋‹ค . lxc.net.[i].type ํ•„ ๋“œ ๋ถ€ ํ„ฐ ์ƒˆ ๋กœ ์šด ๋„ค ํŠธ ์›Œ ํฌ ์„ค ์ • ์ด ์‹œ ์ž‘ ๋œ ๋‹ค . ์ด ๋ฐฉ ๋ฒ• ์œผ ๋กœ ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ ๋„ค ํŠธ ์›Œ ํฌ ๊ฐ€ ์ƒ ํ™” ํ˜• ํƒœ ๋ฅผ ๊ฐ™ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ ๋„ค ํŠธ ์›Œ ํฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ํ•˜ ๋‚˜ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์ง€ ์ • ํ•  ์ˆ˜ ๋„ ์žˆ ๋‹ค . ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•œ ํ˜• ํƒœ ๋Š” ์•„ ๋ž˜ ์™€ ๊ฐ™ ๋‹ค .

empty: ๋Š” ๋ฃจ ํ”„ ๋ฐฑ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋งŒ ์ƒ ์„ฑ ํ•œ ๋‹ค .

veth: ํ•œ ์ชฝ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ , ๋‹ค ๋ฅธ ํ•œ ์ชฝ ์€ lxc.net.[i].link ์˜ต ์…˜ ์œผ ๋กœ ์ง€ ์ • ํ•œ ๋ธŒ ๋ฆฌ ์ง€ ๋กœ ๋ถ™ ์€ ๊ฐ€ ์ƒ ์ด ๋” ๋„ท (veth) ์žฅ ์น˜ ์Œ ์„ ์ƒ ์„ฑ ํ•œ ๋‹ค . ๋งŒ ์•ฝ ๋ธŒ ๋ฆฌ ์ง€ ๊ฐ€ ์ง€ ์ • ๋˜ ์ง€ ์•Š ์•˜ ๋‹ค ๋ฉด , ์–ด ๋–ค ๋ธŒ ๋ฆฌ ์ง€ ์— ๋„ ๋ถ™ ์ง€ ์•Š ์€ veth ์žฅ ์น˜ ์Œ ์„ ๋งŒ ๋“  ๋‹ค . ๋ธŒ ๋ฆฌ ์ง€ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์‹œ ์ž‘ ์ „ ์— ์‹œ ์Šค ํ…œ ์— ์„œ ์ƒ ์„ฑ ํ•ด ์•ผ ํ•œ ๋‹ค . lxc ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์ด ์™ธ ์˜ ์„ค ์ • ์— ๋Œ€ ํ•ด ์„œ ๋Š” ๋‹ค ๋ฃจ ์ง€ ์•Š ๋Š” ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ ์œผ ๋กœ lxc ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฐ” ๊นฅ ์— ์† ํ•  ๋„ค ํŠธ ์›Œ ํฌ ๋”” ๋ฐ” ์ด ์Šค ์˜ ์ด ๋ฆ„ ์„ ์ • ํ•ด ์ค€ ๋‹ค . ์ด ๋ฆ„ ์„ ๋ณ€ ๊ฒฝ ํ•˜ ๊ธฐ ์› ํ•œ ๋‹ค ๋ฉด , lxc ๊ฐ€ ์ง€ ์ • ํ•œ ์ด ๋ฆ„ ์œผ ๋กœ ์„ค ์ • ํ•˜ ๋„ ๋ก lxc.net.[i].veth.pair ์˜ต ์…˜ ์„ ์‚ฌ ์šฉ ํ•˜ ์—ฌ ์•ผ ํ•œ ๋‹ค . (๋น„ ํŠน ๊ถŒ ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ๋ถˆ ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค . ์ด ์˜ต ์…˜ ์€ ๋ณด ์•ˆ ์ƒ ์˜ ์ด ์œ  ๋กœ ๋ฌด ์‹œ ๋  ๊ฒƒ ์ด ๋‹ค )

vlan: vlan ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋Š” lxc.net.[i].link ๋กœ ์ง€ ์ • ํ•œ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์—ฐ ๊ฒฐ ๋˜ ๊ณ  , ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ํ•  ๋‹น ๋œ ๋‹ค . vlan์˜ ์‹ ๋ณ„ ์ž ๋Š” lxc.net.[i].vlan.id ์˜ต ์…˜ ์œผ ๋กœ ์ง€ ์ • ํ•œ ๋‹ค .

macvlan: macvlan ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋Š” lxc.net.[i].link ๋กœ ์ง€ ์ • ํ•œ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์—ฐ ๊ฒฐ ๋˜ ๊ณ  , ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ํ•  ๋‹น ๋œ ๋‹ค . lxc.net.[i].macvlan.mode ์€ ๊ฐ™ ์€ ์ƒ ์œ„ ๋”” ๋ฐ” ์ด ์Šค ์— ์žˆ ๋Š” ๋‹ค ๋ฅธ macvlan๊ณผ ํ†ต ์‹  ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๋ชจ ๋“œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋Š” ๋ชจ ๋“œ ๋Š” private ใ€ vepa ใ€ bridge ใ€ passthru ์ด ๋‹ค . private ๋ชจ ๋“œ ๋Š” ๋”” ๋ฐ” ์ด ์Šค ๊ฐ€ ๊ฐ™ ์€ ์ƒ ์œ„ ๋”” ๋ฐ” ์ด ์Šค ์˜ ์–ด ๋–ค ์žฅ ์น˜ ์™€ ๋„ ํ†ต ์‹  ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค . (๊ธฐ ๋ณธ ๊ฐ’ ) ์ƒˆ ๋กœ ์šด ๊ฐ€ ์ƒ ์ด ๋” ๋„ท ํฌ ํŠธ ํ†ต ํ•ฉ ๋ชจ ๋“œ (Virtual Ethernet Port Aggregator), ์ฆ‰ vepa ๋ชจ ๋“œ ๋Š” ์ธ ์ ‘ ํ•œ ๋ธŒ ๋ฆฌ ์ง€ ๊ฐ€ ์†Œ ์Šค ์™€ ๋ชฉ ์  ์ง€ ๊ฐ€ ๋กœ ์ปฌ ์ธ ๋ชจ ๋“  ํ”„ ๋ ˆ ์ž„ ๋“ค ์„ macvlan ํฌ ํŠธ ๋กœ ๋ฐ˜ ํ™˜ ํ•œ ๋‹ค ๊ณ  ๊ฐ€ ์ • ํ•œ ๋‹ค . ์ฆ‰ , ๋ธŒ ๋ฆฌ ์ง€ ๊ฐ€ reflective relay๋กœ ์„ค ์ • ๋˜ ์–ด ์žˆ ๋‹ค ๋Š” ๊ฒƒ ์ด ๋‹ค . ์ƒ ์œ„ ์žฅ ์น˜ ์— ์„œ ๋“ค ์–ด ์˜ค ๋Š” ๋ธŒ ๋กœ ๋“œ ์บ ์Šค ํŠธ ํ”„ ๋ ˆ ์ž„ ๋“ค ์€ ๋ชจ ๋“  macvlan ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ๊ฒŒ ๋ณด ๋‚ด ์ ธ ๋ฒ„ ๋ฆฐ ๋‹ค . ๋กœ ์ปฌ ํ”„ ๋ ˆ ์ž„ ๋“ค ์€ ๋กœ ์ปฌ ๋กœ ๋ณด ๋‚ด ์ง€ ์ง€ ์•Š ๋Š” ๋‹ค . bridge ๋ชจ ๋“œ ๋Š” ๊ฐ™ ์€ ํฌ ํŠธ ์˜ ๋‹ค ๋ฅธ macvlan ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์‚ฌ ์ด ์— ๊ฐ„ ๋‹จ ํ•œ ๋ธŒ ๋ฆฌ ์ง€ ๋ฅผ ์ œ ๊ณต ํ•œ ๋‹ค . ์–ด ๋–ค ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์„œ ๋‹ค ๋ฅธ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋กœ ํ”„ ๋ ˆ ์ž„ ์€ ์ง ์ ‘ ์ „ ๋‹ฌ ๋œ ๋‹ค . ํ•˜ ์ง€ ๋งŒ ์™ธ ๋ถ€ ๋กœ ๋Š” ๋ณด ๋‚ด ์ง€ ์ง€ ์•Š ๋Š” ๋‹ค . ๋ธŒ ๋กœ ๋“œ ์บ ์Šค ํŠธ ํ”„ ๋ ˆ ์ž„ ๋“ค ์€ ๋ชจ ๋“  ๋‹ค ๋ฅธ ๋ธŒ ๋ฆฌ ์ง€ ํฌ ํŠธ ๋“ค ๊ณผ ์™ธ ๋ถ€ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์ „ ๋‹ฌ ๋œ ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ reflective relay๋กœ ๋‹ค ์‹œ ๋Œ ์•„ ์™” ์„ ๋•Œ ๋Š” , ๊ทธ ๊ฒƒ ๋“ค ์„ ๋‹ค ์‹œ ์ „ ์†ก ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค . ๋ชจ ๋“  MAC ์ฃผ ์†Œ ๋ฅผ ์•Œ ๊ธฐ ๋•Œ ๋ฌธ ์— , macvlan ๋ธŒ ๋ฆฌ ์ง€ ๋ชจ ๋“œ ๋Š” ๋ธŒ ๋ฆฌ ์ง€ ๋ชจ ๋“ˆ ์ฒ˜ ๋Ÿผ ํ•™ ์Šต ์ด ๋‚˜ STP๋ฅผ ์š” ๊ตฌ ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค . passthru ๋ชจ ๋“œ ๋Š” ๋ฌผ ๋ฆฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋กœ ๋ถ€ ํ„ฐ ๋ฐ› ์€ ๋ชจ ๋“  ํ”„ ๋ ˆ ์ž„ ๋“ค ์„ macvlan ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋กœ ํฌ ์›Œ ๋”ฉ ํ•œ ๋‹ค . passthru ๋ชจ ๋“œ ๋งŒ ์ด ํ•˜ ๋‚˜ ์˜ ๋ฌผ ๋ฆฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ์„ค ์ • ํ•˜ ๋Š” ๊ฒŒ ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

phys: lxc.net.[i].link ๋กœ ์ง€ ์ • ํ•œ ์ด ๋ฏธ ์กด ์žฌ ํ•˜ ๋Š” ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ํ•  ๋‹น ๋œ ๋‹ค .

lxc.net.[i].flags

๋„ค ํŠธ ์›Œ ํฌ ์— ์ˆ˜ ํ–‰ ํ•  ์ž‘ ์—… ์„ ์ง€ ์ • ํ•œ ๋‹ค .

up: ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ํ™œ ์„ฑ ํ™” ์‹œ ํ‚จ ๋‹ค .

lxc.net.[i].link

์‹ค ์ œ ๋„ค ํŠธ ์›Œ ํฌ ํŠธ ๋ž˜ ํ”ฝ ์— ์‚ฌ ์šฉ ํ•  ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

lxc.net.[i].mtu

ํ•ด ๋‹น ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์˜ ์ตœ ๋Œ€ ์ „ ์†ก ๋‹จ ์œ„ (MTU)๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

lxc.net.[i].name

์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์ด ๋ฆ„ ์€ ๋™ ์  ์œผ ๋กœ ํ•  ๋‹น ๋œ ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ , ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ผ ๋ฐ˜ ์  ์œผ ๋กœ ์‚ฌ ์šฉ ํ•˜ ๋Š” ์ด ๋ฆ„ ๊ณผ ๋‹ค ๋ฅธ ์ด ๋ฆ„ ์ด ํ•„ ์š” ํ•˜ ๋‹ค ๋ฉด , (์˜ˆ : eth0) ์ด ์˜ต ์…˜ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์žˆ ๋Š” ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์˜ ์ด ๋ฆ„ ์„ ์ง€ ์ • ํ•œ ๊ฒƒ ์œผ ๋กœ ๋ณ€ ๊ฒฝ ํ•  ์ˆ˜ ์žˆ ๋‹ค .

lxc.net.[i].hwaddr

๊ฐ€ ์ƒ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์˜ MAC ์ฃผ ์†Œ ๋Š” ๊ธฐ ๋ณธ ์  ์œผ ๋กœ ๋™ ์  ํ•  ๋‹น ๋œ ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ ๋ช‡ ๋ช‡ ๊ฐ€ ์ง€ ์ด ์œ  ๋กœ MAC ์ฃผ ์†Œ ์ถฉ ๋Œ ๋ฌธ ์ œ ๋ฅผ ํ•ด ๊ฒฐ ํ•˜ ๊ฑฐ ๋‚˜ , ์–ธ ์ œ ๋‚˜ ๊ฐ™ ์€ ๋ง ํฌ ๋กœ ์ปฌ IPv6 ์ฃผ ์†Œ ๊ฐ€ ํ•„ ์š” ํ•˜ ๋‹ค ๋ฉด , ์ด ์˜ต ์…˜ ์ด ํ•„ ์š” ํ•˜ ๋‹ค . ์ฃผ ์†Œ ์˜ "x"๋Š” ๋ฌด ์ž‘ ์œ„ ํ•œ ๊ฐ’ ์œผ ๋กœ ๋ฐ” ๋€ ๋‹ค . ํ…œ ํ”Œ ๋ฆฟ ์— ์„œ ํ•˜ ๋“œ ์›จ ์–ด ์ฃผ ์†Œ ๋ฅผ ์„ค ์ • ํ•˜ ๋Š” ๋ฐ ์œ  ์šฉ ํ•˜ ๋‹ค .

lxc.net.[i].ipv4.address

๊ฐ€ ์ƒ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์„œ ์‚ฌ ์šฉ ํ•  IPv4 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์—ฌ ๋Ÿฌ ํ–‰ ์œผ ๋กœ ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ IPv4 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ฃผ ์†Œ ์˜ ํ˜• ์‹ ์€ x.y.z.t/m์œผ ๋กœ , ์˜ˆ ๋ฅผ ๋“ค ์–ด 192.168.1.123/24์ด ๋‹ค . ๋ธŒ ๋กœ ๋“œ ์บ ์Šค ํŠธ ์ฃผ ์†Œ ๋Š” ๊ฐ™ ์€ ํ–‰ ์˜ ์ฃผ ์†Œ ๋ฐ” ๋กœ ์˜ค ๋ฅธ ์ชฝ ์— ์ง€ ์ • ํ•˜ ๋ฉด ๋œ ๋‹ค .

lxc.net.[i].ipv4.gateway

์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ๋ถ€ ์— ์„œ ๊ฒŒ ์ด ํŠธ ์›จ ์ด ๋กœ ์‚ฌ ์šฉ ํ•  IPv4 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ฃผ ์†Œ ํ˜• ์‹ ์€ x.y.z.t๋กœ , ์˜ˆ ๋ฅผ ๋“ค ๋ฉด 192.168.1.123์ด ๋‹ค . auto ๋ผ ๋Š” ํŠน ๋ณ„ ํ•œ ๊ฐ’ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ๊ฒƒ ์€ ( lxc.net.[i].link ์— ์„œ ์ง€ ์ • ๋œ ) ๋ธŒ ๋ฆฌ ์ง€ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์˜ ์ฒซ ๋ฒˆ ์งธ ์ฃผ ์†Œ ๋ฅผ ๊ฐ€ ์ ธ ์™€ ๊ฒŒ ์ด ํŠธ ์ฃผ ์†Œ ๋กœ ์‚ฌ ์šฉ ํ•œ ๋‹ค . auto ๋Š” ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ ๊ฐ€ veth ๋‚˜ macvlan ์ผ ๋•Œ ๋งŒ ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

lxc.net.[i].ipv6.address

๊ฐ€ ์ƒ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์— ์„œ ์‚ฌ ์šฉ ํ•  IPv6 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์—ฌ ๋Ÿฌ ํ–‰ ์œผ ๋กœ ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ IPv6 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ฃผ ์†Œ ์˜ ํ˜• ์‹ ์€ x::y/m์œผ ๋กœ , ์˜ˆ ๋ฅผ ๋“ค ์–ด 2003:db8:1:0:214:1234:fe0b:3596/64์ด ๋‹ค .

lxc.net.[i].ipv6.gateway

์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ๋ถ€ ์— ์„œ ๊ฒŒ ์ด ํŠธ ์›จ ์ด ๋กœ ์‚ฌ ์šฉ ํ•  IPv4 ์ฃผ ์†Œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ฃผ ์†Œ ํ˜• ์‹ ์€ x::y๋กœ , ์˜ˆ ๋ฅผ ๋“ค ๋ฉด 2003:db8:1:0::1์ด ๋‹ค . auto ๋ผ ๋Š” ํŠน ๋ณ„ ํ•œ ๊ฐ’ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ๊ฒƒ ์€ ( lxc.net.[i].link ์— ์„œ ์ง€ ์ • ๋œ ) ๋ธŒ ๋ฆฌ ์ง€ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค ์˜ ์ฒซ ๋ฒˆ ์งธ ์ฃผ ์†Œ ๋ฅผ ๊ฐ€ ์ ธ ์™€ ๊ฒŒ ์ด ํŠธ ์ฃผ ์†Œ ๋กœ ์‚ฌ ์šฉ ํ•œ ๋‹ค . auto ๋Š” ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ ๊ฐ€ veth ๋‚˜ macvlan ์ผ ๋•Œ ๋งŒ ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

lxc.net.[i].script.up

๋„ค ํŠธ ์›Œ ํฌ ๋ฅผ ์„ค ์ • ํ•˜ ๊ณ  ์ƒ ์„ฑ ํ•œ ํ›„ ์— ํ˜ธ ์Šค ํŠธ ์ชฝ ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ์Šค ํฌ ๋ฆฝ ํŠธ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์ด ์Šค ํฌ ๋ฆฝ ํŠธ ์— ๋„˜ ๊ฒจ ์ง„ ๋‹ค : ์ปจ ํ…Œ ์ด ๋„ˆ ์ด ๋ฆ„ , ์„ค ์ • ์„น ์…˜ ์ด ๋ฆ„ (net). ๊ทธ ํ›„ ์ธ ์ˆ˜ ๋Š” ํ›… ์Šค ํฌ ๋ฆฝ ํŠธ ์„ ์‚ฌ ์šฉ ํ•˜ ๋Š” ์„ค ์ • ์„น ์…˜ ์— ๋‹ฌ ๋ ค ์žˆ ๋‹ค . ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์€ ๋„ค ํŠธ ์›Œ ํฌ ์‹œ ์Šค ํ…œ ์— ์˜ ํ•ด ์‚ฌ ์šฉ ๋˜ ์–ด ์ง„ ๋‹ค : ์‹ค ํ–‰ ์ปจ ํ… ์Šค ํŠธ (up), ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ (empty/veth/macvlan/phys). ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ ์— ๋”ฐ ๋ผ ์„œ ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์ด ๋„˜ ๊ฒจ ์ง„ ๋‹ค : veth/macvlan/phys์˜ ๊ฒฝ ์šฐ , (ํ˜ธ ์Šค ํŠธ ์ชฝ ์˜ ) ์žฅ ์น˜ ์ด ๋ฆ„ .

์Šค ํฌ ๋ฆฝ ํŠธ ์˜ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์€ debug ์ˆ˜ ์ค€ ๋กœ ๊ทธ ๋กœ ๋‚ฉ ๊ฒจ ์ง„ ๋‹ค . ํ‘œ ์ค€ ์— ๋Ÿฌ ๋Š” ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ฒจ ์ง€ ์ง€ ๋Š” ์•Š ์ง€ ๋งŒ , ํ‘œ ์ค€ ์— ๋Ÿฌ ๋ฅผ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์œผ ๋กœ ๋ฆฌ ๋‹ค ์ด ๋ ‰ ์…˜ ํ•˜ ์—ฌ ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ธธ ์ˆ˜ ์žˆ ๋‹ค .

lxc.net.[i].script.down

๋„ค ํŠธ ์›Œ ํฌ ๋ฅผ ์ œ ๊ฑฐ ํ•œ ํ›„ ์— ํ˜ธ ์Šค ํŠธ ์ชฝ ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ์Šค ํฌ ๋ฆฝ ํŠธ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์ด ์Šค ํฌ ๋ฆฝ ํŠธ ์— ๋„˜ ๊ฒจ ์ง„ ๋‹ค : ์ปจ ํ…Œ ์ด ๋„ˆ ์ด ๋ฆ„ , ์„ค ์ • ์„น ์…˜ ์ด ๋ฆ„ (net). ๊ทธ ํ›„ ์ธ ์ˆ˜ ๋Š” ํ›… ์Šค ํฌ ๋ฆฝ ํŠธ ์„ ์‚ฌ ์šฉ ํ•˜ ๋Š” ์„ค ์ • ์„น ์…˜ ์— ๋‹ฌ ๋ ค ์žˆ ๋‹ค . ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์€ ๋„ค ํŠธ ์›Œ ํฌ ์‹œ ์Šค ํ…œ ์— ์˜ ํ•ด ์‚ฌ ์šฉ ๋˜ ์–ด ์ง„ ๋‹ค : ์‹ค ํ–‰ ์ปจ ํ… ์Šค ํŠธ (down), ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ (empty/veth/macvlan/phys). ๋„ค ํŠธ ์›Œ ํฌ ํ˜• ํƒœ ์— ๋”ฐ ๋ผ ์„œ ๋‹ค ์Œ ์ธ ์ˆ˜ ๋“ค ์ด ๋„˜ ๊ฒจ ์ง„ ๋‹ค : veth/macvlan/phys์˜ ๊ฒฝ ์šฐ , (ํ˜ธ ์Šค ํŠธ ์ชฝ ์˜ ) ์žฅ ์น˜ ์ด ๋ฆ„ .

์Šค ํฌ ๋ฆฝ ํŠธ ์˜ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์€ debug ์ˆ˜ ์ค€ ๋กœ ๊ทธ ๋กœ ๋‚ฉ ๊ฒจ ์ง„ ๋‹ค . ํ‘œ ์ค€ ์— ๋Ÿฌ ๋Š” ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ฒจ ์ง€ ์ง€ ๋Š” ์•Š ์ง€ ๋งŒ , ํ‘œ ์ค€ ์— ๋Ÿฌ ๋ฅผ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์œผ ๋กœ ๋ฆฌ ๋‹ค ์ด ๋ ‰ ์…˜ ํ•˜ ์—ฌ ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ธธ ์ˆ˜ ์žˆ ๋‹ค .

์ƒˆ ๋กœ ์šด PSEUDO TTY ์ธ ์Šค ํ„ด ์Šค (DEVPTS)

๊ฐ• ํ•œ ๊ณ  ๋ฆฝ ์„ ์œ„ ํ•ด ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์ž ๊ธฐ ์ž ์‹  ๋งŒ ์˜ pseudo tty๋ฅผ ๊ฐ€ ์งˆ ์ˆ˜ ์žˆ ๋‹ค .
lxc.pty.max

๋งŒ ์•ฝ ์ง€ ์ • ๋˜ ์—ˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์ƒˆ pseudo tty ์ธ ์Šค ํ„ด ์Šค ๋ฅผ ๊ฐ– ๋Š” ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ์ด ๊ฒƒ ์„ ์ž ๊ธฐ ์ž ์‹  ์ „ ์šฉ ์œผ ๋กœ ๋งŒ ๋“  ๋‹ค . ์ง€ ์ • ํ•˜ ๋Š” ๊ฐ’ ์€ pseudo tty์˜ ์ตœ ๋Œ€ ๊ฐœ ์ˆ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . (์ด ์ œ ํ•œ ์€ ์•„ ์ง ๊ตฌ ํ˜„ ๋˜ ์ง€ ์•Š ์•˜ ๋‹ค )

์ปจ ํ…Œ ์ด ๋„ˆ ์‹œ ์Šค ํ…œ ์ฝ˜ ์†”

์ปจ ํ…Œ ์ด ๋„ˆ ์— ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์„ค ์ • ๋˜ ์–ด ์žˆ ๊ณ  inittab ํŒŒ ์ผ ์— ์ฝ˜ ์†” ์„ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๊ฒƒ ์ด ์„ค ์ • ๋˜ ์–ด ์žˆ ๋‹ค ๋ฉด , ์ฝ˜ ์†” ์˜ ์ถœ ๋ ฅ ์„ ์–ด ๋”” ๋กœ ํ•  ์ง€ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.console.logfile

์ฝ˜ ์†” ์˜ ์ถœ ๋ ฅ ์„ ์“ธ ํŒŒ ์ผ ์˜ ๊ฒฝ ๋กœ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

lxc.console.path

์ฝ˜ ์†” ์„ ๋ถ™ ์ผ ์žฅ ์น˜ ์˜ ๊ฒฝ ๋กœ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . โ€™noneโ€™์ด ๋ผ ๋Š” ๊ฐ’ ์€ ๋‹จ ์ˆœ ํžˆ ์ฝ˜ ์†” ์„ ๋น„ ํ™œ ์„ฑ ํ™” ์‹œ ํ‚จ ๋‹ค . ๋งŒ ์•ฝ ์‘ ์šฉ ํ”„ ๋กœ ๊ทธ ๋žจ ์ด ์“ธ ์ˆ˜ ์žˆ ๋Š” ์ฝ˜ ์†” ์žฅ ์น˜ ํŒŒ ์ผ ์ด ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์— ์žˆ ์œผ ๋ฉด , ๋ฉ” ์‹œ ์ง€ ๊ฐ€ ํ˜ธ ์Šค ํŠธ ์ชฝ ์— ์ถœ ๋ ฅ ๋˜ ๋ฏ€ ๋กœ ์ด ์„ค ์ • ์€ ์œ„ ํ—˜ ํ•  ์ˆ˜ ์žˆ ๋‹ค .

TTY๋ฅผ ํ†ต ํ•œ ์ฝ˜ ์†”

์ปจ ํ…Œ ์ด ๋„ˆ ์— ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์„ค ์ • ๋˜ ์–ด ์žˆ ๊ณ  inittab ํŒŒ ์ผ ์— tty์— ์„œ getty๋ฅผ ์‹ค ํ–‰ ํ•˜ ๋Š” ๊ฒƒ ์ด ์„ค ์ • ๋˜ ์–ด ์žˆ ๋‹ค ๋ฉด , ์ด ์˜ต ์…˜ ์€ ์œ  ์šฉ ํ•˜ ๋‹ค . ์ด ์˜ต ์…˜ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•œ tty์˜ ๊ฐœ ์ˆ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ inittab ํŒŒ ์ผ ์— ์„ค ์ • ๋œ getty์˜ ๊ฐœ ์ˆ˜ ๋Š” ์ด ์˜ต ์…˜ ์— ์„œ ์ • ํ•œ tty์˜ ๊ฐœ ์ˆ˜ ๋ณด ๋‹ค ํฌ ๋ฉด ์•ˆ ๋œ ๋‹ค . ๊ทธ ๋ ‡ ์ง€ ์•Š ์œผ ๋ฉด ์ดˆ ๊ณผ ๋œ getty ์„ธ ์…˜ ์€ ๋ฌด ํ•œ ํžˆ ์ฃฝ ๊ณ  ๋‹ค ์‹œ ์‚ด ์•„ ๋‚˜ ๊ธฐ ๋ฅผ ๋ฐ˜ ๋ณต ํ•˜ ๋ฉฐ ์ฝ˜ ์†” ์ด ๋‚˜ /var/log/messages ์— ๊ณ„ ์† ๋ฉ” ์‹œ ์ง€ ๋ฅผ ๋„ ์šธ ๊ฒƒ ์ด ๋‹ค .
lxc.tty.max

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ๋งŒ ๋“ค ์ˆ˜ ์žˆ ๋Š” tty์˜ ๊ฐœ ์ˆ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

์ฝ˜ ์†” ์žฅ ์น˜ ์œ„ ์น˜

LXC ์ฝ˜ ์†” ์€ ํ˜ธ ์Šค ํŠธ ์— ์„œ ์ƒ ์„ฑ ๋œ Unix98 PTY์™€ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ๋ฐ” ์ธ ๋“œ ๋งˆ ์šด ํŠธ ๋  ์žฅ ์น˜ ๋“ค ์„ ํ†ต ํ•ด ์ œ ๊ณต ๋œ ๋‹ค . ๊ธฐ ๋ณธ ์  ์œผ ๋กœ /dev/console ์™€ /dev/ttyN ๋ฅผ ๋ฐ” ์ธ ๋“œ ๋งˆ ์šด ํŠธ ํ•œ ๋‹ค . ์ด ๊ฒƒ ์€ ๊ฒŒ ์Šค ํŠธ ์— ์„œ ํŒจ ํ‚ค ์ง€ ์—… ๊ทธ ๋ ˆ ์ด ๋“œ ๋ฅผ ๋ฐฉ ํ•ด ํ•˜ ๋Š” ์š” ์ธ ์ด ๋œ ๋‹ค . ๊ทธ ๋ž˜ ์„œ /dev ๋ฐ‘ ์— LXC๊ฐ€ ํŒŒ ์ผ ์„ ์ƒ ์„ฑ ํ•˜ ๊ณ  ๋ฐ” ์ธ ๋“œ ๋งˆ ์šด ํŠธ ํ•  ๋”” ๋ ‰ ํ†  ๋ฆฌ ์˜ ์œ„ ์น˜ ๋ฅผ ๋”ฐ ๋กœ ์ง€ ์ • ํ•ด ์ค„ ์ˆ˜ ์žˆ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ๋งŒ ๋“ค ์–ด ์ง„ ํŒŒ ์ผ ๋“ค ์€ /dev/console ์™€ /dev/ttyN ์— ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋œ ๋‹ค . ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋“ค ์€ ์‚ญ ์ œ ํ•˜ ๊ฑฐ ๋‚˜ ๋Œ€ ์ฒด ํ•˜ ๋Š” ๊ฒƒ ์ด ๊ฐ€ ๋Šฅ ํ•˜ ๋ฏ€ ๋กœ ํŒจ ํ‚ค ์ง€ ์—… ๊ทธ ๋ ˆ ์ด ๋“œ ๋Š” ์„ฑ ๊ณต ์  ์œผ ๋กœ ์ด ๋ฃจ ์–ด ์งˆ ์ˆ˜ ์žˆ ๋‹ค .
lxc.tty.dir

์ปจ ํ…Œ ์ด ๋„ˆ ์ฝ˜ ์†” ์žฅ ์น˜ ๋ฅผ ์ƒ ์„ฑ ํ•  /dev ๋ฐ‘ ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

/DEV ๋”” ๋ ‰ ํ†  ๋ฆฌ

๊ธฐ ๋ณธ ์  ์œผ ๋กœ lxc๋Š” ์•ฝ ๊ฐ„ ์˜ ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ (fd, stdin, stdout, stderr)๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ /dev ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ์ƒ ์„ฑ ํ•œ ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ ์ž ๋™ ์œผ ๋กœ ์žฅ ์น˜ ๋…ธ ๋“œ ํ•ญ ๋ชฉ ๋“ค ์„ ์ƒ ์„ฑ ํ•ด ์ฃผ ์ง€ ์•Š ๋Š” ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์— ์„œ ํ•„ ์š” ๋กœ ํ•˜ ๋Š” /dev ๋ฅผ ์ƒ ์„ฑ ํ•  ์ˆ˜ ์žˆ ๊ฒŒ ํ•˜ ๋Š” ๊ฒƒ ์ด ๋‹ค . lxc.autodev๊ฐ€ 1๋กœ ์ง€ ์ • ๋˜ ์—ˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๋งˆ ์šด ํŠธ ํ•œ ํ›„ , LXC๊ฐ€ /dev ๋ฐ‘ ์— ์ƒˆ ๋กœ ์šด tmpfs(์ตœ ๋Œ€ 500k)๋ฅผ ๋งˆ ์šด ํŠธ ํ•ด ์ค€ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ์ตœ ์†Œ ํ•œ ์˜ ์žฅ ์น˜ ๋งŒ ์„ ์ฑ„ ์›Œ ์ค€ ๋‹ค . ์ด ๊ฒƒ ์€ "systemd" ๊ธฐ ๋ฐ˜ ์˜ "init" ํ™˜ ๊ฒฝ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์‹œ ์ž‘ ํ•  ๋•Œ ์ผ ๋ฐ˜ ์  ์œผ ๋กœ ํ•„ ์š” ํ•˜ ์ง€ ๋งŒ , ๋‹ค ๋ฅธ ํ™˜ ๊ฒฝ ์˜ ๊ฒฝ ์šฐ ๋Š” ์„  ํƒ ์  ์ธ ์š” ์†Œ ์ด ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ถ€ ๊ฐ€ ์  ์ธ ์žฅ ์น˜ ๋“ค ์€ lxc.hook.autodev ํ›… ์Šค ํฌ ๋ฆฝ ํŠธ ๋ฅผ ์‚ฌ ์šฉ ํ•˜ ์—ฌ /dev ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ์ƒ ์„ฑ ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.autodev

์ปจ ํ…Œ ์ด ๋„ˆ ์‹œ ์ž‘ ์‹œ /dev ์„ ๋งˆ ์šด ํŠธ ํ•˜ ๊ณ  ์ตœ ์†Œ ํ•œ ์œผ ๋กœ /dev ๋ฅผ ๊ตฌ ์„ฑ ํ•  ์ง€ ์ง€ ์ • ํ•œ ๋‹ค . 0์ด ๋ฉด ํ•ด ๋‹น ๋™ ์ž‘ ์„ ์ˆ˜ ํ–‰ ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค .

KMSG ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ์‚ฌ ์šฉ

/dev/console์— ๋Œ€ ํ•œ ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋กœ /dev/kmsg๋ฅผ ์ƒ ์„ฑ ํ•œ ๋‹ค .
lxc.kmsg

์ด ๊ฒƒ ์„ 1๋กœ ์ง€ ์ • ํ•˜ ๋ฉด /dev/kmsg ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋ฅผ ์‚ฌ ์šฉ ํ•œ ๋‹ค .

๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ

๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ ์„น ์…˜ ์€ ๋งˆ ์šด ํŠธ ๊ฐ€ ๋  ๊ฐ ๊ฐ ์˜ ์žฅ ์†Œ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ด ๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ ๋“ค ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ๋งŒ ๋ณด ์ด ๊ณ  ์™ธ ๋ถ€ ์— ์„œ ์‹ค ํ–‰ ํ•˜ ๋Š” ํ”„ ๋กœ ์„ธ ์Šค ๋“ค ์— ๊ฒ ๋ณด ์ด ์ง€ ์•Š ๋Š” ๋‹ค . ์ด ๋Š” ์˜ˆ ๋ฅผ ๋“ค ์–ด /etc, /var, /home์„ ๋งˆ ์šด ํŠธ ํ•  ๋•Œ ์œ  ์šฉ ํ•˜ ๋‹ค .

์ฃผ ์˜ - ๋ณด ํ†ต LXC๋Š” ๋งˆ ์šด ํŠธ ๋Œ€ ์ƒ ๊ณผ ์ƒ ๋Œ€ ๊ฒฝ ๋กœ ๋กœ ๋œ ๋ฐ” ์ธ ๋“œ ๋งˆ ์šด ํŠธ ์†Œ ์Šค ๋“ค ์ด ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ฃจ ํŠธ ์•„ ๋ž˜ ์— ์žˆ ๋„ ๋ก ๋ณด ์žฅ ํ•  ๊ฒƒ ์ด ๋‹ค . ์ด ๋Š” ํ˜ธ ์Šค ํŠธ ๋”” ๋ ‰ ํ†  ๋ฆฌ ์™€ ํŒŒ ์ผ ๋“ค ์„ ๊ฒน ์ณ ์„œ ๋งˆ ์šด ํŠธ ํ•˜ ๋Š” ์œ  ํ˜• ์˜ ๊ณต ๊ฒฉ ์„ ํ”ผ ํ•˜ ๊ธฐ ์œ„ ํ•œ ๊ฒƒ ์ด ๋‹ค . (์ ˆ ๋Œ€ ๊ฒฝ ๋กœ ๋กœ ๋œ ๋งˆ ์šด ํŠธ ์†Œ ์Šค ๋‚ด ์— ์กด ์žฌ ํ•˜ ๋Š” ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋“ค ์€ ๋ฌด ์‹œ ๋  ๊ฒƒ ์ด ๋‹ค .) ํ•˜ ์ง€ ๋งŒ , ๋งŒ ์•ฝ ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ์— ์„œ ์ปจ ํ…Œ ์ด ๋„ˆ ์‚ฌ ์šฉ ์ž ๊ฐ€ ์ œ ์–ด ํ•  ์ˆ˜ ์žˆ ๋Š” , ์˜ˆ ๋ฅผ ๋“ค ์–ด /home/joe์™€ ๊ฐ™ ์€ ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์˜ path ์— ๋จผ ์ € ๋งˆ ์šด ํŠธ ํ•˜ ๊ณ  ๋‚˜ ์„œ , path ๋‚ด ์— ๋˜ ๋งˆ ์šด ํŠธ ๋ฅผ ํ•˜ ๋Š” ๊ฒฝ ์šฐ ๊ฐ€ ์žˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์‚ฌ ์šฉ ์ž ๊ฐ€ ์ž ์‹  ์˜ home ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ์žˆ ๋Š” ์‹ฌ ๋ณผ ๋ฆญ ๋ง ํฌ ๋ฅผ ์ • ํ™• ํ•œ ์‹œ ๊ฐ„ ์— ์กฐ ์ž‘ ํ•˜ ์—ฌ , TOCTTOU (์—ญ ์ฃผ : Time of check to time of use) ๊ณต ๊ฒฉ ์ด ๊ฐ€ ๋Šฅ ํ•  ๊ฒƒ ์ด ๋‹ค .
lxc.mount.fstab

๋งˆ ์šด ํŠธ ์ • ๋ณด ๋ฅผ ๋‹ด ์€ fstab ํ˜• ์‹ ์œผ ๋กœ ๋œ ํŒŒ ์ผ ์˜ ์œ„ ์น˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์ด ๋งˆ ์šด ํŠธ ๋Œ€ ์ƒ ์œ„ ์น˜ ๋“ค ์€ ๋Œ€ ๋ถ€ ๋ถ„ ์ƒ ๋Œ€ ๊ฒฝ ๋กœ ๋กœ ๋˜ ์–ด ์žˆ ์œผ ๋ฉฐ , ์ด ๋Š” ๋งˆ ์šด ํŠธ ๋œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฃจ ํŠธ ์— ์„œ ์˜ ์ƒ ๋Œ€ ๊ฒฝ ๋กœ ๋ฅผ ์˜ ๋ฏธ ํ•œ ๋‹ค .

proc proc proc nodev,noexec,nosuid 0 0
.fi

์œ„ ์˜ ์˜ˆ ๋Š” proc ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์˜ ์œ„ ์น˜ ์™€ ์ƒ ๊ด€ ์—† ์ด ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ /proc์— ๋งˆ ์šด ํŠธ ์‹œ ํ‚ค ๋Š” ์˜ˆ ์ œ ์ด ๋‹ค . ์ด ๋Š” ๋ฐฑ ์—” ๋“œ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ๋ธ” ๋ก ์žฅ ์น˜ ๋ฟ ๋งŒ ์•„ ๋‹ˆ ๋ผ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ณต ์ œ ์— ๋„ ์œ  ์—ฐ ํ•˜ ๊ฒŒ ๋Œ€ ์ฒ˜ ํ•  ์ˆ˜ ์žˆ ๋‹ค .

์ด ๋ฏธ ์ง€ ํŒŒ ์ผ ์ด ๋‚˜ ๋ธ” ๋ก ์žฅ ์น˜ ์— ์„œ ๋งˆ ์šด ํŠธ ๋œ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์˜ ๊ฒฝ ์šฐ , 3๋ฒˆ ์งธ ํ•„ ๋“œ (fs_vfstype)๋Š”
mount
(8)
์™€ ๊ฐ™ ์ด auto๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์—† ์œผ ๋ฉฐ , ๋ช… ์‹œ ์  ์œผ ๋กœ ์ง€ ์ • ํ•ด ์•ผ ํ•œ ๋‹ค .

lxc.mount.entry

fstab์˜ ํ˜• ์‹ ์œผ ๋กœ , ํ•œ ์ค„ ๋‹น ๋งˆ ์šด ํŠธ ํฌ ์ธ ํŠธ ํ•˜ ๋‚˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .
๋˜ ํ•œ ๋งˆ ์šด ํŠธ ์˜ต ์…˜ ์— ์•„ ๋ž˜ 2๊ฐ€ ์ง€ ์˜ต ์…˜ ์„ ์ถ” ๊ฐ€ ์  ์œผ ๋กœ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ด ๋Š” LXC ์ž ์ฒด ์  ์œผ ๋กœ ์‚ฌ ์šฉ ํ•˜ ๋Š” ์˜ต ์…˜ ์ด ๋‹ค .
optional
์€ ๋งˆ ์šด ํŠธ ๋ฅผ ๋ชป ํ•˜ ๋” ๋ผ ๋„ , ์‹ค ํŒจ ๋กœ ์ฒ˜ ๋ฆฌ ํ•˜ ์ง€ ์•Š ๊ฒŒ ํ•œ ๋‹ค .
create=dir
์™€ create=file ๋Š” ๋งˆ ์šด ํŠธ ํ•  ๋•Œ , ๋”” ๋ ‰ ํ†  ๋ฆฌ (dir) ๋˜ ๋Š” ํŒŒ ์ผ (file)์„ ์ƒ ์„ฑ ํ•œ ๋‹ค .

lxc.mount.auto

์ผ ๋ฐ˜ ์  ์ธ ์ปค ๋„ ์˜ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ์ž ๋™ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ํ•  ์ง€ ์ง€ ์ • ํ•œ ๋‹ค .
์ด ์˜ต ์…˜ ์„ ์‚ฌ ์šฉ ํ•˜ ๋ฉด ์„ค ์ • ์„ ๋งค ์šฐ ํŽธ ํ•˜ ๊ฒŒ ํ•  ์ˆ˜ ์žˆ ๋‹ค .
์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋Š” ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ๋“ค ์€ ์•„ ๋ž˜ ์™€ ๊ฐ™ ๋‹ค .

โ€ข

proc:mixed (or proc ):

/proc ์„ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ , ๊ทธ ๋Ÿฌ ๋‚˜ /proc/sys ๊ณผ /proc/sysrq-trigger ๋Š” ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋‹ค ์‹œ ๋งˆ ์šด ํŠธ (๋ณด ์•ˆ ์ƒ ์˜ ์ด ์œ  ๋ฐ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ณ  ๋ฆฝ ์„ ์œ„ ํ•ด )

โ€ข

proc:rw :

/proc ์ „ ์ฒด ๋ฅผ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ

โ€ข

sys:mixed (or sys ):

/sys/devices/virtual/net๋Š” ์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ , /sys ๋Š” ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ .

โ€ข

sys:ro :

/sys ๋ฅผ ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ (๋ณด ์•ˆ ์ƒ ์˜ ์ด ์œ  ๋ฐ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ณ  ๋ฆฝ ์„ ์œ„ ํ•ด )

โ€ข

sys:rw :

/sys ๋ฅผ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ

โ€ข

cgroup:mixed :

/sys/fs/cgroup ๋ฅผ tmpfs๋กœ ๋งˆ ์šด ํŠธ .
์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ถ” ๊ฐ€ ๋  ๋ชจ ๋“  ๊ณ„ ์ธต ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ์ƒ ์„ฑ .
cgroup ์ด ๋ฆ„ ์˜ ํ•˜ ์œ„ ๋”” ๋ ‰ ํ†  ๋ฆฌ ์ƒ ์„ฑ .
์ปจ ํ…Œ ์ด ๋„ˆ ์ž ์‹  ์˜ cgroup์„ ํ•ด ๋‹น ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ๋งˆ ์šด ํŠธ .
์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์ž ์‹  ์˜ cgroup ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ๋Š” ์“ฐ ๊ธฐ ๊ฐ€ ๊ฐ€ ๋Šฅ ํ•˜ ์ง€ ๋งŒ ๋ถ€ ๋ชจ ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋Š” ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ํ•˜ ๋ฏ€ ๋กœ ์“ฐ ๊ธฐ ๊ฐ€ ๋ถˆ ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

โ€ข

cgroup:ro :

cgroup:mixed ์™€ ์œ  ์‚ฌ , ๋‹จ , ์ „ ๋ถ€ ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ

โ€ข

cgroup:rw :

cgroup:mixed ์™€ ์œ  ์‚ฌ , ๋‹จ , ์ „ ๋ถ€ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ .
์ปจ ํ…Œ ์ด ๋„ˆ ์ž ์‹  ์˜ cgroup์— ์ด ๋ฅด ๊ธฐ ๊นŒ ์ง€ ์˜ ๊ฒฝ ๋กœ ๊ฐ€ ๋ชจ ๋‘ ์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์ด ๋˜ ์ง€ ๋งŒ , cgroup ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์•„ ๋‹Œ /sys/fs/cgroup ์˜ tmpfs์˜ ์ผ ๋ถ€ ๋กœ ์จ ์กด ์žฌ ํ•˜ ๊ฒŒ ๋˜ ๋Š” ๊ฒƒ ์— ์ฃผ ์˜ ํ•ด ์•ผ ํ•œ ๋‹ค .

โ€ข

cgroup (๋ณ„ ๋‹ค ๋ฅธ ์˜ต ์…˜ ์—† ์ด ):

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ CAP_SYS_ADMIN capability๋ฅผ ์œ  ์ง€ ํ•˜ ๊ณ  ์žˆ ๋Š” ๊ฒฝ ์šฐ cgroup:rw ์„ ๊ธฐ ๋ณธ ์œผ ๋กœ ์‚ฌ ์šฉ ํ•œ ๋‹ค . ๊ทธ ๋ ‡ ์ง€ ์•Š ๋‹ค ๋ฉด cgroup:mixed ๋ฅผ ์‚ฌ ์šฉ ํ•œ ๋‹ค .

โ€ข

cgroup-full:mixed :

/sys/fs/cgroup ์„ tmpfs๋กœ ๋งˆ ์šด ํŠธ .
์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ถ” ๊ฐ€ ๋  ๋ชจ ๋“  ๊ณ„ ์ธต ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ์ƒ ์„ฑ .
ํ˜ธ ์Šค ํŠธ ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋“ค ์„ ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ๋ฐ” ์ธ ๋“œ ๋งˆ ์šด ํŠธ ํ•˜ ๊ณ  ์ปจ ํ…Œ ์ด ๋„ˆ ์ž ์‹  ์˜ cgroup์„ ์ œ ์™ธ ํ•œ ๋ชจ ๋“  ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋Š” ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋ณ€ ๊ฒฝ .
๋น„ ๊ต ํ•˜ ์ž ๋ฉด , cgroup ์˜ ๊ฒฝ ์šฐ ์— ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์ž ์‹  ์˜ cgroup์— ์ด ๋ฅด ๊ธฐ ๊นŒ ์ง€ ๋ชจ ๋“  ๊ฒฝ ๋กœ ๋Š” ๋‹จ ์ˆœ ํ•˜ ๊ฒŒ tmpfs ์•„ ๋ž˜ ์— ์žˆ ๋Š” ๋”” ๋ ‰ ํ†  ๋ฆฌ ์— ๋ถˆ ๊ณผ ํ•˜ ๋‹ค . ํ•˜ ์ง€ ๋งŒ , ์—ฌ ๊ธฐ ์„œ ๋Š” ๋น„ ๋ก ์ปจ ํ…Œ ์ด ๋„ˆ ์ž ์‹  ์˜ cgroup ์ด ์™ธ ์— ๋Š” ๋ชจ ๋‘ ์ฝ ๊ธฐ ์ „ ์šฉ ์ด ๊ธด ํ•˜ ๋‚˜ /sys/fs/cgroup/$hierarchy ์ด ํ˜ธ ์Šค ํŠธ ์˜ ๋ชจ ๋“  cgroup ๊ณ„ ์ธต ๊ตฌ ์กฐ ๋ฅผ ํฌ ํ•จ ํ•˜ ๊ณ  ์žˆ ๋‹ค .
์ด ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์— ๊ฒŒ ๋„ˆ ๋ฌด ๋งŽ ์€ ์ • ๋ณด ๋ฅผ ๋…ธ ์ถœ ์‹œ ํ‚ฌ ์ˆ˜ ์žˆ ๋‹ค .

โ€ข

cgroup-full:ro :

cgroup-full:mixed ์™€ ์œ  ์‚ฌ , ๋‹จ , ์ „ ๋ถ€ ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ

โ€ข

cgroup-full:rw :

cgroup-full:mixed ์™€ ์œ  ์‚ฌ , ๋‹จ , ์ „ ๋ถ€ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ .
์ด ๊ฒฝ ์šฐ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ž ๊ธฐ ์ž ์‹  ์˜ cgroup์„ ๋ฒ— ์–ด ๋‚  ์ˆ˜ ์žˆ ๋‹ค . (๋งŒ ์•ฝ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ CAP_SYS_ADMIN์„ ๊ฐ– ๊ณ  ์žˆ ๋‹ค ๋ฉด , cgroup ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ž ์ฒด ๋ฅผ ๋งˆ ์šด ํŠธ ํ•  ์ˆ˜ ์žˆ ์Œ ์„ ์ฃผ ์˜ ํ•ด ์•ผ ํ•œ ๋‹ค . ์ด ๋ ‡ ๊ฒŒ ํ•˜ ๋ฉด ๊ฐ™ ์€ ๊ฒฐ ๊ณผ ๋ฅผ ๊ฐ€ ์ ธ ์˜ฌ ์ˆ˜ ์žˆ ๋‹ค )

โ€ข

cgroup-full (๋ณ„ ๋‹ค ๋ฅธ ์˜ต ์…˜ ์—† ์ด ):

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ CAP_SYS_ADMIN capability๋ฅผ ์œ  ์ง€ ํ•˜ ๊ณ  ์žˆ ๋Š” ๊ฒฝ ์šฐ cgroup-full:rw ์„ ๊ธฐ ๋ณธ ์œผ ๋กœ ์‚ฌ ์šฉ ํ•œ ๋‹ค . ๊ทธ ๋ ‡ ์ง€ ์•Š ๋‹ค ๋ฉด cgroup-full:mixed ๋ฅผ ์‚ฌ ์šฉ ํ•œ ๋‹ค .

cgroup ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๊ฐ€ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•œ ๊ฒฝ ์šฐ , cgroup ๋งˆ ์šด ํŠธ ์˜ต ์…˜ ๋“ค ์€ ์ „ ๋ถ€ ๋ฌด ์‹œ ๋  ๊ฒƒ ์ด ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ง ์ ‘ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๋งˆ ์šด ํŠธ ํ•˜ ๊ธฐ ๋•Œ ๋ฌธ ์ด ๋ฉฐ , ์ปจ ํ…Œ ์ด ๋„ˆ ์ดˆ ๊ธฐ ํ™” ์‹œ ํ•ด ๋‹น ์˜ต ์…˜ ์ด ํ˜ผ ๋ž€ ์„ ์ค„ ์ˆ˜ ์žˆ ๊ธฐ ๋•Œ ๋ฌธ ์ด ๋‹ค .

cgroup ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์ž ๋™ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ๋˜ ๋Š” ๊ฒŒ ํ™œ ์„ฑ ํ™” ๋˜ ์–ด ์žˆ ๋‹ค ๋ฉด , /sys/fs/cgroup ๋ฐ‘ ์˜ tmpfs๋Š” ์–ธ ์ œ ๋‚˜ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ๋œ ๋‹ค .(๋‹จ , :mixed ๊ณผ :ro ์˜ ๊ฒฝ ์šฐ ์— ๋Š” ๊ฐ ๊ฐ ๊ณ„ ์ธต /sys/fs/cgroup/$hierarchy ์ด ์ฝ ๊ธฐ ์ „ ์šฉ ์ด ๋  ์ˆ˜ ๋Š” ์žˆ ๋‹ค )
์•„ ๋ž˜ ์˜ Ubuntu ๋ช… ๋ น ์–ด ์— ๋Œ€ ์‘ ํ•˜ ๊ธฐ ์œ„ ํ•จ ์ด ๋‹ค .
mountall
(8)
ํ•ด ๋‹น ๋ช… ๋ น ์–ด ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๋ถ€ ํŒ… ์‹œ ์— /sys/fs/cgroup ๊ฐ€ ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ๋˜ ์–ด ์žˆ ๊ณ  , ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ CAP_SYS_ADMIN์„ ๊ฐ– ๊ณ  ์žˆ ์ง€ ์•Š ์•„ ์ด ๋ฅผ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋‹ค ์‹œ ๋งˆ ์šด ํŠธ ๋ชป ํ•  ๊ฒฝ ์šฐ , ๋ถ€ ํŒ… ์‹œ ์— ์‚ฌ ์šฉ ์ž ์˜ ์ž… ๋ ฅ ์„ ๊ธฐ ๋‹ค ๋ฆฌ ๊ฒŒ ๋งŒ ๋“ค ๊ธฐ ๋•Œ ๋ฌธ ์ด ๋‹ค .

์˜ˆ ์ œ :

lxc.mount.auto = proc sys cgroup

lxc.mount.auto = proc:rw sys:rw cgroup-full:rw

๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์€ ํ˜ธ ์Šค ํŠธ ์‹œ ์Šค ํ…œ ๊ณผ ๋‹ค ๋ฅด ๊ฒŒ ๊ตฌ ์„ฑ ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.rootfs.path

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ์ง€ ์ • ํ•œ ๋‹ค . ์ด ๋ฏธ ์ง€ ํŒŒ ์ผ ๋˜ ๋Š” ๋ธ” ๋ก ์žฅ ์น˜ ์˜ ๋”” ๋ ‰ ํ†  ๋ฆฌ ๊ฐ€ ๋  ์ˆ˜ ๋„ ์žˆ ๋‹ค . ๋งŒ ์•ฝ ์ง€ ์ • ๋˜ ์ง€ ์•Š ์œผ ๋ฉด ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์ž ์‹  ์˜ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ํ˜ธ ์Šค ํŠธ ์™€ ๊ณต ์œ  ํ•œ ๋‹ค .

๋”” ๋ ‰ ํ†  ๋ฆฌ ๋˜ ๋Š” ๊ฐ„ ๋‹จ ํ•œ ๋ธ” ๋ก ์žฅ ์น˜ ๋กœ ๊ตฌ ์„ฑ ๋œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์œ„ ํ•ด ์„œ ๊ฒฝ ๋กœ ์ด ๋ฆ„ ์ด ์‚ฌ ์šฉ ๋  ์ˆ˜ ์žˆ ๋‹ค . ๋งŒ ์•ฝ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด nbd ์žฅ ์น˜ ์˜ ๊ฒฝ ์šฐ , nbd:file:1 ๋Š” file ์„ nbd ์žฅ ์น˜ ๋กœ ์‚ฌ ์šฉ ํ•˜ ๊ณ  1๋ฒˆ ํŒŒ ํ‹ฐ ์…˜ ์ด ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ๋˜ ๋„ ๋ก ์ง€ ์ • ํ•œ ๋‹ค . nbd:file ๋Š” nbd ์žฅ ์น˜ ์ž ์ฒด ๊ฐ€ ๋งˆ ์šด ํŠธ ๋˜ ์–ด ์•ผ ํ•œ ๋‹ค ๊ณ  ์ง€ ์ • ํ•œ ๋‹ค . overlayfs:/lower:/upper ๋Š” ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์ฝ ๊ธฐ ์ „ ์šฉ ์œผ ๋กœ ๋งˆ ์šด ํŠธ ๋œ /lower ๋ฅผ /upper ๊ฐ€ ์ฝ ๊ธฐ /์“ฐ ๊ธฐ ๊ฐ€ ๋Šฅ ์œผ ๋กœ ์˜ค ๋ฒ„ ๋ ˆ ์ด ๋งˆ ์šด ํŠธ ๋˜ ๋„ ๋ก ์ง€ ์ • ํ•œ ๋‹ค . aufs:/lower:/upper ๋Š” aufs์— ์„œ ์œ„ ์™€ ๊ฐ™ ์ด ์ง€ ์ • ํ•œ ๋‹ค . overlayfs ์™€ aufs ๋Š” ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ /lower ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . loop:/file ๋Š” lxc๊ฐ€ /file ์„ loop ์žฅ ์น˜ ๋กœ ์‚ฌ ์šฉ ํ•˜ ๊ณ  loop ์žฅ ์น˜ ๋ฅผ ๋งˆ ์šด ํŠธ ํ•˜ ๋„ ๋ก ์ง€ ์ • ํ•œ ๋‹ค .

lxc.rootfs.mount

๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๋ณ€ ๊ฒฝ ํ•˜ ๊ธฐ ์ „ ์— , lxc.rootfs.path ์„ ์–ด ๋”” ์— ์žฌ ๊ท€ ์  ์œผ ๋กœ ๋ฐ” ์ธ ๋“œ ํ•  ์ง€ ์ • ํ•œ ๋‹ค . ์ด ๋Š” pivot_root (8) ์‹œ ์Šค ํ…œ ์ฝœ ์˜ ์„ฑ ๊ณต ์„ ๋ณด ์žฅ ํ•œ ๋‹ค . ์–ด ๋–ค ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋„ ์ข‹ ์œผ ๋ฉฐ , ๊ธฐ ๋ณธ ๊ฐ’ ์œผ ๋กœ ๋„ ๋ณด ํ†ต ๋™ ์ž‘ ํ•  ๊ฒƒ ์ด ๋‹ค .

lxc.rootfs.options

๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๋งˆ ์šด ํŠธ ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•  ๋ถ€ ๊ฐ€ ์  ์ธ ๋งˆ ์šด ํŠธ ์˜ต ์…˜ .

์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน

์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์„น ์…˜ ์€ (lxc์™€ ๋Š” ) ๋‹ค ๋ฅธ ์„œ ๋ธŒ ์‹œ ์Šค ํ…œ ์˜ ์„ค ์ • ์„ ํฌ ํ•จ ํ•œ ๋‹ค . lxc ๋Š” ์„œ ๋ธŒ ์‹œ ์Šค ํ…œ ์˜ ์ด ๋ฆ„ ์„ ์ • ํ™• ํžˆ ์ฒด ํฌ ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค . ์ด ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์‹œ ์ž‘ ํ•  ๋•Œ ๊นŒ ์ง€ ๋Š” ์„ค ์ • ์ƒ ์˜ ์— ๋Ÿฌ ๋ฅผ ์žก ์•„ ๋‚ด ๊ธฐ ํž˜ ๋“ค ๊ฒŒ ํ•œ ๋‹ค . ๊ทธ ๋Ÿฌ ๋‚˜ ๋‹ค ๋ฅธ ์ฐจ ํ›„ ์— ๋“ค ์–ด ์˜ฌ ์ˆ˜ ์žˆ ๋Š” ์„œ ๋ธŒ ์‹œ ์Šค ํ…œ ์„ ์ง€ ์› ํ•  ์ˆ˜ ์žˆ ๋Š” ์žฅ ์  ๋„ ์žˆ ๋‹ค .
lxc.cgroup.[subsystem name]

์ง€ ์ • ํ•œ ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์˜ ๊ฐ’ ์„ ์ง€ ์ • ํ•œ ๋‹ค . ์„œ ๋ธŒ ์‹œ ์Šค ํ…œ ์˜ ์ด ๋ฆ„ ์€ ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์— ์„œ ์˜ ์ด ๋ฆ„ ์ด ๋‹ค . ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•œ ์ด ๋ฆ„ ์ด ๋‚˜ ๊ฐ’ ์˜ ๋ฌธ ๋ฒ• ์— ๋Œ€ ํ•ด ์„œ ๋Š” LXC์— ์„œ ๋”ฐ ๋กœ ์‹  ๊ฒฝ ์“ฐ ์ง€ ์•Š ์œผ ๋ฉฐ , ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์‹œ ์ž‘ ํ•˜ ๋Š” ์‹œ ์  ์— ๋ฆฌ ๋ˆ… ์Šค ์ปค ๋„ ์ด ํ•ด ๋‹น ๊ธฐ ๋Šฅ ์„ ์ง€ ์› ํ•˜ ๋Š” ์ง€ ์— ๋‹ฌ ๋ ค ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ๋ฉด lxc.cgroup.cpuset.cpus ์ด ๋‹ค .

CAPABILITIES

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ root๋กœ ์‹ค ํ–‰ ๋œ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ capability๋ฅผ ์ œ ๊ฑฐ ํ•  ์ˆ˜ ์žˆ ๋‹ค .
lxc.cap.drop

์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ์ œ ๊ฑฐ ํ•  capability๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ํ•œ ์ค„ ์— ์—ฌ ๋Ÿฌ ๊ฐœ ์˜ capability๋ฅผ ๊ณต ๋ฐฑ (space)์œผ ๋กœ ๊ตฌ ๋ถ„ ํ•˜ ์—ฌ ์ • ์˜ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ํ˜• ์‹ ์€ capability ์ • ์˜ ์— ์„œ "CAP_" ์ ‘ ๋‘ ์‚ฌ ๋ฅผ ๋นผ ๊ณ  ์†Œ ๋ฌธ ์ž ๋กœ ์ž‘ ์„ฑ ํ•˜ ๋Š” ๊ฒƒ ์ด ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด CAP_SYS_MODULE์˜ ๊ฒฝ ์šฐ ๋Š” sys_module์ด ๋‹ค . ์•„ ๋ž˜ ๋ฅผ ์ฐธ ์กฐ ํ•  ์ˆ˜ ์žˆ ๋‹ค . capabilities (7) ๊ฐ’ ์„ ๊ณต ๋ฐฑ ์œผ ๋กœ ์ง€ ์ • ํ•˜ ๋ฉด , ํ•ด ๋‹น ์„ค ์ • ์ด ์ „ ์— ์ง€ ์ • ํ–ˆ ๋˜ capability๋ฅผ ๋ชจ ๋‘ ์ทจ ์†Œ ํ•œ ๋‹ค . (lxc.cap.drop์— ์•„ ๋ฌด ๊ฒƒ ๋„ ์ง€ ์ • ํ•˜ ์ง€ ์•Š ์€ ์ƒ ํƒœ ๊ฐ€ ๋œ ๋‹ค .)

lxc.cap.keep

์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ์œ  ์ง€ ํ•  capability๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ๋‹ค ๋ฅธ capability๋Š” ๋ชจ ๋‘ ์ œ ๊ฑฐ ๋  ๊ฒƒ ์ด ๋‹ค . "none"์ด ๋ผ ๋Š” ๊ฐ’ ์„ ์ง€ ์ • ํ•˜ ๋ฉด , lxc๋Š” ํ•ด ๋‹น ์‹œ ์  ์— ์„œ ๊ฐ– ๊ณ  ์žˆ ๋˜ ๋ชจ ๋“  capability๋ฅผ ์ œ ๊ฑฐ ํ•œ ๋‹ค . ๋ชจ ๋“  capability๋ฅผ ์ œ ๊ฑฐ ํ•˜ ๊ธฐ ์œ„ ํ•ด ์„œ ๋Š” "none" ํ•˜ ๋‚˜ ๋งŒ ์‚ฌ ์šฉ ํ•˜ ๋ฉด ๋œ ๋‹ค .

APPARMOR ํ”„ ๋กœ ํŒŒ ์ผ

lxc๊ฐ€ apparmor๋ฅผ ์ง€ ์› ํ•˜ ๋„ ๋ก ์ปด ํŒŒ ์ผ ๋œ ํ›„ ์„ค ์น˜ ๋˜ ์—ˆ ๊ณ  , ํ˜ธ ์Šค ํŠธ ์‹œ ์Šค ํ…œ ์— ์„œ apparmor๊ฐ€ ํ™œ ์„ฑ ํ™” ๋˜ ์—ˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ๋”ฐ ๋ผ ์•ผ ํ•  apparmor ํ”„ ๋กœ ํŒŒ ์ผ ์„ ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ์— ์„œ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ ์€ ํ˜ธ ์Šค ํŠธ ์ปค ๋„ ์ด cgroup ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋ฅผ ์ง€ ์› ํ•˜ ๋ฉด lxc-container-default-cgns ์ด ๊ณ  , ๊ทธ ๋ ‡ ์ง€ ์•Š ๋‹ค ๋ฉด lxc-container-default ์ด ๋‹ค .
lxc.apparmor.profile

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ๋”ฐ ๋ผ ์•ผ ํ•  apparmor ํ”„ ๋กœ ํŒŒ ์ผ ์„ ์ง€ ์ • ํ•œ ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ apparmor๋กœ ์ธ ํ•œ ์ œ ํ•œ ์„ ๋ฐ› ์ง€ ์•Š ๋„ ๋ก ํ•˜ ๋ ค ๋ฉด , ์•„ ๋ž˜ ์™€ ๊ฐ™ ์ด ์ง€ ์ • ํ•˜ ๋ฉด ๋œ ๋‹ค .

lxc.apparmor.profile = unconfined

apparmor ํ”„ ๋กœ ํŒŒ ์ผ ์ด ๋ณ€ ๊ฒฝ ๋˜ ์ง€ ์•Š ์•„ ์•ผ ํ•œ ๋‹ค ๋ฉด (์ค‘ ์ฒฉ ์ปจ ํ…Œ ์ด ๋„ˆ ์•ˆ ์— ์žˆ ๊ณ  , ์ด ๋ฏธ confined๋œ ๊ฒฝ ์šฐ ), ์•„ ๋ž˜ ์™€ ๊ฐ™ ์ด ์ง€ ์ • ํ•˜ ๋ฉด ๋œ ๋‹ค .

lxc.apparmor.profile = unchanged

lxc.apparmor.allow_incomplete

apparmor ํ”„ ๋กœ ํŒŒ ์ผ ์€ ๊ฒฝ ๋กœ ์ด ๋ฆ„ ๊ธฐ ๋ฐ˜ ์ด ๋ฏ€ ๋กœ , ๊ณต ๊ฒฉ ์ž ๋กœ ๋ถ€ ํ„ฐ ํšจ ๊ณผ ์  ์œผ ๋กœ ํŒŒ ์ผ ์ œ ํ•œ ์„ ํ•˜ ๊ธฐ ์œ„ ํ•ด ์„œ ๋Š” ๋งˆ ์šด ํŠธ ์ œ ํ•œ ์ด ์š” ๊ตฌ ๋œ ๋‹ค . ํ•˜ ์ง€ ๋งŒ ์ด ๋งˆ ์šด ํŠธ ์ œ ํ•œ ๋“ค ์€ upstream ์ปค ๋„ ์— ์„œ ๋Š” ๊ตฌ ํ˜„ ๋˜ ์–ด ์žˆ ์ง€ ์•Š ๋‹ค . ๋งˆ ์šด ํŠธ ์ œ ํ•œ ์—† ์ด ๋„ , apparmor ํ”„ ๋กœ ํŒŒ ์ผ ์€ ์šฐ ์—ฐ ํ•œ ์† ์ƒ ์— ๋Œ€ ํ•ด ์„œ ๋ณด ํ˜ธ ๊ฐ€ ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

๋งŒ ์•ฝ ์ด ํ”Œ ๋ž˜ ๊ทธ ๊ฐ€ 0(๊ธฐ ๋ณธ ๊ฐ’ )์ด ๋ผ ๋ฉด , ์ปค ๋„ ์— apparmor์˜ ๋งˆ ์šด ํŠธ ๊ธฐ ๋Šฅ ์ด ๋ถ€ ์กฑ ํ–ˆ ์„ ๋•Œ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์‹œ ์ž‘ ๋˜ ์ง€ ์•Š ๋Š” ๋‹ค . ์ปค ๋„ ์„ ์—… ๊ทธ ๋ ˆ ์ด ๋“œ ํ•œ ํ›„ ์— ํ•ด ๋‹น ๊ธฐ ๋Šฅ ์ด ๋น  ์กŒ ๋Š” ์ง€ ์—ฌ ๋ถ€ ๋ฅผ ๊ฒ€ ์‚ฌ ํ•˜ ๊ธฐ ์œ„ ํ•จ ์ด ๋‹ค . ๋ถ€ ๋ถ„ ์  ์ธ apparmor ๋ณด ํ˜ธ ํ•˜ ์— ์„œ ๋„ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์‹œ ์ž‘ ํ•˜ ๋ ค ๋ฉด , ํ”Œ ๋ž˜ ๊ทธ ๋ฅผ 1๋กœ ์ง€ ์ • ํ•˜ ๋ฉด ๋œ ๋‹ค .

SELINUX ์ปจ ํ… ์Šค ํŠธ

lxc๊ฐ€ SELinux๋ฅผ ์ง€ ์› ํ•˜ ๋„ ๋ก ์ปด ํŒŒ ์ผ ๋œ ํ›„ ์„ค ์น˜ ๋˜ ์—ˆ ๊ณ  , ํ˜ธ ์Šค ํŠธ ์‹œ ์Šค ํ…œ ์— ์„œ SELinux ์ปจ ํ… ์Šค ํŠธ ๊ฐ€ ํ™œ ์„ฑ ํ™” ๋˜ ์—ˆ ๋‹ค ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ๋”ฐ ๋ผ ์•ผ ํ•  SELinux ์ปจ ํ… ์Šค ํŠธ ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ์— ์„œ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ ์€ unconfined_t ์ด ๋‹ค . ์ด ๋Š” lxc๋Š” ์ปจ ํ… ์Šค ํŠธ ๋ฅผ ๋ณ€ ๊ฒฝ ํ•˜ ์ง€ ์•Š ์Œ ์„ ์˜ ๋ฏธ ํ•œ ๋‹ค . ์ • ์ฑ… ์˜ˆ ์ œ ์™€ ์ถ” ๊ฐ€ ์  ์ธ ์ • ๋ณด ๋ฅผ ์› ํ•œ ๋‹ค ๋ฉด /usr/share/lxc/selinux/lxc.te๋ฅผ ์ฐธ ๊ณ  ํ•˜ ๋ฉด ๋œ ๋‹ค .
lxc.selinux.context

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ๋”ฐ ๋ผ ์•ผ ํ•  SELinux ์ปจ ํ… ์Šค ํŠธ ๋ฅผ ์ง€ ์ • ํ•˜ ๊ฑฐ ๋‚˜ , unconfined_t ๋ฅผ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด ์•„ ๋ž˜ ์™€ ๊ฐ™ ์ด ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .

lxc.selinux.context = system_u:system_r:lxc_t:s0:c22

SECCOMP ์„ค ์ •

์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” seccomp ํ”„ ๋กœ ํŒŒ ์ผ ์„ ๋กœ ๋“œ ํ•˜ ์—ฌ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•œ ์‹œ ์Šค ํ…œ ์ฝœ ์˜ ์ˆ˜ ๋ฅผ ์ค„ ์ธ ์ฒด ๋กœ ์‹ค ํ–‰ ํ•  ์ˆ˜ ์žˆ ๋‹ค . seccomp ์„ค ์ • ํŒŒ ์ผ ์€ ์ฒซ ๋ฒˆ ์งธ ํ–‰ ์ด ๋ฒ„ ์ „ ๋ฒˆ ํ˜ธ , ๋‘ ๋ฒˆ ์งธ ํ–‰ ์ด ์ • ์ฑ… ํƒ€ ์ž… , ์‹œ ์ž‘ ํ•˜ ๋ฉฐ ๊ทธ ์ด ํ›„ ์— ์„ค ์ • ์‚ฌ ํ•ญ ๋“ค ์ด ํฌ ํ•จ ๋˜ ์–ด ์•ผ ํ•œ ๋‹ค .

ํ˜„ ์žฌ ๋Š” ๋ฒ„ ์ „ 1๊ณผ 2๋งŒ ์ง€ ์› ๋œ ๋‹ค . ๋ฒ„ ์ „ 1์— ์„œ ๋Š” ์ • ์ฑ… ์€ ๋‹จ ์ˆœ ํ•œ ํ™” ์ด ํŠธ ๋ฆฌ ์Šค ํŠธ ์ด ๋‹ค . ๊ทธ ๋Ÿฌ ๋ฏ€ ๋กœ ๋‘ ๋ฒˆ ์งธ ๋ผ ์ธ ์€ ๋ฐ˜ ๋“œ ์‹œ "allowlist"์—ฌ ์•ผ ํ•œ ๋‹ค . ํŒŒ ์ผ ์˜ ๋‚˜ ๋จธ ์ง€ ๋‚ด ์šฉ ์€ ํ•œ ์ค„ ์— ํ•˜ ๋‚˜ ์˜ ์‹œ ์Šค ํ…œ ์ฝœ ๋ฒˆ ํ˜ธ ๋กœ ์ฑ„ ์›Œ ์ง„ ๋‹ค . ํ™” ์ด ํŠธ ๋ฆฌ ์Šค ํŠธ ์— ์—† ๋Š” ๋ฒˆ ํ˜ธ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ๋ธ” ๋ž™ ๋ฆฌ ์Šค ํŠธ ๋กœ ๋“ค ์–ด ๊ฐ„ ๋‹ค .

๋ฒ„ ์ „ 2์— ์„œ ๋Š” ํด ๋ฆฌ ์‹œ ๋Š” ๋ธ” ๋ž™ ๋ฆฌ ์Šค ํŠธ ๋˜ ๋Š” ํ™” ์ด ํŠธ ๋ฆฌ ์Šค ํŠธ ๊ฐ€ ๋  ์ˆ˜ ์žˆ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ๊ฐ ๊ทœ ์น™ ์™€ ๊ฐ ์ • ์ฑ… ์˜ ๊ธฐ ๋ณธ ๋™ ์ž‘ , ์•„ ํ‚ค ํ… ์ณ ๋ณ„ ์‹œ ์Šค ํ…œ ์ฝœ ์„ค ์ • , ํ… ์Šค ํŠธ ๋กœ ๋œ ์ด ๋ฆ„ ์„ ์ง€ ์› ํ•œ ๋‹ค .

์•„ ๋ž˜ ๋Š” ๋ธ” ๋ž™ ๋ฆฌ ์Šค ํŠธ ์ • ์ฑ… ์˜ˆ ์ œ ์ด ๋‹ค . ์•„ ๋ž˜ ์ • ์ฑ… ์— ์„œ ๋Š” mknod๋ฅผ ์ œ ์™ธ ํ•œ ๋ชจ ๋“  ์‹œ ์Šค ํ…œ ์ฝœ ์ด ํ—ˆ ์šฉ ๋œ ๋‹ค . mknod์‹œ ์— ๋Š” ์•„ ๋ฌด ๊ฒƒ ๋„ ์ˆ˜ ํ–‰ ํ•˜ ์ง€ ์•Š ๊ณ  0(์„ฑ ๊ณต )์„ ๋ฐ˜ ํ™˜ ํ•œ ๋‹ค .

2
denylist
mknod errno 0
.fi
lxc.seccomp.profile

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์‹œ ์ž‘ ๋˜ ๊ธฐ ์ „ ์— ์ฝ ์–ด ์˜ฌ seccomp ์„ค ์ • ์ด ๋‹ด ๊ธด ํŒŒ ์ผ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

PR_SET_NO_NEW_PRIVS

PR_SET_NO_NEW_PRIVS๊ฐ€ ์  ์šฉ ๋˜ ๋ฉด , execve()๋Š” , execve()๋ฅผ ํ˜ธ ์ถœ ๋˜ ๊ธฐ ์ „ ์— ๋Š” ์‹ค ํ–‰ ํ•˜ ์ง€ ๋ชป ํ–ˆ ๋˜ ๊ฒƒ ์„ ์ˆ˜ ํ–‰ ํ•˜ ๊ธฐ ์œ„ ํ•ด ๊ถŒ ํ•œ ์„ ๋ถ€ ์—ฌ ํ•˜ ๋Š” ๋ฅ˜ ์˜ ๋™ ์ž‘ ์„ ํ•˜ ์ง€ ์•Š ๊ฒŒ ๋œ ๋‹ค . (์˜ˆ ๋ฅผ ๋“ค ์–ด , set-user-ID์™€ set-group-ID ๋ชจ ๋“œ , ํŒŒ ์ผ ์บ ํผ ๋นŒ ๋ฆฌ ํ‹ฐ ๊ฐ€ ๋™ ์ž‘ ํ•˜ ์ง€ ์•Š ๋Š” ๊ฒƒ ์ด ๋‹ค .) ์ผ ๋‹จ ์  ์šฉ ๋˜ ๋ฉด ์ด ๋น„ ํŠธ ๋Š” ํ•ด ์ œ ํ•  ์ˆ˜ ์—† ๋‹ค . ์ด ๋น„ ํŠธ ๋Š” fork()์™€ clone()์œผ ๋กœ ์ƒ ์„ฑ ๋œ ์ž ์‹ ์— ๊ฒŒ ๋„ ์ƒ ์† ๋˜ ๋ฉฐ , execve() ์ด ํ›„ ์— ๋„ ๊ทธ ๋Œ€ ๋กœ ์  ์šฉ ๋œ ๋‹ค . PR_SET_NO_NEW_PRIVS๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ AppArmor ํ”„ ๋กœ ํ•„ ๋˜ ๋Š” SELinux ๋ฌธ ๋งฅ ์ด ๋ณ€ ๊ฒฝ ๋œ ์ด ํ›„ ์— ์  ์šฉ ๋œ ๋‹ค .
lxc.no_new_privs

PR_SET_NO_NEW_PRIVS๊ฐ€ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์  ์šฉ ๋˜ ์–ด ์•ผ ํ•˜ ๋Š” ์ง€ ์—ฌ ๋ถ€ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . 1์„ ์ง€ ์ • ํ•˜ ๋ฉด ์  ์šฉ ๋œ ๋‹ค .

UID ๋งค ํ•‘

์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์‚ฌ ์šฉ ์ž ์™€ ๊ทธ ๋ฃน ID ๋งค ํ•‘ ์„ ํ†ต ํ•ด ์ž ์‹  ๋งŒ ์˜ ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋‚ด ์— ์„œ ์‹ค ํ–‰ ๋  ์ˆ˜ ์žˆ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด ์„œ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ UID 0๋ฒˆ ์„ ํ˜ธ ์Šค ํŠธ ์˜ UID 200000์œผ ๋กœ ๋งค ํ•‘ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ฃจ ํŠธ ์‚ฌ ์šฉ ์ž ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ ๋Š” ํŠน ๊ถŒ ์„ ๊ฐ€ ์ง€ ๊ณ  ์žˆ ์ง€ ๋งŒ , ํ˜ธ ์Šค ํŠธ ์— ์„œ ๋Š” ํŠน ๊ถŒ ์„ ๊ฐ€ ์ง€ ๊ณ  ์žˆ ์ง€ ์•Š ๊ฒŒ ๋œ ๋‹ค . ๋ณด ํ†ต ์‹œ ์Šค ํ…œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ID๋“ค ์˜ ๋ฒ” ์œ„ ๋ฅผ ์ง€ ์ • ํ•˜ ๋ ค ํ•  ํ… ๋ฐ ๊ทธ ์—ญ ์‹œ ๋„ ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด ์„œ , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ UID์™€ GID๋ฅผ 0 หœ 20,000๋ฅผ ํ˜ธ ์Šค ํŠธ ์˜ 200,000 หœ 220,000๋กœ ์„ค ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค .
lxc.idmap

4๊ฐœ ์˜ ๊ฐ’ ์ด ์ œ ๊ณต ๋˜ ์–ด ์•ผ ํ•œ ๋‹ค . ์ฒซ ๋ฒˆ ์งธ ๋Š” โ€™uโ€™, โ€™gโ€™, โ€™bโ€™ ๋ฌธ ์ž ๋กœ ๊ฐ ๊ฐ UID, GID, ๋˜ ๋Š” UID ๋ฐ GID ๋ฅผ ๊ฐ€ ๋ฆฌ ํ‚จ ๋‹ค . ๊ทธ ๋‹ค ์Œ ์€ ์‚ฌ ์šฉ ์ž ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋‚ด ์— ์„œ ์˜ UID, ๊ทธ ๋‹ค ์Œ ์€ ํ˜ธ ์Šค ํŠธ ์˜ UID, ๊ทธ ๋ฆฌ ๊ณ  ๋งˆ ์ง€ ๋ง‰ ์œผ ๋กœ ๋งค ํ•‘ ํ•  ID์˜ ๋ฒ” ์œ„ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

์ปจ ํ…Œ ์ด ๋„ˆ ํ›…

์ปจ ํ…Œ ์ด ๋„ˆ ํ›… ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ƒ ๋ช… ์ฃผ ๊ธฐ ๋‚ด ์— ์„œ ๋‹ค ์–‘ ํ•œ ์ƒ ํ™ฉ ์— ์‹ค ํ–‰ ๋˜ ๋Š” ํ”„ ๋กœ ๊ทธ ๋žจ ๋˜ ๋Š” ์Šค ํฌ ๋ฆฝ ํŠธ ์ด ๋‹ค .

์ปจ ํ…Œ ์ด ๋„ˆ ํ›… ์ด ์‹ค ํ–‰ ๋  ๋•Œ , ์ • ๋ณด ๋Š” ๋ช… ๋ น ์–ด ์ธ ์ˆ˜ ๋‚˜ ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋ฅผ ํ†ต ํ•ด ๋„˜ ๊ฒจ ์ง„ ๋‹ค . ์ธ ์ˆ˜ :

โ€ข

์ปจ ํ…Œ ์ด ๋„ˆ ์ด ๋ฆ„

โ€ข

์„น ์…˜ (๋ณด ํ†ต โ€™lxcโ€™)

โ€ข

ํ›… ์ข… ๋ฅ˜ (โ€™cloneโ€™, โ€™pre-mountโ€™ ๋“ฑ )

โ€ข

์ถ” ๊ฐ€ ์ธ ์ˆ˜ . clone ํ›… ์ผ ๊ฒฝ ์šฐ , lxc-clone์— ๊ฒŒ ๋„˜ ์˜€ ๋˜ ์ถ” ๊ฐ€ ์ธ ์ˆ˜ ๋“ค ์ด ๋„˜ ์–ด ์˜จ ๋‹ค . stop ํ›… ์ผ ๊ฒฝ ์šฐ , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๊ฐ ๊ฐ ์— ๋Œ€ ํ•œ ์ด ๋ฆ„ ๊ณผ ํŒŒ ์ผ ๋”” ์Šค ํฌ ๋ฆฝ ํ„ฐ ์˜ ๊ฒฝ ๋กœ ๊ฐ€ ๋„˜ ์–ด ์˜จ ๋‹ค .

ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ :

โ€ข

LXC_NAME: ์ปจ ํ…Œ ์ด ๋„ˆ ์ด ๋ฆ„

โ€ข

LXC_ROOTFS_MOUNT: ๋งˆ ์šด ํŠธ ๋  ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์˜ ๊ฒฝ ๋กœ

โ€ข

LXC_CONFIG_FILE: ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ํŒŒ ์ผ ์˜ ๊ฒฝ ๋กœ

โ€ข

LXC_SRC_NAME: clone ํ›… ์˜ ๊ฒฝ ์šฐ , ์› ๋ณธ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ด ๋ฆ„

โ€ข

LXC_ROOTFS_PATH: ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ lxc.rootfs.path ํ•ญ ๋ชฉ . ์ด ๊ฒƒ ์€ ๋งˆ ์šด ํŠธ ๋œ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๊ฐ€ ๋ฆฌ ํ‚ค ๋Š” ๊ฒƒ ์ด ์•„ ๋‹˜ ์— ์ฃผ ์˜ ํ•ด ์•ผ ํ•œ ๋‹ค . ๊ทธ ๋ชฉ ์  ์„ ์œ„ ํ•ด ์„œ ๋Š” LXC_ROOTFS_MOUNT๋ฅผ ์‚ฌ ์šฉ ํ•ด ์•ผ ํ•œ ๋‹ค .

ํ›… ์˜ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์€ debug ์ˆ˜ ์ค€ ๋กœ ๊ทธ ๋กœ ๋‚ฉ ๊ฒจ ์ง„ ๋‹ค . ํ‘œ ์ค€ ์— ๋Ÿฌ ๋Š” ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ฒจ ์ง€ ์ง€ ๋Š” ์•Š ์ง€ ๋งŒ , ํ‘œ ์ค€ ์— ๋Ÿฌ ๋ฅผ ํ‘œ ์ค€ ์ถœ ๋ ฅ ์œผ ๋กœ ๋ฆฌ ๋‹ค ์ด ๋ ‰ ์…˜ ํ•˜ ์—ฌ ๋กœ ๊ทธ ๋กœ ๋‚จ ๊ธธ ์ˆ˜ ์žˆ ๋‹ค .
lxc.hook.pre-start

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ tty, ์ฝ˜ ์†” ์˜ ์ƒ ์„ฑ ๋ฐ ๋งˆ ์šด ํŠธ ๊ฐ€ ๋˜ ๊ธฐ ์ „ ์— , ํ˜ธ ์Šค ํŠธ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… .

lxc.hook.pre-mount

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋งˆ ์šด ํŠธ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์•ˆ ์— ์„œ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์ด ์„ธ ํŒ… ๋˜ ๊ธฐ ์ „ ์— ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… . ์˜ˆ ๋ฅผ ๋“ค ์–ด ์•” ํ˜ธ ํ™” ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ๋งˆ ์šด ํŠธ ํ•˜ ๋Š” ๋“ฑ ์˜ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์„ ์กฐ ์ž‘ ํ•  ์ˆ˜ ์žˆ ๊ฒŒ ํ•ด ์ค€ ๋‹ค . ์ด ํ›… ์— ์„œ ๋งˆ ์šด ํŠธ ๋ฅผ ํ•˜ ๋” ๋ผ ๋„ ํ˜ธ ์Šค ํŠธ ์— ๋Š” ๋ฐ˜ ์˜ ๋˜ ์ง€ ์•Š ๋Š” ๋‹ค . (mounts propagation์€ ์ œ ์™ธ ) ๊ทธ ๋ž˜ ์„œ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ข… ๋ฃŒ ๋˜ ๋ฉด ์ž ๋™ ์  ์œผ ๋กœ ์ • ๋ฆฌ ๋œ ๋‹ค .

lxc.hook.mount

๋งˆ ์šด ํŠธ ๊ฐ€ ์™„ ๋ฃŒ ๋œ ํ›„ pivot_root ์ „ ์— , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋งˆ ์šด ํŠธ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… .

lxc.hook.autodev

lxc.autodev == 1๊ฐ€ ์ง€ ์ • ๋˜ ์–ด ์žˆ ๋Š” ๊ฒฝ ์šฐ ์— ๋งˆ ์šด ํŠธ ์™„ ๋ฃŒ ์‹œ ๋งˆ ์šด ํŠธ ํ›… ๋„ ์‹ค ํ–‰ ๋œ ํ›„ pivot_root์ „ ์— , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋งˆ ์šด ํŠธ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… . ์ด ํ›… ์˜ ๋ชฉ ์  ์€ systemd ๊ธฐ ๋ฐ˜ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ์— ์„œ autodev ์˜ต ์…˜ ์„ ์‚ฌ ์šฉ ํ•˜ ๋Š” ๊ฒฝ ์šฐ /dev ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋ฅผ ๊ตฌ ์„ฑ ํ•  ๋•Œ ๋„ ์›€ ์„ ์ฃผ ๊ธฐ ์œ„ ํ•œ ๊ฒƒ ์ด ๋‹ค . ํ›… ์ด ์‹ค ํ–‰ ๋  ๋•Œ , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ /dev ๊ฒฝ ๋กœ ๋Š” ${ LXC_ROOTFS_MOUNT } ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ์— ๋Œ€ ํ•œ ๊ฒฝ ๋กœ ์ด ๋‹ค .

lxc.hook.start

์ปจ ํ…Œ ์ด ๋„ˆ ์˜ init์ด ์‹ค ํ–‰ ๋˜ ๊ธฐ ์ง ์ „ ์— ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… . ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ ํ•ด ๋‹น ํ”„ ๋กœ ๊ทธ ๋žจ ์ด ์‹ค ํ–‰ ๋  ์ˆ˜ ์žˆ ๋Š” ์ƒ ํƒœ ์—ฌ ์•ผ ํ•œ ๋‹ค .

lxc.hook.stop

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ข… ๋ฃŒ ๋œ ํ›„ ์ปจ ํ…Œ ์ด ๋„ˆ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ๋Œ€ ํ•œ ์ฐธ ์กฐ ๋ฅผ ๋„˜ ๊ฒจ ๋ฐ› ๋Š” ํ˜ธ ์Šค ํŠธ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… . ๊ฐ ๊ฐ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋“ค ์€ ํ›… ์— ์ถ” ๊ฐ€ ์ธ ์ˆ˜ ๋กœ ๋„˜ ๊ฒจ ์ง„ ๋‹ค . ํ•ด ๋‹น ์ธ ์ˆ˜ ๋Š” ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์˜ ์ด ๋ฆ„ ๊ณผ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์˜ ํŒŒ ์ผ ๋”” ์Šค ํฌ ๋ฆฝ ํ„ฐ ๋ฅผ ์–ป ์–ด ์˜ฌ ์ˆ˜ ์žˆ ๋Š” ํŒŒ ์ผ ์ด ๋ฆ„ ์„ ๊ฐ€ ์ง€ ๊ณ  ์žˆ ์œผ ๋ฉฐ , ์ฝœ ๋ก  ์œผ ๋กœ ๊ตฌ ๋ถ„ ๋œ ๋‹ค . ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์ด ๋ฆ„ ์€ /proc/PID/ns ๋”” ๋ ‰ ํ†  ๋ฆฌ ๋‚ด ์˜ ํŒŒ ์ผ ์ด ๋ฆ„ ์ด ๋‹ค . ์˜ˆ ๋ฅผ ๋“ค ์–ด ๋งˆ ์šด ํŠธ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ๋Œ€ ์‘ ํ•˜ ๋Š” ์ธ ์ˆ˜ ๋Š” ์ผ ๋ฐ˜ ์  ์œผ ๋กœ mnt:/proc/PID/fd/12 ์™€ ๊ฐ™ ์ด ๋œ ๋‹ค .

lxc.hook.post-stop

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ข… ๋ฃŒ ๋œ ํ›„ ํ˜ธ ์Šค ํŠธ ์˜ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์— ์„œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… .

lxc.hook.clone

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ƒˆ ๋กœ ์šด ์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ๋ณต ์ œ ๋˜ ์—ˆ ์„ ๊ฒฝ ์šฐ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… . ์•„ ๋ž˜ ๋ฅผ ์ฐธ ์กฐ ํ•˜ ๋ฉด ๋” ์ž ์„ธ ํ•œ ์ • ๋ณด ๋ฅผ ์–ป ์„ ์ˆ˜ ์žˆ ๋‹ค . lxc-clone (1)

lxc.hook.destroy

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ œ ๊ฑฐ ๋  ๋•Œ ์‹ค ํ–‰ ๋˜ ๋Š” ํ›… .

์ปจ ํ…Œ ์ด ๋„ˆ ํ›… ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜

ํ›… ์ด ์‹œ ์ž‘ ๋  ๋•Œ ์„ค ์ • ์ • ๋ณด ๋ฅผ ์ œ ๊ณต ํ•˜ ๊ณ  ํ›… ์˜ ๊ธฐ ๋Šฅ ์„ ๋• ๊ธฐ ์œ„ ํ•ด ๋ช‡ ๊ฐ€ ์ง€ ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๊ฐ€ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค . ๋ชจ ๋“  ์ปจ ํ… ์Šค ํŠธ ์— ์„œ ๋ชจ ๋“  ๋ณ€ ์ˆ˜ ๊ฐ€ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•˜ ์ง„ ์•Š ๋‹ค . ํŠน ํžˆ , ๋ชจ ๋“  ๊ฒฝ ๋กœ ๋Š” ํ˜ธ ์Šค ํŠธ ์‹œ ์Šค ํ…œ ์— ์„œ ์˜ ๊ฒฝ ๋กœ ์ด ๋ฉฐ , lxc.hook.start ํ›… ์— ์„œ ๋Š” ์œ  ํšจ ํ•˜ ์ง€ ์•Š ๋‹ค .
LXC_NAME

LXC ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ด ๋ฆ„ . ์ผ ๋ฐ˜ ์  ์ธ ๋กœ ๊ทธ ํ™˜ ๊ฒฝ ์— ์„œ ๋กœ ๊ทธ ๋ฉ” ์‹œ ์ง€ ์— ์œ  ์šฉ ํ•˜ ๊ฒŒ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค . [ -n ]

LXC_CONFIG_FILE

์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ํŒŒ ์ผ ์˜ ํ˜ธ ์Šค ํŠธ ์— ์„œ ์˜ ๊ฒฝ ๋กœ . ์ด ๊ฒƒ ์€ ๋‹ค ๋ฅธ ๋ฐฉ ๋ฒ• ์œผ ๋กœ ๋Š” ์–ป ์„ ์ˆ˜ ์—† ๋Š” ์ถ” ๊ฐ€ ์  ์ธ ์ • ๋ณด ๋ฃฐ ์ฐพ ์„ ์ˆ˜ ์žˆ ๋„ ๋ก , ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ฐธ ์กฐ ํ•˜ ๋Š” ์› ๋ž˜ ์˜ ์ตœ ์ƒ ์œ„ ์„ค ์ • ํŒŒ ์ผ ์˜ ๊ฒฝ ๋กœ ๋ฅผ ์ œ ๊ณต ํ•œ ๋‹ค . [ -f ]

LXC_CONSOLE

NULL์ด ์•„ ๋‹ˆ ๋ผ ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ฝ˜ ์†” ์˜ ์ถœ ๋ ฅ ์ด ์ € ์žฅ ๋  ๊ฒฝ ๋กœ . [ -c ] [ lxc.console.path ]

LXC_CONSOLE_LOGPATH

NULL์ด ์•„ ๋‹ˆ ๋ผ ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ฝ˜ ์†” ์˜ ๋กœ ๊ทธ ์ถœ ๋ ฅ ์ด ์ € ์žฅ ๋  ๊ฒฝ ๋กœ . [ -L ]

LXC_ROOTFS_MOUNT

์ฒ˜ ์Œ ์— ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ๋งˆ ์šด ํŠธ ๋˜ ๋Š” ์žฅ ์†Œ . ์ด ๊ฒƒ ์€ ์‹œ ์ž‘ ๋˜ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ์ธ ์Šค ํ„ด ์Šค ๋ฅผ ์œ„ ํ•œ ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ์˜ ํ˜ธ ์Šค ํŠธ ์— ์„œ ์˜ ๊ฒฝ ๋กœ ์ด ๋‹ค . ํ•ด ๋‹น ์ธ ์Šค ํ„ด ์Šค ์— ๋Œ€ ํ•œ ๋ณ€ ๊ฒฝ ์ด ์ด ๋ฃจ ์–ด ์ ธ ์•ผ ํ•˜ ๋Š” ์žฅ ์†Œ ์ด ๋‹ค . [ lxc.rootfs.mount ]

LXC_ROOTFS_PATH

rootfs.mount์— ๋งˆ ์šด ํŠธ ๋œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฃจ ํŠธ ์˜ ํ˜ธ ์Šค ํŠธ ์— ์„œ ์˜ ๊ฒฝ ๋กœ ์ด ๋‹ค . [ lxc.rootfs.path ]

LXC_SRC_NAME

clone ํ›… ์— ์„œ ๋งŒ ์‚ฌ ์šฉ ๋œ ๋‹ค . ์› ๋ณธ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ด ๋ฆ„ ์„ ์ง€ ์ • ํ•œ ๋‹ค .

LXC_TARGET

stop ํ›… ์— ์„œ ๋งŒ ์‚ฌ ์šฉ ๋œ ๋‹ค . ๊ฐ’ ์ด "stop"์ด ๋ฉด ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ข… ๋ฃŒ ๋˜ ๋Š” ๊ฒƒ ์„ , "reboot"์ด ๋ฉด ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์žฌ ๋ถ€ ํŒ… ๋˜ ๋Š” ๊ฒƒ ์„ ์˜ ๋ฏธ ํ•œ ๋‹ค .

LXC_CGNS_AWARE

์ด ๋ณ€ ์ˆ˜ ๊ฐ€ ์ง€ ์ • ๋˜ ์ง€ ์•Š ์•˜ ๋‹ค ๋ฉด , ํ˜„ ์žฌ ๋ฒ„ ์ „ ์˜ lxc๋Š” cgroup ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋ฅผ ์ง€ ์› ํ•˜ ์ง€ ์•Š ๋Š” ๋‹ค . ๋งŒ ์•ฝ ์ง€ ์ • ๋˜ ์—ˆ ๊ณ  ๊ฐ’ ์ด 1์ด ๋ผ ๋ฉด , lxc๋Š” cgroup ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋ฅผ ์ง€ ์› ํ•˜ ๋Š” ๊ฒƒ ์ด ๋‹ค . ๋‹จ , kernel์— ์„œ ์˜ cgroup ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ์ง€ ์› ์„ ๋ณด ์žฅ ํ•˜ ๋Š” ๊ฒƒ ์ด ์•„ ๋‹˜ ์— ์ฃผ ์˜ ํ•ด ์•ผ ํ•œ ๋‹ค . lxcfs ๋งˆ ์šด ํŠธ ํ›… ์— ์„œ ์‚ฌ ์šฉ ๋œ ๋‹ค .

๋กœ ๊ทธ

๋กœ ๊ทธ ๋Š” ๊ฐ ์ปจ ํ…Œ ์ด ๋„ˆ ๋งˆ ๋‹ค ์„ค ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๊ธฐ ๋ณธ ์  ์œผ ๋กœ lxc ํŒจ ํ‚ค ์ง€ ๊ฐ€ ์–ด ๋–ป ๊ฒŒ ์ปด ํŒŒ ์ผ ๋˜ ์—ˆ ๋Š” ์ง€ ์— ๋‹ฌ ๋ ค ์žˆ ์ง€ ๋งŒ , ์ปจ ํ…Œ ์ด ๋„ˆ ์‹œ ์ž‘ ์‹œ ์— ๋Š” error ์ˆ˜ ์ค€ ๋กœ ๊ทธ ๋งŒ ๊ธฐ ๋ก ๋œ ๋‹ค . ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฒฝ ๋กœ ๋‚˜ /var/log/lxc ๋ฐ‘ ์— ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ด ๋ฆ„ ์„ ๋”ฐ ์„œ (๋’ค ์— โ€™.logโ€™๋ฅผ ๋ถ™ ์—ฌ ์„œ ) ๋กœ ๊ทธ ํŒŒ ์ผ ์„ ์ƒ ์„ฑ ํ•œ ๋‹ค .

๊ธฐ ๋ณธ ๋กœ ๊ทธ ์ˆ˜ ์ค€ ๊ณผ ๋กœ ๊ทธ ํŒŒ ์ผ ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ์„ค ์ • ํŒŒ ์ผ ๋กœ ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋ฉฐ , ๊ธฐ ๋ณธ ๋™ ์ž‘ ์„ ๋ฎ ์–ด ๋ฒ„ ๋ฆฐ ๋‹ค . ๋งˆ ์ฐฌ ๊ฐ€ ์ง€ ๋กœ ์„ค ์ • ํŒŒ ์ผ ํ•ญ ๋ชฉ ๋“ค ์€ lxc-start ๋ช… ๋ น ์–ด ์˜ ์˜ต ์…˜ ์œผ ๋กœ ๋ฎ ์–ด ์“ธ ์ˆ˜ ์žˆ ๋‹ค .
lxc.log.level

๊ธฐ ๋ก ํ•  ๋กœ ๊ทธ ์ˆ˜ ์ค€ . ๋กœ ๊ทธ ์ˆ˜ ์ค€ ์€ 0 หœ 8 ์‚ฌ ์ด ์˜ ์ • ์ˆ˜ ์ด ๋‹ค . ์ˆซ ์ž ๊ฐ€ ์ž‘ ์„ ์ˆ˜ ๋ก ๋” ์ž ์„ธ ํžˆ ๋กœ ๊ทธ ๋ฅผ ๊ธฐ ๋ก ํ•œ ๋‹ค . ๊ตฌ ์ฒด ์  ์œผ ๋กœ ๋Š” 0 = trace, 1 = debug, 2 = info, 3 = notice, 4 = warn, 5 = error, 6 = critical, 7 = alert, 8 = fatal์ด ๋‹ค . ์ง€ ์ • ํ•˜ ์ง€ ์•Š ์€ ๊ฒฝ ์šฐ , ๊ธฐ ๋ณธ ๊ฐ’ ์€ 5 (error)๋กœ , ์— ๋Ÿฌ ์ด ๊ฑฐ ๋‚˜ ๊ทธ ๋ณด ๋‹ค ์‹ฌ ๊ฐ ํ•œ ์ƒ ํ™ฉ ์˜ ๋กœ ๊ทธ ๋ฅผ ๊ธฐ ๋ก ํ•œ ๋‹ค .

(ํ›… ์Šค ํฌ ๋ฆฝ ํŠธ ๋ฐ ๋„ค ํŠธ ์›Œ ํฌ ์ธ ํ„ฐ ํŽ˜ ์ด ์Šค up/down ์Šค ํฌ ๋ฆฝ ํŠธ ๊ฐ™ ์€ ) ์Šค ํฌ ๋ฆฝ ํŠธ ๊ฐ€ ํ˜ธ ์ถœ ์ด ๋˜ ๋ฉด , ์Šค ํฌ ๋ฆฝ ํŠธ ์˜ ํ‘œ ์ค€ ์ž… ์ถœ ๋ ฅ ์€ 1 ๋ฒˆ , debug ์ˆ˜ ์ค€ ์œผ ๋กœ ๊ธฐ ๋ก ๋œ ๋‹ค .

lxc.log

๋กœ ๊ทธ ์ • ๋ณด ๋ฅผ ์“ธ ํŒŒ ์ผ .

lxc.log.syslog

๋กœ ๊ทธ ์ • ๋ณด ๋ฅผ syslog์— ๋ณด ๋‚ธ ๋‹ค . ๋กœ ๊ทธ ์ˆ˜ ์ค€ ์€ lxc.log.level ๋กœ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์ธ ์ž ๋Š” syslog์— ์ • ์˜ ๋œ ๊ฐ’ ์œผ ๋กœ ๋งŒ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ๋‹ค . ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•œ ๊ฐ’ ์€ ๋‹ค ์Œ ๊ณผ ๊ฐ™ ๋‹ค : daemon, local0, local1, local2, local3, local4, local5, local5, local7

์ž ๋™ ์‹œ ์ž‘

์ž ๋™ ์‹œ ์ž‘ ์˜ต ์…˜ ๋“ค ์€ ์ž ๋™ ์‹œ ์ž‘ ํ•  ์ปจ ํ…Œ ์ด ๋„ˆ ์ง€ ์ • ๋ฐ ์ˆœ ์„œ ์„ค ์ • ์ด ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค . ์ด ์˜ต ์…˜ ๋“ค ์€ LXC ๋„ ๊ตฌ ๋กœ ์ง ์ ‘ ์‚ฌ ์šฉ ํ•˜ ๊ฑฐ ๋‚˜ ๋ฐฐ ํฌ ํŒ ๋“ค ์ด ์ œ ๊ณต ํ•˜ ๋Š” ์™ธ ๋ถ€ ๋„ ๊ตฌ ์— ์˜ ํ•ด ์‚ฌ ์šฉ ๋  ์ˆ˜ ๋„ ์žˆ ๋‹ค .
lxc.start.auto

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ž ๋™ ์œผ ๋กœ ์‹œ ์ž‘ ๋  ์ง€ ์—ฌ ๋ถ€ . ์œ  ํšจ ํ•œ ๊ฐ’ ์€ 0 (off) ๋˜ ๋Š” 1 (on)์ด ๋‹ค .

lxc.start.delay

์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์‹œ ์ž‘ ๋œ ํ›„ ๋‹ค ์Œ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์‹œ ์ž‘ ๋˜ ๊ธฐ ์ „ ๊นŒ ์ง€ ๊ธฐ ๋‹ค ๋ฆด ์‹œ ๊ฐ„ (์ดˆ ).

lxc.start.order

๋‹ค ์ˆ˜ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ํ•œ ๋ฒˆ ์— ์ž ๋™ ์‹œ ์ž‘ ํ•  ๋•Œ , ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ถ€ ํŒ… ์ˆœ ์„œ ๋ฅผ ๊ฒฐ ์ • ํ•  ๋•Œ ์‚ฌ ์šฉ ํ•˜ ๋Š” ์ • ์ˆ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค .

lxc.monitor.unshare

๊ฐ’ ์ด 0์ด ์•„ ๋‹ˆ ๋ผ ๋ฉด , ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์ดˆ ๊ธฐ ํ™” ๋˜ ๊ธฐ ์ „ (pre-start ํ›… ์ด ์‹ค ํ–‰ ๋˜ ๊ธฐ ์ „ ) ํ˜ธ ์Šค ํŠธ ๋กœ ๋ถ€ ํ„ฐ ๋งˆ ์šด ํŠธ ๋„ค ์ž„ ์Šค ํŽ˜ ์ด ์Šค ๋ฅผ unshare ํ•œ ๋‹ค . ์‹œ ์ž‘ ์‹œ ์— CAP_SYS_ADMIN ์บ ํผ ๋นŒ ๋ฆฌ ํ‹ฐ ๊ฐ€ ์š” ๊ตฌ ๋œ ๋‹ค . ๊ธฐ ๋ณธ ๊ฐ’ ์€ 0์ด ๋‹ค .

lxc.group

์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์ถ” ๊ฐ€ ํ•  ์ปจ ํ…Œ ์ด ๋„ˆ ๊ทธ ๋ฃน ์„ ์ง€ ์ • ํ•œ ๋‹ค . ์—ฌ ๋Ÿฌ ๊ฐ’ ์„ ์„ค ์ • ํ•  ์ˆ˜ ์žˆ ์œผ ๋ฉฐ , ์—ฌ ๋Ÿฌ ๋ฒˆ ์ง€ ์ • ๊ฐ€ ๋Šฅ ํ•˜ ๋‹ค . ์„ค ์ • ๋œ ๊ทธ ๋ฃน ์€ ์—ฐ ๊ด€ ๋œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์„ ์‹œ ์ž‘ ํ•  ๋•Œ ์‚ฌ ์šฉ ๋œ ๋‹ค .

์ž ๋™ ์‹œ ์ž‘ ๊ณผ ์‹œ ์Šค ํ…œ ๋ถ€ ํŒ…

๊ฐ ๊ฐ ์˜ ์ปจ ํ…Œ ์ด ๋„ˆ ๋Š” ์—ฌ ๋Ÿฌ ๊ทธ ๋ฃน ์— ์† ํ•  ์ˆ˜ ๋„ ์žˆ ๊ณ  ์•„ ๋ฌด ๊ทธ ๋ฃน ์— ๋„ ์† ํ•˜ ์ง€ ์•Š ์„ ์ˆ˜ ์žˆ ๋‹ค . ๋‘ ๊ฐœ ์˜ ๊ทธ ๋ฃน ์€ ํŠน ์ˆ˜ ํ•œ ๋ฐ , ํ•˜ ๋‚˜ ๋Š” NULL ๊ทธ ๋ฃน ์ด ๊ณ  ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ์•„ ๋ฌด ๊ทธ ๋ฃน ์— ๋„ ์† ํ•˜ ์ง€ ์•Š ์„ ๋•Œ ์‚ฌ ์šฉ ๋œ ๋‹ค . ๊ทธ ๋ฆฌ ๊ณ  ๋‚˜ ๋จธ ์ง€ ํ•˜ ๋‚˜ ๋Š” "onboot" ๊ทธ ๋ฃน ์ด ๋‹ค .

LXC ์„œ ๋น„ ์Šค ๊ฐ€ ํ™œ ์„ฑ ํ™” ๋œ ์ƒ ํƒœ ๋กœ ์‹œ ์Šค ํ…œ ์ด ๋ถ€ ํŒ… ๋  ๋•Œ , ๋จผ ์ € lxc.start.auto == 1์ด ๊ณ  "onboot" ๊ทธ ๋ฃน ์ธ ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์„ ์‹œ ์ž‘ ํ•˜ ๋ ค ๊ณ  ์‹œ ๋„ ํ•œ ๋‹ค . ์‹œ ์ž‘ ๊ณผ ์ • ์€ lxc.start.order์˜ ์ˆœ ์„œ ๋Œ€ ๋กœ ์ด ๋ฃจ ์–ด ์ง„ ๋‹ค . ๋งŒ ์•ฝ lxc.start.delay๊ฐ€ ์ง€ ์ • ๋˜ ์—ˆ ๋‹ค ๋ฉด , ๋‹ค ์Œ ์ปจ ํ…Œ ์ด ๋„ˆ ๋ฅผ ์‹œ ์ž‘ ํ•˜ ๋ ค ๊ณ  ์‹œ ๋„ >ํ•˜ ๊ธฐ ์ „ , ํ˜„ ์žฌ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ์ดˆ ๊ธฐ ํ™” ๋ฐ ํ˜ธ ์Šค ํŠธ ์‹œ ์Šค ํ…œ ์˜ ๋ถ€ ํ•˜ ๋ฅผ ์ค„ ์ด ๊ธฐ ์œ„ ํ•ด ์„œ ์ง€ ์—ฐ ์‹œ ๊ฐ„ ์„ ์ค€ ๋‹ค . "onboot" ๊ทธ ๋ฃน ์˜ ๋ฉค ๋ฒ„ ๋“ค ์„ ์‹œ ์ž‘ ์‹œ ํ‚จ ํ›„ , LXC ์‹œ ์Šค ํ…œ ์€ lxc.start.auto == 1์ด ๊ณ  ์–ด ๋–ค ๊ทธ ๋ฃน ์— ๋„ ์† ํ•˜ ์ง€ ์•Š ์€ (NULL ๊ทธ ๋ฃน ) ์ปจ ํ…Œ ์ด ๋„ˆ ๋“ค ์„ ์‹œ ์ž‘ ํ•œ ๋‹ค .

์ปจ ํ…Œ ์ด ๋„ˆ ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜

์ปจ ํ…Œ ์ด ๋„ˆ ์— ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋ฅผ ๋… ๊ฒจ ์ฃผ ๊ณ  ์‹ถ ๋‹ค ๋ฉด (ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ init๊ณผ ๊ทธ ์ž ์† ์ „ ์ฒด ๊ฐ€ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค ), lxc.environment ๋ฅผ ์‚ฌ ์šฉ ํ•  ์ˆ˜ ์žˆ ๋‹ค . ๋ฏผ ๊ฐ ํ•œ ์ • ๋ณด ๋ฅผ ๋„˜ ๊ธฐ ์ง€ ์•Š ๋„ ๋ก ์ฃผ ์˜ ํ•ด ์•ผ ํ•œ ๋‹ค . ์™œ ๋ƒ ๋ฉด ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ ๋ชจ ๋“  ํ”„ ๋กœ ์„ธ ์Šค ๊ฐ€ ์ด ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋ฅผ ํš ๋“ ํ•  ์ˆ˜ ์žˆ ๊ธฐ ๋•Œ ๋ฌธ ์ด ๋‹ค . ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋Š” ํ•ญ ์ƒ /proc/PID/environ ๋ฅผ ํ†ต ํ•ด ํš ๋“ ํ•  ์ˆ˜ ์žˆ ๋‹ค .

์ด ์„ค ์ • ํ•ญ ๋ชฉ ์€ ์—ฌ ๋Ÿฌ ๋ฒˆ ์„ ์ง€ ์ • ํ•  ์ˆ˜ ์žˆ ์œผ ๋ฉฐ , ์„ค ์ • ํ•˜ ๋ ค ๋Š” ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋งˆ ๋‹ค ํ•œ ๋ฒˆ ์”ฉ ์ง€ ์ • ํ•œ ๋‹ค .
lxc.environment

์ปจ ํ…Œ ์ด ๋„ˆ ๋กœ ์ „ ๋‹ฌ ๋  ํ™˜ ๊ฒฝ ๋ณ€ ์ˆ˜ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . ์˜ˆ ์ œ :

lxc.environment = APP_ENV=production

lxc.environment = SYSLOG_SERVER=192.0.2.42

์˜ˆ ์ œ

์•„ ๋ž˜ ์— ์†Œ ๊ฐœ ํ•˜ ๋Š” ๋ช‡ ๊ฐ€ ์ง€ ์˜ˆ ์ œ ๋ง ๊ณ  ๋„ ๋‹ค ๋ฅธ ์˜ˆ ์ œ ๋“ค ์ด /usr/share/doc/lxc/examples์— ์œ„ ์น˜ ํ•˜ ๊ณ  ์žˆ ๋‹ค .

๋„ค ํŠธ ์›Œ ํฌ

์ด ์„ค ์ • ์€ ์ปจ ํ…Œ ์ด ๋„ˆ ๊ฐ€ ํ•œ ์ชฝ ์€ (์ด ์ „ ์— ์‹œ ์Šค ํ…œ ์— ์ด ๋ฏธ ์ƒ ์„ฑ ๋œ ) br0 ๋ธŒ ๋ฆฌ ์ง€ ์— ์—ฐ ๊ฒฐ ๋˜ ์–ด ์žˆ ๋Š” veth ์žฅ ์น˜ ์Œ ์„ ์‚ฌ ์šฉ ํ•˜ ๋„ ๋ก ์„ธ ํŒ… ํ•œ ๋‹ค . ๊ฐ€ ์ƒ ๋„ค ํŠธ ์›Œ ํฌ ์žฅ ์น˜ ๋Š” ์ปจ ํ…Œ ์ด ๋„ˆ ๋‚ด ์— ์„œ eth0๋ผ ๋Š” ์ด ๋ฆ„ ์„ ๊ฐ– ๋Š” ๋‹ค .

lxc.uts.name = myhostname

lxc.net.0.type = veth

lxc.net.0.flags = up

lxc.net.0.link = br0

lxc.net.0.name = eth0

lxc.net.0.hwaddr = 4a:49:43:49:79:bf

lxc.net.0.ipv4.address = 1.2.3.5/24 1.2.3.255

lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3597

UID/GID ๋งค ํ•‘

์ด ์„ค ์ • ์€ UID์™€ GID ๋‘˜ ๋‹ค ๋ฅผ ์ปจ ํ…Œ ์ด ๋„ˆ ์˜ 0 หœ 9999๋ฅผ ํ˜ธ ์Šค ํŠธ ์˜ 100000 หœ 109999๋กœ ๋งค ํ•‘ ํ•œ ๋‹ค .

lxc.idmap = u 0 100000 10000

lxc.idmap = g 0 100000 10000

์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน

์ด ์„ค ์ • ์€ ์–ด ํ”Œ ๋ฆฌ ์ผ€ ์ด ์…˜ ์„ ์œ„ ํ•ด ๋ช‡ ๊ฐ€ ์ง€ ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์„ ์„ค ์ • ํ•œ ๋‹ค . cpuset.cpus๋Š” ์ • ์˜ ๋œ cpu๋งŒ ์‚ฌ ์šฉ ํ•˜ ๋„ ๋ก ์ œ ํ•œ ํ•œ ๋‹ค . cpus.share์€ ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน (cpu) ์šฐ ์„  ์ˆœ ์œ„ ๋ฅผ ์ง€ ์ • ํ•œ ๋‹ค . devices.allow๋Š” ํŠน ์ • ์žฅ ์น˜ ๋ฅผ ์‚ฌ ์šฉ ๊ฐ€ ๋Šฅ ํ•˜ ๊ฒŒ ํ•œ ๋‹ค .

lxc.cgroup.cpuset.cpus = 0,1

lxc.cgroup.cpu.shares = 1234

lxc.cgroup.devices.deny = a

lxc.cgroup.devices.allow = c 1:3 rw

lxc.cgroup.devices.allow = b 8:0 rw

๋ณต ์žก ํ•œ ์„ค ์ •

์•„ ๋ž˜ ์˜ ์˜ˆ ์ œ ๋Š” ๋ณต ์žก ํ•œ ๋„ค ํŠธ ์›Œ ํฌ ์Šค ํƒ , ์ปจ ํŠธ ๋กค ๊ทธ ๋ฃน ์‚ฌ ์šฉ , ํ˜ธ ์Šค ํŠธ ์ด ๋ฆ„ ์„ค ์ • , ๋ช‡ ๋ช‡ ์žฅ ์†Œ ๋งˆ ์šด ํŠธ , ๋ฃจ ํŠธ ํŒŒ ์ผ ์‹œ ์Šค ํ…œ ๋ณ€ ๊ฒฝ ๋“ฑ ์˜ ๋ณต ์žก ํ•œ ์„ค ์ • ์„ ๋ณด ์—ฌ ์ค€ ๋‹ค .

lxc.uts.name = complex

lxc.net.0.type = veth

lxc.net.0.flags = up

lxc.net.0.link = br0

lxc.net.0.hwaddr = 4a:49:43:49:79:bf

lxc.net.0.ipv4.address = 10.2.3.5/24 10.2.3.255

lxc.net.0.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3597

lxc.net.0.ipv6.address = 2003:db8:1:0:214:5432:feab:3588

lxc.net.1.type = macvlan

lxc.net.1.flags = up

lxc.net.1.link = eth0

lxc.net.1.hwaddr = 4a:49:43:49:79:bd

lxc.net.1.ipv4.address = 10.2.3.4/24

lxc.net.1.ipv4.address = 192.168.10.125/24

lxc.net.1.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3596

lxc.net.2.type = phys

lxc.net.2.flags = up

lxc.net.2.link = random0

lxc.net.2.hwaddr = 4a:49:43:49:79:ff

lxc.net.2.ipv4.address = 10.2.3.6/24

lxc.net.2.ipv6.address = 2003:db8:1:0:214:1234:fe0b:3297

lxc.cgroup.cpuset.cpus = 0,1

lxc.cgroup.cpu.shares = 1234

lxc.cgroup.devices.deny = a

lxc.cgroup.devices.allow = c 1:3 rw

lxc.cgroup.devices.allow = b 8:0 rw

lxc.mount.fstab = /etc/fstab.complex

lxc.mount.entry = /lib /root/myrootfs/lib none ro,bind 0 0

lxc.rootfs.path = dir:/mnt/rootfs.complex

lxc.cap.drop = sys_module mknod setuid net_raw

lxc.cap.drop = mac_override

์ฐธ ์กฐ

chroot (1), pivot_root (8), fstab (5) capabilities (7)

์ฐธ ์กฐ

lxc (7), lxc-create (1), lxc-copy (1), lxc-destroy (1), lxc-start (1), lxc-stop (1), lxc-execute (1), lxc-console (1), lxc-monitor (1), lxc-wait (1), lxc-cgroup (1), lxc-ls (1), lxc-info (1), lxc-freeze (1), lxc-unfreeze (1), lxc-attach (1), lxc.conf (5)