[MIP-329] Windows system shutdown event hooking
Subject
Windows system shutdown event hooking
APPLIES TO:
MCCS
SYMPTOMS
"shutdown event ๋ฐ์ -> mccs ๋ฆฌ์์ค๋ค์ด ํด๋น ์ด๋ฒคํธ๋ฅผ ๋จผ์ ๋ฐ์ ์ ๋ฆฌ ์์
-> mccs์์ ์ฅ์ ๋ก ํ์ -> mccs agent์ terminate ๋ช
๋ น์ผ๋ก ์ธํ mccs server ๊ฐ์ ์ข
๋ฃ(์ ํํ ์๋๋ฆฌ์ค์ธ์ง ํ์ธ ํ์). ๊ฐ์ ์ข
๋ฃ ๋๊ธฐ ์ ๊น์ง ๋ฆฌ์์ค ํ๊ฒ์ด ์ ๋ฆฌ ๋๋ฏ๋ก ์ฅ์ ๋ก ํ์๋์ง๋ง ๊ฒฐ๊ตญ mccs server์ ๊ฐ์ ์ข
๋ฃ๋ก ์ธํด stanby ์๋ฒ์์ failover ํ๋ฏ๋ก ์๋ฌด๋ฐ ๋ฌธ์ ์๋จ. ๋ํ ์ด๋ฏธ ์ด์์ฒด์ ๊ฐ ๋ด๋ ค๊ฐ๋ ์ค์ด๋ฏ๋ก ๋ฆฌ์์ค๊ฐ fault์ธ์ง ์๋์ง ์ ๊ฒฝ ์ธ ํ์๋ ์์.
๊ดด์ํ ๋ฐฉ๋ฒ1:
๊ฐ๋ณ์ ์ดํ ์์ฑ(ShutdownDetector?) -> shutdown event ๋ฐ์ผ๋ฉด ํน์ ์ข
๋ฃ ์ฝ๋๊ฐ์ผ๋ก exit -> mccs์์ ํด๋น ์ดํ์ runtime.exec๋ก ์คํ ํ ์ข
๋ฃ๊ฐ ๋น๊ต๋ก Shutdown event๋ฅผ ๋ฐ์๋์ง ๋ง์๋์ง ํ์ธ.
๊ทธ๋ฌ๋ ์ด๊ฒฝ์ฐ์๋ ๊ณผ์ฐ ์ดํ์ด ๋ค๋ฅธ mccs ๋ฆฌ์์ค ํ๊ฒ๋ค ๋ณด๋ค ๋จผ์ shutdown์ด๋ฒคํธ๋ฅผ ๋ฐ๋์ง ๋ณด์ฅ ์๋จ.
todo:
์ข
๋ฃ์ค์ธ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์ค๋ ๋ฐฉ๋ฒ์ด ์ ๋ง๋ก ์๋์ง ์ข๋ ํ์ธ ํ ๊ฒ.
์ปค๋ ๋ ๋ฒจ์์ ํด๋น ์ํ๋ฅผ ๊ฐ์ง๊ณ ์ฌ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ ์ง ํ์ธ. ์๋ค๋ฉด vollock์ ioctl์ ํ๋ ์ถ๊ฐํ๋ฉด ๋ ๊ฑฐ ๊ฐ์๋ฐ... ๊ทผ๋ฐ ๊บผ๋ฆผ์น.
"
CAUSE
"1. Kernel์์ power state๋ก ํ์ธ ํ ์ ์์๊น ํ๋๋ฐ ๋ถ๊ฐ๋ฅ. power state๋ on ๋๋ off์ด๋ฉฐ off ๋ฐฉ์์ ๋ฐ๋ผ state๊ฐ ๋๋๋๊ฑฐ ๋ฟ์.
2. ๋ฏธ๋ฆฌ shutdown event๋ฅผ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ ์์.
3. SERVICE_ACCEPT_PRESHUTDOWN ์ชฝ ํ์ธ ํด ๋ณผ๊ฒ. -> ์ฅ์ ํ๋ณ ์ํ๊ณ ์ข
๋ฃ ๋จ.
4. ๋
ธํธํจ๋ ๊ฒฝ์ฐ ์ผ๋ถ๋ฌ ํ
์คํธ ๊ธ ์จ๋๊ณ ์ ์ฅ ํ์ธ ๋ค์ด์ผ๋ก๊ทธ ๋์ฐ๊ฒ ๋ง๋ ํ ๊ฐ๋งํ ๋๋ .
์ด๋ด ๊ฒฝ์ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์ข
๋ฃ ๋จ์ผ๋ก ์ธํด fault ์ฒ๋ฆฌ ๋จ.
5. SERVICE_CONTROL_SHUTDOWN ๋์ ์ SERVICE_CONTROL_PRESHUTDOWN์์ mccs server๋ฅผ ๊ฐ์ ์ข
๋ฃ ํ๋๋ก ๋ณ๊ฒฝ. ์ค์ง ์์ ์ ์ฝ๊ฐ ์๋น๊ธด ๊ฒ ๋ฟ์ด๋ฉฐ ์ฌ์ ํ ๊ตฌ๋ฉ ์์. ํ์ฌ ์ด๋ ํ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ ๋ฌ๋๋ ์ข
๋ฃ ์ด๋ฒคํธ๋ฅผ ๋ง์ ์ ์์.
"
SOLUTION
"1. shutdown ์ด๋ฒคํธ๋ ์์คํ
์ ์ญ์ ์ด๋ฉฐ ์์๋ ์์ ํด์ ธ ์์.
2. ์ด๋ฒคํธ๊ฐ ์ ํ๋๊ธฐ ์ ์ shutdown ์ด๋ฒคํธ๋ฅผ ๋
์์ ์ผ๋ก ๋ฐ์๋ด๊ณ ์ด๋ฅผ ์ ์ด ํ ์ ์๋ ์ ์์ ์ธ ๋ฐฉ๋ฒ์ ์กด์ฌ ํ์ง ์์."
ย