Xen ํ๋ก์ ํธ์ ๋ ๊ฐ ์๋ ๊ฐ๋ฐ๋ XCP-ng ํ๋ซํผ์ ๊ฐ๋ฐ์๋ Xen ์ํํธ์จ์ด ์คํ์ ๋ค์ํ ๊ตฌ์ฑ ์์์ ๋ํ Rust ๋์ฒดํ์ ๋ง๋๋ ๊ณํ์ ๋ฐํํ์ต๋๋ค. Xen ํ์ดํผ๋ฐ์ด์ ์์ฒด๋ ์์ง ์ฒ๋ฆฌ๋์ง ์์ ์์ ์ด๋ฉฐ ์์ ์ ์ฃผ๋ก ํดํท์ ๊ฐ๋ณ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์์ ํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
์ด ํ๋ซํผ์ ํ์ฌ C, Python, OCaml ๋ฐ Go์ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ทธ ์ค ์ผ๋ถ๋ ์ค๋๋์ด ์ ์ง ๊ด๋ฆฌ ๋ฌธ์ ๋ฅผ ์ผ์ผํต๋๋ค. ๋ฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ ๊ด๋ จ๋ ์ธ์ด์ ์๊ฐ ์ ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ์ง๋ ์์ ๊ฒ์ด๋ผ๋ ์ ์ ์ฃผ๋ชฉํด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด Go์๋ ๋จ ํ๋์ ๊ตฌ์ฑ ์์๋ง ๊ตฌํ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
Rust๋ ๋์ ์ถ๋ ฅ ์ฝ๋ ์ฑ๋ฅ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ๊ณ , ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ์๊ณ , ์ ์์ค ๋ฐ ๊ณ ์์ค ๊ตฌ์ฑ ์์๋ฅผ ๋ชจ๋ ๊ฐ๋ฐํ๋ ๋ฐ ์ ํฉํ๊ณ , ์ ์ฌ์ ์ธ ๋ฒ๊ทธ๋ฅผ ์ค์ด๊ธฐ ์ํ ์ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๋ ์ ์์ ์ ํ๋์์ต๋๋ค. ์ฒด์ปค). ). Rust๋ ๋ํ ํ์ฌ XAPI ์ธ์ด์ธ OCaml๋ณด๋ค ๋ ๋๋ฆฌ ํผ์ ธ ์์ด ์๋ก์ด ๊ฐ๋ฐ์๋ฅผ ํ๋ก์ ํธ์ ๋ ์ฝ๊ฒ ๋์ด๋ค์ผ ์ ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋จ๊ณ์์๋ ํ๋ก์ธ์ค๋ฅผ ํด๊ฒฐํ๊ณ ์ํํธ์จ์ด ์คํ์ ๋ค๋ฅธ ๋ถ๋ถ์ ๊ต์ฒดํ๊ธฐ ์ํ ๊ธฐ๋ฐ์ ์ค๋นํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ตฌ์ฑ ์์์ ๋ํ ๊ต์ฒด๋ฅผ ๊ฐ๋ฐํ ๊ณํ์ ๋๋ค. ํนํ, ์ฐ์ Linux ๊ฒ์คํธ ๋๊ตฌ๋ ํ์ฌ Go ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ Rust๋ก ๋ค์ ์์ฑํ๊ณ ์งํ ์์ง์ ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ OCaml๋ก ์์ฑํฉ๋๋ค.
Linux ๊ฒ์คํธ ๋๊ตฌ(xe-guest-utilities)๋ Cloud Software Group์ ํต์ ํ์ ์๋ Xen ํ๋ก์ ํธ ์ธ๋ถ์ ๊ฐ๋ฐ ๋ฐ ์ฝ๋ ํ์ง ๋ฌธ์ ๋ก ์ธํด ์ฌ์ค๊ณ๋์ด์ผ ํ๋ฏ๋ก ํจํค์ง์ด ์ด๋ ต๊ณ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ๊ฐ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ด๋ ต์ต๋๋ค. ํดํท์ ์ ๋ฒ์ (xen-guest-agent)์ ์ฒ์๋ถํฐ ์์ ํ ์๋ก ๋ง๋ค์ด ๊ฐ๋ฅํ ํ ๊ฐ๋จํ๊ฒ ๋ง๋ค๊ณ ์์ด์ ํธ ๋ ผ๋ฆฌ๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ๋ถ๋ฆฌํ ๊ณํ์ ๋๋ค. ๋ฉํธ๋ฆญ ์์ง์ ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค(rrdd)๊ฐ ๊ฐ๊ฒฐํ๊ณ ๋ถ๋ฆฌ๋์ด ์์ด ๊ฐ๋ฐ ์ค์ ์๋ก์ด ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ๊ธฐ๊ฐ ๋ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋ด๋ ์๋ ์ํํธ์จ์ด ์คํ์ ์ํคํ ์ฒ๋ฅผ ์ต์ ํํ ์ ์๋ Rust์ xenopsd-ng ๊ตฌ์ฑ ์์ ๊ฐ๋ฐ ์์ ์ด ์์๋ ๊ฒ์ ๋๋ค. ์ฃผ์ ์์ด๋์ด๋ ํ๋์ ๊ตฌ์ฑ ์์์์ ํ์ ์์ค API ์์ ์ ์ง์คํ๊ณ ์ด๋ฅผ ํตํด ์คํ์ ๋๋จธ์ง ๋ถ๋ถ์ ๋ชจ๋ ์์ ์์ค API๋ฅผ ์ ๊ณตํ๋๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ ๋๋ค.
ํ์ฌ Xen ์คํ ์ํคํ ์ฒ:
xenopsd-ng ๊ธฐ๋ฐ์ ์ ์๋ Xen ์คํ ์ํคํ ์ฒ:
์ถ์ฒ : opennet.ru