๋๊ท๋ชจ ํด๋ผ์ฐ๋ ์์คํ ์์๋ ์ปดํจํ ๋ฆฌ์์ค์ ๋ํ ๋ก๋์ ์๋ ๊ท ํ ์กฐ์ ๋๋ ํ์คํ ๋ฌธ์ ๊ฐ ํนํ ์ฌ๊ฐํฉ๋๋ค. Tionix(Rostelecom ๊ทธ๋ฃน ๊ธฐ์ ์ ์ผ๋ถ์ธ ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ์ ๋ฐ ์ด์์ ์ฒด)๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ์ ์ฃผ์ ๊ฐ๋ฐ ํ๋ซํผ์ OpenStack์ด๊ณ ์ฐ๋ฆฌ ๋ชจ๋๊ฐ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ฒ์ผ๋ฅด๊ธฐ ๋๋ฌธ์ ํ๋ซํผ์ ์ด๋ฏธ ํฌํจ๋์ด ์๋ ๊ธฐ์ฑ ๋ชจ๋์ ์ ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ์ ์ ํ์ Watcher์ ์์๊ณ ์ฐ๋ฆฌ๋ ํ์์ ๋ฐ๋ผ ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
๋จผ์ ์ฉ์ด์ ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฉ์ด ๋ฐ ์ ์
๊ณจ ๋ฌ์ฑํด์ผ ํ๋ ์ฌ๋์ด ์ฝ์ ์ ์๊ณ , ๊ด์ฐฐํ ์ ์๊ณ , ์ธก์ ํ ์ ์๋ ์ต์ข ๊ฒฐ๊ณผ์ ๋๋ค. ๊ฐ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํ ํ๋ ์ด์์ ์ ๋ต์ด ์์ต๋๋ค. ์ ๋ต์ ์ฃผ์ด์ง ๋ชฉํ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ฐพ์ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๊ฒ์ ๋๋ค.
ํ๋ OpenStack ํด๋ฌ์คํฐ์ ๋์ ๊ด๋ฆฌ ๋ฆฌ์์ค์ ํ์ฌ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ธฐ๋ณธ ์์ ์ ๋๋ค. ์: ๊ฐ์ ๋จธ์ ๋ง์ด๊ทธ๋ ์ด์ (migration), ๋ ธ๋์ ์ ์ ์ํ ๋ณ๊ฒฝ(change_node_power_state), nova ์๋น์ค ์ํ ๋ณ๊ฒฝ(change_nova_service_state) ), ํ๋ ์ด๋ฒ ๋ณ๊ฒฝ(ํฌ๊ธฐ ์กฐ์ ), NOP ๋ฉ์์ง ๋ฑ๋ก(nop), ํน์ ์๊ฐ ๋์ ์์ ๋ถ์กฑ - ์ผ์ ์ค์ง(sleep), ๋์คํฌ ์ ์ก(volume_ migration).
ํ๋ ๊ณํ - ํน์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํน์ ์์์ ๋ฐ๋ผ ์ํ๋๋ ํน์ ์์ ํ๋ฆ์ ๋๋ค. ์คํ ๊ณํ์๋ ์ผ๋ จ์ ์ฑ๊ณผ ์งํ์ ํจ๊ป ์ธก์ ๋ ๊ธ๋ก๋ฒ ์ฑ๊ณผ๋ ํฌํจ๋์ด ์์ต๋๋ค. ๊ฐ์ฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด Watcher๊ฐ ์คํ ๊ณํ์ ์์ฑํ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ์ฌ์ฉ๋ ์ ๋ต์ด ๋ชฉํ ๋ฌ์ฑ์ ์ํ ์๋ฃจ์ ์ ์ฐพ์ต๋๋ค. ์คํ ๊ณํ์ ์์ฐจ์ ์คํ ๋ชฉ๋ก์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ฌ์ฌ ํด๋ฌ์คํฐ ์ต์ ํ ์์ฒญ์ ๋๋ค. ์ฃผ์ด์ง ํด๋ฌ์คํฐ์์ ํ๋์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ต์ ํ๊ฐ ์ํ๋ฉ๋๋ค. ๊ฐ์ฌ๊ฐ ์ฑ๊ณตํ ๋๋ง๋ค Watcher๋ ์คํ ๊ณํ์ ์์ฑํฉ๋๋ค.
๊ฐ์ฌ ๋ฒ์ ๊ฐ์ฌ๊ฐ ์ํ๋๋ ๋ฆฌ์์ค ์ธํธ์ ๋๋ค(๊ฐ์ฉ์ฑ ์์ญ, ๋ ธ๋ ์ง๊ณ์, ๊ฐ๋ณ ์ปดํจํ ๋ ธ๋ ๋๋ ์คํ ๋ฆฌ์ง ๋ ธ๋ ๋ฑ). ๊ฐ์ฌ ๋ฒ์๋ ๊ฐ ํ ํ๋ฆฟ์ ์ ์๋ฉ๋๋ค. ๊ฐ์ฌ ๋ฒ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์ ์ฒด ํด๋ฌ์คํฐ๊ฐ ๊ฐ์ฌ๋ฉ๋๋ค.
๊ฐ์ฌ ํ ํ๋ฆฟ โ ๊ฐ์ฌ ์์์ ์ํด ์ ์ฅ๋ ์ค์ ์ธํธ์ ๋๋ค. ๋์ผํ ์ค์ ์ผ๋ก ๊ฐ์ฌ๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ๋ ค๋ฉด ํ ํ๋ฆฟ์ด ํ์ํฉ๋๋ค. ํ ํ๋ฆฟ์๋ ๋ฐ๋์ ๊ฐ์ฌ ๋ชฉ์ ์ด ํฌํจ๋์ด์ผ ํ๋ฉฐ, ์ ๋ต์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ ํฉํ ๊ธฐ์กด ์ ๋ต์ด ์ ํ๋ฉ๋๋ค.
๋ฌด๋ฆฌ ์ปดํจํ , ์คํ ๋ฆฌ์ง ๋ฐ ๋คํธ์ํน ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๊ณ ๋์ผํ OpenStack ๊ด๋ฆฌ ๋ ธ๋์ ์ํด ๊ด๋ฆฌ๋๋ ๋ฌผ๋ฆฌ์ ์์คํ ์ ๋ชจ์์ ๋๋ค.
ํด๋ฌ์คํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ(CDM) ํด๋ฌ์คํฐ์์ ๊ด๋ฆฌํ๋ ๋ฆฌ์์ค์ ํ์ฌ ์ํ์ ํ ํด๋ก์ง๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ํํํ ๊ฒ์ ๋๋ค.
ํจ์จ์ฑ ์งํ - ์ด ์ ๋ต์ ์ฌ์ฉํ์ฌ ์์ฑ๋ ์๋ฃจ์ ์ด ์ด๋ป๊ฒ ์ํ๋๋์ง ๋ํ๋ด๋ ์งํ์ ๋๋ค. ์ฑ๊ณผ ์งํ๋ ํน์ ๋ชฉํ์ ํน์ ํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๊ฒฐ๊ณผ ์คํ ๊ณํ์ ๊ธ๋ก๋ฒ ํจ๊ณผ๋ฅผ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํจ๋ฅ๊ท๊ฒฉ ํด๋น ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํ ์ ๋ต์ด ์๋ฃจ์ ์์ ๋ฌ์ฑํด์ผ ํ๋ ๋ค์ํ ์ฑ๊ณผ ์งํ๋ฅผ ์ ์ํ๋ ๊ฐ ๋ชฉํ์ ๊ด๋ จ๋ ํน์ ๊ธฐ๋ฅ ์ธํธ์ ๋๋ค. ์ค์ ๋ก ์ ๋ต์ ์ํด ์ ์๋ ๊ฐ ์๋ฃจ์ ์ ๊ธ๋ก๋ฒ ํจ์จ์ฑ์ ๊ณ์ฐํ๊ธฐ ์ ์ ์ฌ์๊ณผ ๋น๊ตํ์ฌ ํ์ธ๋ฉ๋๋ค.
์ฑ์ ์์ง ์ ์ ์๋ ์ ๋ ฅ๊ณผ ์ ์ ์๋ ์ถ๋ ฅ์ด ์๊ณ ์์ ํ ์ํ์ ์์ ์ ์ํํ๋ ์คํ ํ์ผ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ณ์ฐ์ด ์ํ๋๋ ํ๊ฒฝ์ ๊ด๊ณ์์ด ๊ณ์ฐ์ด ์ํ๋๋ฏ๋ก ์ด๋์์๋ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
๊ฐ์์ ํ๋๋ - Watcher ์์ฌ ๊ฒฐ์ ์์ง์ ์ผ๋ถ์ ๋๋ค. ์ด ๋ชจ๋์ ์ ๋ต์ ์ํด ์์ฑ๋ ์ผ๋ จ์ ์์ ์ ์ํํ๊ณ ์ด๋ฌํ ๋ค์ํ ์์ ์ ์ ์์ ์์ฝํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ ์์ ์ ๋ํ ์ ์ ์กฐ๊ฑด์ ์ง์ ํ๋ ์ํฌํ๋ก ๊ณํ์ ์์ฑํฉ๋๋ค.
๊ฐ์์ ๋ชฉํ ๋ฐ ์ ๋ต
๊ณจ
์ ๋ต
๋๋ฏธ ๋ชฉํ
๋๋ฏธ ์ ๋ต
์ํ ์ฑ์ ์์ง์ ์ฌ์ฉํ ๋๋ฏธ ์ ๋ต
ํฌ๊ธฐ ์กฐ์ ์ด ํฌํจ๋ ๋๋ฏธ ์ ๋ต
์๋์ง ์ ์ฝ
์๋์ง ์ ์ฝ ์ ๋ต
์๋ฒ ํตํฉ
๊ธฐ๋ณธ ์คํ๋ผ์ธ ์๋ฒ ํตํฉ
VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต
์ํฌ๋ก๋ ๋ฐธ๋ฐ์ฑ
์ํฌ๋ก๋ ๊ท ํ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ต
์คํ ๋ฆฌ์ง ์ฉ๋ ๊ท ํ ์ ๋ต
์ํฌ๋ก๋ ์์ ํ
์๋๋ฌ์ด ์ด์
์๋๋ฌ์ด ์ด์
์ด ์ต์ ํ
์ถ๊ตฌ ์จ๋ ๊ธฐ๋ฐ ์ ๋ต
๊ธฐ๋ฅ ์ต์ ํ
๊ท ์ผํ ๊ณต๊ธฐ ํ๋ฆ ๋ง์ด๊ทธ๋ ์ด์
์ ๋ต
ํ๋์จ์ด ์ ์ง ๊ด๋ฆฌ
์์ญ ๋ง์ด๊ทธ๋ ์ด์
๋ถ๋ฅ๋์ง ์์
์๋์ํค๋ ๊ฒ
๋๋ฏธ ๋ชฉํ โ ํ ์คํธ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์์ฝ๋ ๋ชฉํ์ ๋๋ค.
๊ด๋ จ ์ ๋ต: ๋๋ฏธ ์ ๋ต, ์ํ ์ฑ์ ์์ง์ ์ฌ์ฉํ๋ ๋๋ฏธ ์ ๋ต, ํฌ๊ธฐ ์กฐ์ ์ด ํฌํจ๋ ๋๋ฏธ ์ ๋ต. ๋๋ฏธ ์ ๋ต์ Tempest๋ฅผ ํตํ ํตํฉ ํ ์คํธ์ ์ฌ์ฉ๋๋ ๋๋ฏธ ์ ๋ต์ ๋๋ค. ์ด ์ ๋ต์ ์ ์ฉํ ์ต์ ํ๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉฐ ์ ์ผํ ๋ชฉ์ ์ Tempest ํ ์คํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ํ ์ฑ์ ์์ง์ ์ฌ์ฉํ๋ ๋๋ฏธ ์ ๋ต - ์ ๋ต์ ์ด์ ์ ๋ต๊ณผ ์ ์ฌํ๋ฉฐ, ์ ์ผํ ์ฐจ์ด์ ์ ๊ธฐ๊ณ ํ์ต ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ณ์ฐ์ ์ํํ๋ ์ํ "์ ์ ์์ง"์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
ํฌ๊ธฐ ์กฐ์ ์ด ํฌํจ๋ ๋๋ฏธ ์ ๋ต - ์ ๋ต์ ์ด์ ์ ๋ต๊ณผ ์ ์ฌํ๋ฉฐ ์ ์ผํ ์ฐจ์ด์ ์ ํ๋ ์ด๋ฒ ๋ณ๊ฒฝ(๋ง์ด๊ทธ๋ ์ด์ ๋ฐ ํฌ๊ธฐ ์กฐ์ )์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
ํ๋ก๋์ ์๋ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
์๋์ง ์ ์ฝ โ ์๋์ง ์๋น๋ฅผ ์ต์ํํฉ๋๋ค. ์ด ๋ชฉํ์ ์๋์ง ์ ์ฝ ์ ๋ต์ VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต(์๋ฒ ํตํฉ)๊ณผ ํจ๊ป ๋ฆฌ์์ค ํ์ฉ๋๊ฐ ๋ฎ์ ๊ธฐ๊ฐ์๋ ์ํฌ๋ก๋๋ฅผ ๋์ ์ผ๋ก ํตํฉํ์ฌ ์๋์ง๋ฅผ ์ ์ฝํ๋ ๋์ ์ ์ ๊ด๋ฆฌ(DPM) ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ์ ๋จธ์ ์ ๋ ์ ์ ์์ ๋ ธ๋๋ก ์ด๋๋ฉ๋๋ค. , ๋ถํ์ํ ๋ ธ๋๋ ๋นํ์ฑํ๋ฉ๋๋ค. ํตํฉ ํ ์ ๋ต์ ์ง์ ๋ ๋งค๊ฐ๋ณ์์ ๋ฐ๋ผ ๋ ธ๋๋ฅผ ์ผ๊ฑฐ๋ ๋๋ ๊ฒฐ์ ์ ์ ๊ณตํฉ๋๋ค. "min_free_hosts_num" - ๋ก๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋ฌด๋ฃ๋ก ํ์ฑํ๋ ๋ ธ๋ ์ ๋ฐ "free_used_percent" - ๋ฌด๋ฃ๋ก ํ์ฑํ๋ ํธ์คํธ์ ๋น์จ ๋จธ์ ์ด ์ฐจ์งํ๋ ๋ ธ๋ ์. ์ ๋ต์ด ์๋ํ๋ ค๋ฉด ๋ค์์ด ์์ด์ผ ํฉ๋๋ค. ๋ ธ๋์ ์ ์ ์ํ์ ์ฒ๋ฆฌํ๋๋ก Ironic์ ํ์ฑํํ๊ณ ๊ตฌ์ฑํ์ต๋๋ค.
์ ๋ต ๋งค๊ฐ๋ณ์
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
free_used_percent
๋ฒํธ
10.0
๊ฐ์ ๋จธ์ ์ด ์๋ ์ปดํจํ
๋
ธ๋ ์์ ๋ํ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํจํ
๋
ธ๋ ์์ ๋น์จ
min_free_hosts_num
INT
1
์ต์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํจํ
๋
ธ๋ ์
ํด๋ผ์ฐ๋์๋ ๋ ธ๋๊ฐ XNUMX๊ฐ ์ด์ ์์ด์ผ ํฉ๋๋ค. ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๋ ธ๋์ ์ ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋๋ค(change_node_power_state). ์ด ์ ๋ต์๋ ์ธก์ ํญ๋ชฉ ์์ง์ด ํ์ํ์ง ์์ต๋๋ค.
์๋ฒ ํตํฉ - ์ปดํจํ ๋ ธ๋ ์๋ฅผ ์ต์ํํฉ๋๋ค(ํตํฉ). ์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ ์คํ๋ผ์ธ ์๋ฒ ํตํฉ ์ ๋ต๊ณผ VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต์ด๋ผ๋ ๋ ๊ฐ์ง ์ ๋ต์ด ์์ต๋๋ค.
๊ธฐ๋ณธ ์คํ๋ผ์ธ ์๋ฒ ํตํฉ ์ ๋ต์ ์ฌ์ฉ๋๋ ์ด ์๋ฒ ์์ โโ๋ง์ด๊ทธ๋ ์ด์ ํ์๋ฅผ ์ต์ํํฉ๋๋ค.
๊ธฐ๋ณธ ์ ๋ต์๋ ๋ค์ ์ธก์ ํญ๋ชฉ์ด ํ์ํฉ๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
๊ณ์ฐ.๋
ธ๋.cpu.ํผ์ผํธ
์์
CPU_util
์์
์ ๋ต ๋งค๊ฐ๋ณ์: migration_attempts - ์ ์ฌ์ ์ธ ์ข ๋ฃ ํ๋ณด๋ฅผ ๊ฒ์ํ๊ธฐ ์ํ ์กฐํฉ ์(๊ธฐ๋ณธ๊ฐ, 0, ์ ํ ์์), ๊ธฐ๊ฐ - ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ ์์ค์์ ์ ์ ์ง๊ณ๋ฅผ ์ป๊ธฐ ์ํ ์๊ฐ ๊ฐ๊ฒฉ(๊ธฐ๋ณธ๊ฐ, 700).
์ฌ์ฉ๋ ๋ฐฉ๋ฒ: ๋ง์ด๊ทธ๋ ์ด์ , nova ์๋น์ค ์ํ ๋ณ๊ฒฝ(change_nova_service_state).
VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต์ ์ธก์ ๋ CPU ๋ก๋์ ์ด์ ์ ๋ง์ถ๊ณ ๋ฆฌ์์ค ์ฉ๋ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ก๋๊ฐ ๋๋ฌด ๋ง๊ฑฐ๋ ์ ์ ๋ ธ๋๋ฅผ ์ต์ํํ๋ ค๊ณ ์๋ํ๋ ์ต์ด์ ๊ฒฝํ์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์ด ์ ๋ต์ ๋ค์ ๋ค ๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ๋ฆฌ์์ค๋ฅผ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ธ๋ก๋ ๋จ๊ณ - ๊ณผ๋ํ๊ฒ ์ฌ์ฉ๋ ๋ฆฌ์์ค ์ฒ๋ฆฌ
- ํตํฉ ๋จ๊ณ - ํ์ฉ๋๊ฐ ๋ฎ์ ๋ฆฌ์์ค ์ฒ๋ฆฌ
- ์๋ฃจ์ ์ต์ ํ - ๋ง์ด๊ทธ๋ ์ด์ ์ ๊ฐ์
- ์ฌ์ฉํ์ง ์๋ ์ปดํจํ ๋ ธ๋๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
์ ๋ต์๋ ๋ค์ ์ธก์ ํญ๋ชฉ์ด ํ์ํฉ๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
๊ธฐ์ต
์์
๋์คํฌ.๋ฃจํธ.ํฌ๊ธฐ
์์
๋ค์ ์งํ๋ ์ ํ ์ฌํญ์ด์ง๋ง ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ ๋ต ์ ํ์ฑ์ ํฅ์์ํต๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
๋ฉ๋ชจ๋ฆฌ.๋ ์ง๋ํธ
์์
CPU_util
์์
์ ๋ต ๋งค๊ฐ๋ณ์: period โ ์งํ ๋ฐ์ดํฐ ์์ค์์ ์ ์ ์ง๊ณ๋ฅผ ๊ฐ์ ธ์ค๋ ์๊ฐ ๊ฐ๊ฒฉ(์ด)(๊ธฐ๋ณธ๊ฐ: 3600)
์ด์ ์ ๋ต๊ณผ ๋์ผํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์
์ํฌ๋ก๋ ๋ฐธ๋ฐ์ฑ โ ์ปดํจํ ๋ ธ๋ ๊ฐ์ ์์ ๋ถํ ๊ท ํ์ ์กฐ์ ํฉ๋๋ค. ๋ชฉํ์๋ ์ํฌ๋ก๋ ๊ท ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต, ์ํฌ๋ก๋ ์์ ํ, ์คํ ๋ฆฌ์ง ์ฉ๋ ๊ท ํ ์ ๋ต์ ์ธ ๊ฐ์ง ์ ๋ต์ด ์์ต๋๋ค.
์ํฌ๋ก๋ ๊ท ํ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต์ ํธ์คํธ ๊ฐ์ ๋จธ์ ์ํฌ๋ก๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ ๋จธ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ์คํํฉ๋๋ค. ๋ ธ๋์ CPU ๋๋ RAM ์ฌ์ฉ๋ฅ (%)์ด ์ง์ ๋ ์๊ณ๊ฐ์ ์ด๊ณผํ ๋๋ง๋ค ๋ง์ด๊ทธ๋ ์ด์ ๊ฒฐ์ ์ด ๋ด๋ ค์ง๋๋ค. ์ด ๊ฒฝ์ฐ ์ด๋๋ ๊ฐ์ ๋จธ์ ์ ๋ ธ๋๋ฅผ ๋ชจ๋ ๋ ธ๋์ ํ๊ท ์ํฌ๋ก๋์ ๋ ๊ฐ๊น๊ฒ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
์๊ตฌ ์ฌํญ
- ๋ฌผ๋ฆฌ์ ํ๋ก์ธ์ ์ฌ์ฉ
- ์ต์ XNUMX๊ฐ์ ๋ฌผ๋ฆฌ์ ์ปดํจํ ๋ ธ๋
- ๊ฐ ์ปดํจํ ๋ ธ๋์์ ์คํ๋๋ Ceilometer ๊ตฌ์ฑ ์์์ธ ceilometer-agent-compute์ Ceilometer API๋ฅผ ์ค์น ๋ฐ ๊ตฌ์ฑํ๊ณ ๋ค์ ์ธก์ ํญ๋ชฉ์ ์์งํ์ต๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
CPU_util
์์
๋ฉ๋ชจ๋ฆฌ.๋ ์ง๋ํธ
์์
์ ๋ต ๋งค๊ฐ๋ณ์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
ํต๊ณ
๋
'cpu_util'
๊ธฐ๋ณธ ์ธก์ ํญ๋ชฉ์ 'cpu_util', 'memory.resident'์
๋๋ค.
์๊ณ๊ฐ
๋ฒํธ
25.0
๋ง์ด๊ทธ๋ ์ด์
์ ์ํ ์ํฌ๋ก๋ ์๊ณ๊ฐ์
๋๋ค.
๊ธฐ๊ฐ
๋ฒํธ
300
๋์ ๊ธฐ๊ฐ Ceilometer.
์ฌ์ฉ๋ ๋ฐฉ๋ฒ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค.
์ํฌ๋ก๋ ์์ ํ๋ ๋ผ์ด๋ธ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ฌ์ฉํ์ฌ ์ํฌ๋ก๋๋ฅผ ์์ ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์ ๋ต์ ๋๋ค. ์ด ์ ๋ต์ ํ์คํธ์ฐจ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ํด๋ฌ์คํฐ์ ์ ์ฒด๊ฐ ์๋์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๊ณ ์ด์ ๋์ํ์ฌ ๋จธ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ํธ๋ฆฌ๊ฑฐํ์ฌ ํด๋ฌ์คํฐ๋ฅผ ์์ ํํฉ๋๋ค.
์๊ตฌ ์ฌํญ
- ๋ฌผ๋ฆฌ์ ํ๋ก์ธ์ ์ฌ์ฉ
- ์ต์ XNUMX๊ฐ์ ๋ฌผ๋ฆฌ์ ์ปดํจํ ๋ ธ๋
- ๊ฐ ์ปดํจํ ๋ ธ๋์์ ์คํ๋๋ Ceilometer ๊ตฌ์ฑ ์์์ธ ceilometer-agent-compute์ Ceilometer API๋ฅผ ์ค์น ๋ฐ ๊ตฌ์ฑํ๊ณ ๋ค์ ์ธก์ ํญ๋ชฉ์ ์์งํ์ต๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
CPU_util
์์
๋ฉ๋ชจ๋ฆฌ.๋ ์ง๋ํธ
์์
์คํ ๋ฆฌ์ง ์ฉ๋ ๊ท ํ ์ ๋ต(Queens๋ถํฐ ๊ตฌํ๋ ์ ๋ต) - ์ด ์ ๋ต์ Cinder ํ์ ๋ก๋์ ๋ฐ๋ผ ๋์คํฌ๋ฅผ ์ ์กํฉ๋๋ค. ํ ํ์ฉ๋ฅ ์ด ์ง์ ๋ ์๊ณ๊ฐ์ ์ด๊ณผํ ๋๋ง๋ค ์ ์ก ๊ฒฐ์ ์ด ๋ด๋ ค์ง๋๋ค. ์ด๋ ์ค์ธ ๋์คํฌ๋ ํ์ ๋ชจ๋ Cinder ํ์ ํ๊ท ๋ก๋์ ๋ ๊ฐ๊น๊ฒ ๊ฐ์ ธ์์ผ ํฉ๋๋ค.
์๊ตฌ ์ฌํญ ๋ฐ ์ ํ ์ฌํญ
- ์ต์ XNUMX๊ฐ์ Cinder ํ;
- ๋์คํฌ ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ๋ฅ์ฑ.
- ํด๋ฌ์คํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ - Cinder ํด๋ฌ์คํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ ์์ง๊ธฐ์ ๋๋ค.
์ ๋ต ๋งค๊ฐ๋ณ์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
๋ณผ๋ฅจ_์๊ณ๊ฐ
๋ฒํธ
80.0
๋ณผ๋ฅจ ๊ท ํ์ ์กฐ์ ํ๊ธฐ ์ํ ๋์คํฌ์ ์๊ณ๊ฐ์
๋๋ค.
์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๋์คํฌ ๋ง์ด๊ทธ๋ ์ด์ (volume_ migration)์ ๋๋ค.
์๋๋ฌ์ด ์ด์ - ๋ง์ง๋ง ์์ค ์บ์๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ์ฌ IPC ์ธก๋ฉด์์ ์ฐ์ ์์๊ฐ ๋์ ๊ฐ์ ๋จธ์ ์ ์ฑ๋ฅ์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ๊ฐ์ ๋จธ์ ์ธ "์๋๋ฌ์ด ์ด์"์ ์๋ณํ๊ณ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค. ์์ฒด ์ ๋ต: Noisy Neighbor(์ฌ์ฉ๋ ์ ๋ต ๋งค๊ฐ๋ณ์๋ ์บ์_์๊ณ๊ฐ(๊ธฐ๋ณธ๊ฐ์ 35)), ์ฑ๋ฅ์ด ์ง์ ๋ ๊ฐ์ผ๋ก ๋จ์ด์ง๋ฉด ๋ง์ด๊ทธ๋ ์ด์ ์ด ์์๋ฉ๋๋ค. ์ ๋ต์ด ์๋ํ๋ ค๋ฉด ํ์ฑํ๋ฉ๋๋ค. LLC(๋ง์ง๋ง ๋ ๋ฒจ ์บ์) ๋ฉํธ๋ฆญ, CMT๋ฅผ ์ง์ํ๋ ์ต์ Intel ์๋ฒ, ๋ค์ ์ธก์ ํญ๋ชฉ์ ์์งํฉ๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
CPU_l3_cache
์์
์ธํ
ํ์
ํด๋ฌ์คํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ(๊ธฐ๋ณธ๊ฐ): Nova ํด๋ฌ์คํฐ ๋ฐ์ดํฐ ๋ชจ๋ธ ์์ง๊ธฐ์ ๋๋ค. ์ฌ์ฉ๋ ๋ฐฉ๋ฒ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค.
๋์๋ณด๋๋ฅผ ํตํ ์ด ๋ชฉํ ์์ ์ Queens์์ ์์ ํ ๊ตฌํ๋์ง ์์์ต๋๋ค.
์ด ์ต์ ํ - ์จ๋ ์ฒด๊ณ๋ฅผ ์ต์ ํํฉ๋๋ค. ์ถ๊ตฌ(๋ฐฐ๊ธฐ) ์จ๋๋ ์๋ฒ์ ์ด/์์ ๋ถํ ์ํ๋ฅผ ์ธก์ ํ๋ ์ค์ํ ์ด ์๊ฒฉ ์ธก์ ์์คํ ์ค ํ๋์ ๋๋ค. ๋์์๋ ์์ค ํธ์คํธ์ ๋ฐฐ์ถ๊ตฌ ์จ๋๊ฐ ๊ตฌ์ฑ ๊ฐ๋ฅํ ์๊ณ๊ฐ์ ๋๋ฌํ ๋ ์ด์ ์ผ๋ก ์ ๋ฆฌํ ํธ์คํธ(์ต์ ๋ฐฐ์ถ๊ตฌ ์จ๋)๋ก ์ํฌ๋ก๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ ๋ฐฐ์ถ๊ตฌ ์จ๋ ๊ธฐ๋ฐ ์ ๋ต์ด๋ผ๋ ํ๋์ ์ ๋ต์ด ์์ต๋๋ค.
์ ๋ต์ด ์๋ํ๋ ค๋ฉด Intel Power Node Manager๊ฐ ์ค์น ๋ฐ ๊ตฌ์ฑ๋ ์๋ฒ๊ฐ ํ์ํฉ๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
hardware.ipmi.node.outlet_temp
IPMI
์ ๋ต ๋งค๊ฐ๋ณ์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
์๊ณ๊ฐ
๋ฒํธ
35.0
๋ง์ด๊ทธ๋ ์ด์
์ ์ํ ์จ๋ ์๊ณ๊ฐ์
๋๋ค.
๊ธฐ๊ฐ
๋ฒํธ
30
์งํ ๋ฐ์ดํฐ ์์ค์์ ํต๊ณ ์ง๊ณ๋ฅผ ๊ฐ์ ธ์ค๋ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์
๋๋ค.
์ฌ์ฉ๋ ๋ฐฉ๋ฒ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค.
๊ธฐ๋ฅ ์ต์ ํ โ ํ๊ธฐ ๋ชจ๋๋ฅผ ์ต์ ํํฉ๋๋ค. ์์ฒด ์ ๋ต - Live Migration์ ์ด์ฉํ ๊ท ์ผํ Airflow. ์ด ์ ๋ต์ ์๋ฒ ํฌ์ ๊ณต๊ธฐ ํ๋ฆ์ด ์ง์ ๋ ์๊ณ๊ฐ์ ์ด๊ณผํ ๋๋ง๋ค ๊ฐ์ ๋จธ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
์ ๋ต์ด ์๋ํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค.
- ํ๋์จ์ด: ์ปดํจํ ๋ ธ๋ < NodeManager 3.0 ์ง์;
- ์ต์ XNUMX๊ฐ์ ์ปดํจํ ๋ ธ๋;
- ๊ฐ ์ปดํจํ ๋ ธ๋์ ์ค์น ๋ฐ ๊ตฌ์ฑ๋ ceilometer-agent-compute ๋ฐ Ceilometer API ๊ตฌ์ฑ ์์๋ ๊ณต๊ธฐ ํ๋ฆ, ์์คํ ์ ๋ ฅ, ์ ๊ตฌ ์จ๋์ ๊ฐ์ ์ธก์ ํญ๋ชฉ์ ์ฑ๊ณต์ ์ผ๋ก ๋ณด๊ณ ํ ์ ์์ต๋๋ค.
์ธก์ ํญ๋ชฉ
์๋น์ค
ํ๋ฌ๊ทธ์ธ
๋
ผํ
hardware.ipmi.node.airflow
IPMI
ํ๋์จ์ด.ipmi.node.์จ๋
IPMI
ํ๋์จ์ด.ipmi.node.power
IPMI
์ ๋ต์ด ์๋ํ๋ ค๋ฉด Intel Power Node Manager 3.0 ์ด์์ด ์ค์น ๋ฐ ๊ตฌ์ฑ๋ ์๋ฒ๊ฐ ํ์ํฉ๋๋ค.
์ ํ ์ฌํญ: ์ด ๊ฐ๋ ์ ์์ฐ์ฉ์ด ์๋๋๋ค.
๋ฐ๋ณต๋น ํ๋์ ๊ฐ์ ๋จธ์ ๋ง ๋ง์ด๊ทธ๋ ์ด์ ํ ๊ณํ์ด๋ฏ๋ก ์ง์์ ์ธ ๊ฐ์ฌ์ ํจ๊ป ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค์๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ๋ต ๋งค๊ฐ๋ณ์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
์๊ณ๊ฐ_๊ธฐ๋ฅ
๋ฒํธ
400.0
๋ง์ด๊ทธ๋ ์ด์
์ ์ํ ๊ธฐ๋ฅ ์๊ณ๊ฐ ๋จ์๋ 0.1CFM์
๋๋ค.
์๊ณ๊ฐ_์
๊ตฌ_t
๋ฒํธ
28.0
๋ง์ด๊ทธ๋ ์ด์
๊ฒฐ์ ์ ์ํ ์
๊ตฌ ์จ๋ ์๊ณ๊ฐ
์๊ณ๊ฐ_์ ๋ ฅ
๋ฒํธ
350.0
๋ง์ด๊ทธ๋ ์ด์
๊ฒฐ์ ์ ์ํ ์์คํ
์ ๋ ฅ ์๊ณ๊ฐ
๊ธฐ๊ฐ
๋ฒํธ
30
์งํ ๋ฐ์ดํฐ ์์ค์์ ํต๊ณ ์ง๊ณ๋ฅผ ๊ฐ์ ธ์ค๋ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์
๋๋ค.
์ฌ์ฉ๋ ๋ฐฉ๋ฒ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค.
ํ๋์จ์ด ์ ์ง ๋ณด์ โ ํ๋์จ์ด ์ ์ง ๊ด๋ฆฌ. ์ด ๋ชฉํ์ ๊ด๋ จ๋ ์ ๋ต์ ์์ญ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค. ์ด ์ ๋ต์ ํ๋์จ์ด ์ ์ง ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ๊ฐ์ ๋จธ์ ๊ณผ ๋์คํฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์๋์ผ๋ก ์ต์ํํ๊ธฐ ์ํ ๋๊ตฌ์ ๋๋ค. ์ ๋ต์ ๊ฐ์ค์น์ ๋ฐ๋ผ ํ๋ ๊ณํ์ ์๋ฆฝํฉ๋๋ค. ์ฆ, ๊ฐ์ค์น๊ฐ ๋ ๋์ ์ผ๋ จ์ ํ๋์ด ๋ค๋ฅธ ํ๋๋ณด๋ค ๋จผ์ ๊ณํ๋ฉ๋๋ค. action_weights์ ๋ณ๋ ฌํ๋ผ๋ ๋ ๊ฐ์ง ๊ตฌ์ฑ ์ต์ ์ด ์์ต๋๋ค.
์ ํ ์ฌํญ: ์์ ๊ฐ์ค์น ๋ฐ ๋ณ๋ ฌํ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ ๋ต ๋งค๊ฐ๋ณ์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
๊ณ์ฐ ๋
ธ๋
์ ๋ ฌ
์์
๋ง์ด๊ทธ๋ ์ด์
์ ์ํ ์ปดํจํ
๋
ธ๋.
์คํ ๋ฆฌ์ง ํ
์ ๋ ฌ
์์
๋ง์ด๊ทธ๋ ์ด์
์ฉ ์คํ ๋ฆฌ์ง ๋
ธ๋.
ํํ_์ด
์ ์
6
๋ณ๋ ฌ๋ก ์คํํด์ผ ํ๋ ์ด ํ๋ ์์
๋๋ค.
๋ณ๋ ฌ_๋
ธ๋๋น
์ ์
2
๊ฐ ์ปดํจํ
๋
ธ๋์ ๋ํด ๋ณ๋ ฌ๋ก ์ํ๋๋ ์์
์์
๋๋ค.
๋ณ๋ ฌ_๋น_ํ
์ ์
2
๊ฐ ์คํ ๋ฆฌ์ง ํ์ ๋ํด ๋ณ๋ ฌ๋ก ์ํ๋๋ ์์
์์
๋๋ค.
์ฐ์
๋์
์์
๊ฐ์ ๋จธ์ ๋ฐ ๋์คํฌ์ ์ฐ์ ์์ ๋ชฉ๋ก์
๋๋ค.
with_attached_volume
๋ถ์ธ
๊ฑฐ์ง
False - ๋ชจ๋ ๋์คํฌ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ํ ๊ฐ์ ๋จธ์ ์ด ๋ง์ด๊ทธ๋ ์ด์
๋ฉ๋๋ค. True - ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋์คํฌ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ํ์ ๊ฐ์ ๋จธ์ ์ด ๋ง์ด๊ทธ๋ ์ด์
๋ฉ๋๋ค.
์ปดํจํ ๋ ธ๋ ๋ฐฐ์ด์ ์์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
src_node
ํ
์์
๊ฐ์ ๋จธ์ ์ด ๋ง์ด๊ทธ๋ ์ด์
๋๋ ์ปดํจํ
๋
ธ๋์
๋๋ค(ํ์).
dst_node
ํ
์์
๊ฐ์ ๋จธ์ ์ด ๋ง์ด๊ทธ๋ ์ด์
๋๋ ๋
ธ๋๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์คํ ๋ฆฌ์ง ๋ ธ๋ ๋ฐฐ์ด ์์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
src_pool
ํ
์์
๋์คํฌ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋๋ ์คํ ๋ฆฌ์ง ํ์
๋๋ค(ํ์).
dst_pool
ํ
์์
๋์คํฌ๊ฐ ๋ง์ด๊ทธ๋ ์ด์
๋๋ ์คํ ๋ฆฌ์ง ํ์
๋๋ค.
src_type
ํ
์์
์๋ ๋์คํฌ ์ ํ(ํ์)
dst_type
ํ
์์
๊ฒฐ๊ณผ ๋์คํฌ ์ ํ(ํ์)
๊ฐ์ฒด ์ฐ์ ์์ ์์:
๋งค๊ฐ๋ณ์
ัะธะฟ
๊ธฐ๋ณธ์ ์ผ๋ก
ะพะฟะธัะฐะฝะธะต
ํ๋ก์ ํธ
์ ๋ ฌ
์์
ํ๋ก์ ํธ ์ด๋ฆ.
๊ณ์ฐ ๋
ธ๋
์ ๋ ฌ
์์
๋
ธ๋ ์ด๋ฆ์ ๊ณ์ฐํฉ๋๋ค.
์คํ ๋ฆฌ์ง_ํ
์ ๋ ฌ
์์
์คํ ๋ฆฌ์ง ํ ์ด๋ฆ.
๊ณ์ฐ
์ด๊ฑฐ ํ
์์
๊ฐ์ ๋จธ์ ๋งค๊ฐ๋ณ์["vcpu_num", "mem_size", "disk_size", "created_at"].
์ ์ฅ
์ด๊ฑฐ ํ
์์
๋์คํฌ ๋งค๊ฐ๋ณ์[โsizeโ, โcreated_atโ].
์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ๊ฐ์ ๋จธ์ ๋ง์ด๊ทธ๋ ์ด์ , ๋์คํฌ ๋ง์ด๊ทธ๋ ์ด์ ์ ๋๋ค.
๋ถ๋ฅ๋์ง ์์ - ์ ๋ต ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ด์งํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ณด์กฐ ๋ชฉํ์ ๋๋ค. ์ฌ์์ด ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ ์ ๋ต์ด ์์ง ๊ธฐ์กด ๋ชฉํ์ ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ชฉํ๋ ์ ํ์ ์ผ๋ก ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค. ์ด ๋ชฉํ์ ๊ด๋ จ๋ ์ ๋ต์ Actuator์ ๋๋ค.
์ ๋ชฉํ ๋ง๋ค๊ธฐ
๊ฐ์์ ๊ฒฐ์ ์์ง ์ ๋ต์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์๋ ์ธ๋ถ ๋ชฉํ๋ฅผ ํตํฉํ ์ ์๋ "์ธ๋ถ ๋ชฉํ" ํ๋ฌ๊ทธ์ธ ์ธํฐํ์ด์ค๊ฐ ์์ต๋๋ค.
์ ๋ชฉํ๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๊ธฐ์กด ๋ชฉํ๊ฐ ๊ทํ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ์ง ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ ํ๋ฌ๊ทธ์ธ ๋ง๋ค๊ธฐ
์ ๋์์ ๋ง๋ค๋ ค๋ฉด ๋ค์์ ์ํํด์ผ ํฉ๋๋ค. ๋์ ํด๋์ค๋ฅผ ํ์ฅํ๊ณ ํด๋์ค ๋ฉ์๋๋ฅผ ๊ตฌํํฉ๋๋ค. get_name() ์์ฑํ๋ ค๋ ์ ๋์์ ๊ณ ์ ID๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ๊ณ ์ ์๋ณ์๋ ๋์ค์ ์ ์ธํ๋ ์ง์ ์ ์ด๋ฆ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
๋ค์์ผ๋ก ํด๋์ค ๋ฉ์๋๋ฅผ ๊ตฌํํด์ผ ํฉ๋๋ค. get_display_name() ์์ฑํ๋ ค๋ ๋์์ ๋ฒ์ญ๋ ํ์ ์ด๋ฆ์ ๋ฐํํฉ๋๋ค(๋ฒ์ญ ๋๊ตฌ์์ ์๋์ผ๋ก ์์งํ ์ ์๋๋ก ๋ฒ์ญ๋ ๋ฌธ์์ด์ ๋ฐํํ๋ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์).
ํด๋์ค ๋ฉ์๋ ๊ตฌํ get_translatable_display_name()์ ๋์์ ๋ฒ์ญ ํค(์ค์ ๋ก๋ ์์ด ํ์ ์ด๋ฆ)๋ฅผ ๋ฐํํฉ๋๋ค. ๋ฐํ ๊ฐ์ get_display_name()์ผ๋ก ๋ณํ๋ ๋ฌธ์์ด๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค.
๊ทธ์ ๋ฐฉ๋ฒ์ ๊ตฌํ get_efficacy_์ฌ์()๋ชฉํ์ ๋ํ ํจ์จ์ฑ ์ฌ์์ ๋ฐํํฉ๋๋ค. get_efficacy_specation() ๋ฉ์๋๋ Watcher์์ ์ ๊ณตํ๋ Unclassified() ์ธ์คํด์ค๋ฅผ ๋ฐํํฉ๋๋ค. ์ด ์ฑ๋ฅ ์ฌ์์ ๋น ์ฌ์์ ํด๋นํ๋ฏ๋ก ๋ชฉํ๋ฅผ ๊ฐ๋ฐํ๋ ๊ณผ์ ์์ ์ ์ฉํฉ๋๋ค.
โ
๊ฐ์์ ์ํคํ
์ฒ(์์ธํ ๋ด์ฉ)
๊ตฌ์ฑ ์์
๊ฐ์์ API - Watcher์์ ์ ๊ณตํ๋ REST API๋ฅผ ๊ตฌํํ ์ปดํฌ๋ํธ์
๋๋ค. ์ํธ ์์ฉ ๋ฉ์ปค๋์ฆ: CLI, Horizon ํ๋ฌ๊ทธ์ธ, Python SDK.
๊ฐ์์ DB โ ๊ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค.
๊ฐ์์ ์ ์ฉ์ โ Watcher Decision Engine ๊ตฌ์ฑ ์์์ ์ํด ์์ฑ๋ ์์ ๊ณํ์ ์คํ์ ๊ตฌํํ๋ ๊ตฌ์ฑ ์์์ ๋๋ค.
๊ฐ์์ ๊ฒฐ์ ์์ง - ๊ฐ์ฌ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ ์ฌ์ ์ธ ์ต์ ํ ์กฐ์น ์ธํธ๋ฅผ ๊ณ์ฐํ๋ ์ญํ ์ ๋ด๋นํ๋ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ ๋ต์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๊ตฌ์ฑ ์์๋ ๊ฐ์ฅ ์ ์ ํ ์ ๋ต์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ํํฉ๋๋ค.
๊ฐ์์ ๋ฉํธ๋ฆญ ๊ฒ์์ - ์ผ๋ถ ์งํ๋ ์ด๋ฒคํธ๋ฅผ ์์ง ๋ฐ ๊ณ์ฐํ๊ณ ์ด๋ฅผ CEP ์๋ํฌ์ธํธ์ ๊ฒ์ํ๋ ๊ตฌ์ฑ ์์์ ๋๋ค. ๊ตฌ์ฑ ์์์ ๊ธฐ๋ฅ์ Ceilometer ๊ฒ์์๋ฅผ ํตํด ์ ๊ณต๋ ์๋ ์์ต๋๋ค.
๋ณตํฉ ์ด๋ฒคํธ ์ฒ๋ฆฌ(CEP) ์์ง โ ๋ณต์กํ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ์์ง. ์ฑ๋ฅ์์ ์ด์ ๋ก ๋์์ ์คํ๋๋ ์ฌ๋ฌ CEP ์์ง ์ธ์คํด์ค๊ฐ ์์ ์ ์์ผ๋ฉฐ, ๊ฐ ์ธ์คํด์ค๋ ํน์ ์ ํ์ ์งํ/์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. Watcher ์์คํ ์์ CEP๋ ๋ ๊ฐ์ง ์ ํ์ ์์ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. - ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋น ์ด๋ฒคํธ/๋ฉํธ๋ฆญ์ ๊ธฐ๋กํฉ๋๋ค. - Openstack ํด๋ฌ์คํฐ๋ ์ ์ ์์คํ ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ด ์ด๋ฒคํธ๊ฐ ํ์ฌ ์ต์ ํ ์ ๋ต์ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๊ฒฝ์ฐ Watcher ๊ฒฐ์ ์์ง์ ์ ์ ํ ์ด๋ฒคํธ๋ฅผ ๋ณด๋ ๋๋ค.
๊ตฌ์ฑ ์์๋ AMQP ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ํธ ์์ฉํฉ๋๋ค.
โ
Watcher์์ ์ํธ ์์ฉ ๋ฐฉ์
๊ฐ์์ ํ ์คํธ ๊ฒฐ๊ณผ
- ์ต์ ํ - ์คํ ๊ณํ 500 ํ์ด์ง(์์ Queens ๋ฐ Tionix ๋ชจ๋์ด ์๋ ์คํ ๋ ๋ชจ๋)์์๋ ๊ฐ์ฌ๊ฐ ์์๋๊ณ ์คํ ๊ณํ์ด ์์ฑ๋ ํ์๋ง ๋ํ๋๋ฉฐ, ๋น์ด ์๋ ํ์ด์ง๋ ์ ์์ ์ผ๋ก ์ด๋ฆฝ๋๋ค.
- ์์ ์ธ๋ถ ์ ๋ณด ํญ์ ์ค๋ฅ๊ฐ ์์ด ๊ฐ์ฌ ๋ชฉํ์ ์ ๋ต์ ์ป์ ์ ์์ต๋๋ค(์์ Queens ๋ฐ Tionix ๋ชจ๋์ด ์๋ ์คํ ๋ ๋ชจ๋์์).
- Dummy(ํ ์คํธ) ๋ชฉ์ ์ ๊ฐ์ฌ๊ฐ ์ ์์ ์ผ๋ก ์์ฑ ๋ฐ ์คํ๋๋ฉฐ, ์คํ ๊ณํ์ด ์์ฑ๋ฉ๋๋ค.
- ๋ฏธ๋ถ๋ฅ ๋ชฉํ์ ๋ํ ๊ฐ์ฌ๋ ๋ชฉํ๊ฐ ์๋ํ์ง ์๊ณ ์ ์ ๋ต์ ์์ฑํ ๋ ์ค๊ฐ ๊ตฌ์ฑ์ ์ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ฑ๋์ง ์์ต๋๋ค.
- Workload Balancing(์คํ ๋ฆฌ์ง ์ฉ๋ ๊ท ํ ์ ๋ต)์ ์ํ ๊ฐ์ฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ง๋ง ์์ ๊ณํ์ด ์์ฑ๋์ง ์์์ต๋๋ค. ์คํ ๋ฆฌ์ง ํ ์ต์ ํ๊ฐ ํ์ํ์ง ์์ต๋๋ค.
- Workload Balancing ๋ชฉํ(Workload Balance ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ต)์ ๋ํ ๊ฐ์ฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ง๋ง ์์ ๊ณํ์ด ์์ฑ๋์ง ์์์ต๋๋ค.
- Workload Balancing(Workload Stabilization Strategy)์ ๋ํ ๊ฐ์ฌ๊ฐ ์คํจํฉ๋๋ค.
- Noisy Neighbor ๋์์ ๋ํ ๊ฐ์ฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ง๋ง ์์ ๊ณํ์ด ์์ฑ๋์ง ์์์ต๋๋ค.
- ํ๋์จ์ด ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ํ ๊ฐ์ฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋์์ง๋ง ์์ ๊ณํ์ด ์์ ํ ์์ฑ๋์ง ์์์ต๋๋ค(์ฑ๊ณผ ์งํ๋ ์์ฑ๋์์ง๋ง ์์ ๋ชฉ๋ก ์์ฒด๋ ์์ฑ๋์ง ์์).
- ์ปดํจํ ๋ฐ ์ ์ด ๋ ธ๋์ nova.conf ๊ตฌ์ฑ(๊ธฐ๋ณธ ์น์ ์ธ Compute_monitors = cpu.virt_driver)์ ํธ์งํด๋ ์ค๋ฅ๊ฐ ์์ ๋์ง ์์ต๋๋ค.
- ์๋ฒ ํตํฉ(๊ธฐ๋ณธ ์ ๋ต)์ ๋์์ผ๋ก ํ๋ ๊ฐ์ฌ๋ ์คํจํฉ๋๋ค.
- ์๋ฒ ํตํฉ(VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต)์ ์ํ ๊ฐ์ฌ๊ฐ ์ค๋ฅ๋ก ์ธํด ์คํจํฉ๋๋ค. ๋ก๊ทธ์ ์์ค ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์ค ์ค๋ฅ๊ฐ ์์ต๋๋ค. ํนํ ์ค๋ฅ์ ๋ํ ๋
ผ์
์ฌ๊ธฐ์ .
๊ตฌ์ฑ ํ์ผ์ Watcher๋ฅผ ์ง์ ํ๋ ค๊ณ ํ์ต๋๋ค(๋์์ด ๋์ง ์์์ต๋๋ค. ๋ชจ๋ ์ต์ ํ ํ์ด์ง์ ์ค๋ฅ๋ก ์ธํด ๊ตฌ์ฑ ํ์ผ์ ์๋ ๋ด์ฉ์ผ๋ก ๋์๊ฐ๋ ์ํฉ์ด ์์ ๋์ง ์์ต๋๋ค). [watcher_strategies.basic] ๋ฐ์ดํฐ ์์ค = ceilometer, gnocchi - ์๋์ง ์ ์ฝ ๊ฐ์ฌ์ ์คํจํ์ต๋๋ค. ๋ก๊ทธ์ ๋ฐ๋ฅด๋ฉด ์ฌ์ ํ Ironic์ด ์๋ค๋ ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ๋ฒ ์ด๋ฉํ ์๋น์ค ์์ด๋ ์๋ํ์ง ์์ต๋๋ค.
- ์ด ์ต์ ํ ๊ฐ์ฌ์ ์คํจํ์ต๋๋ค. ์ญ์ถ์ ์ Server Consolidation(VM ์ํฌ๋ก๋ ํตํฉ ์ ๋ต)๊ณผ ๋์ผํฉ๋๋ค(์์ค ๋ฐ์ดํฐ ์ค๋ฅ).
- Airflow Optimization ๋ชฉ์ ์ ๊ฐ์ฌ๊ฐ ์ค๋ฅ๋ก ์ธํด ์คํจํฉ๋๋ค.
๋ค์ ๊ฐ์ฌ ์๋ฃ ์ค๋ฅ๋ ๋ฐ์ํฉ๋๋ค. Decision-engine.log ๋ก๊ทธ์ ์ญ์ถ์ (ํด๋ฌ์คํฐ ์ํ๊ฐ ์ ์๋์ง ์์)
โ ์ค๋ฅ์ ๋ํ ๋
ผ์
๊ฒฐ๋ก
XNUMX๊ฐ์ ๊ฐ์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ, ์ ๋๋ก ์๋ํ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์์คํ ์ ์ป๊ธฐ ์ํด์๋ ์ด ๋ถ๋ถ์์ Openstack ํ๋ซํผ์ฉ ๋๊ตฌ๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ๊ธด๋ฐํ ํ๋ ฅํด์ผ ํ๋ค๋ ๋ถ๋ช ํ ๊ฒฐ๋ก ์ด ๋์์ต๋๋ค.
Watcher๋ ์์ฒญ๋ ์ ์ฌ๋ ฅ์ ์ง๋ ์ฌ๊ฐํ๊ณ ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๋ ์ ํ์์ด ์ ์ฆ๋์์ผ๋ฉฐ, ์ด๋ฅผ ์์ ํ ์ฌ์ฉํ๋ ค๋ฉด ๋ง์ ์ง์งํ ์์ ์ด ํ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋ฆฌ์ฆ์ ๋ค์ ๊ธฐ์ฌ์์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
์ถ์ฒ : habr.com