/
[MIP-329] Windows system shutdown event hooking

[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 ์ด๋ฒคํŠธ๋ฅผ ๋…์ž์ ์œผ๋กœ ๋ฐ›์•„๋‚ด๊ณ  ์ด๋ฅผ ์ œ์–ด ํ•  ์ˆ˜ ์žˆ๋Š” ์ •์ƒ์ ์ธ ๋ฐฉ๋ฒ•์€ ์กด์žฌ ํ•˜์ง€ ์•Š์Œ."

ย 

Related content

[MIP-15] Active server system shutdown ์‹œ ๋ฆฌ์†Œ์Šค ์ข…๋ฃŒ ์‹œ๋„ ๋ฐ ์žฅ์•  ํ‘œ์‹œ ๋ฐœ์ƒ
[MIP-15] Active server system shutdown ์‹œ ๋ฆฌ์†Œ์Šค ์ข…๋ฃŒ ์‹œ๋„ ๋ฐ ์žฅ์•  ํ‘œ์‹œ ๋ฐœ์ƒ
More like this
[MIP-565] ์šด์˜ ์„œ๋ฒ„ Shutdown์ดํ›„ ์ •์ƒ ํŽ˜์ผ์˜ค๋ฒ„๋˜์—ˆ์ง€๋งŒ vip๋กœ ์ ‘์† ๋ถˆ๊ฐ€
[MIP-565] ์šด์˜ ์„œ๋ฒ„ Shutdown์ดํ›„ ์ •์ƒ ํŽ˜์ผ์˜ค๋ฒ„๋˜์—ˆ์ง€๋งŒ vip๋กœ ์ ‘์† ๋ถˆ๊ฐ€
More like this
[MIP-406] ๋‘ ๋…ธ๋“œ ์ค‘ ํ•œ ๋…ธ๋“œ๊ฐ€ shutdown ๋œ ํ›„์— ์ฐฝ -> ํ™˜๊ฒฝ์„ค์ • ์œผ๋กœ ๋ผ์ด์„ ์Šค ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋ฉด shutdown ๋œ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ MAC ๋ฐ ๋ผ์ด์„ ์Šค๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ด
[MIP-406] ๋‘ ๋…ธ๋“œ ์ค‘ ํ•œ ๋…ธ๋“œ๊ฐ€ shutdown ๋œ ํ›„์— ์ฐฝ -> ํ™˜๊ฒฝ์„ค์ • ์œผ๋กœ ๋ผ์ด์„ ์Šค ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๋ฉด shutdown ๋œ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ MAC ๋ฐ ๋ผ์ด์„ ์Šค๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋‚˜์˜ด
More like this
[MIP-569] ์›๊ฒฉ๊ตฌ์„ฑ์œผ๋กœ ํ•ฉ๋ฅ˜๊ฐ€ ๋˜์ง€ ์•Š์€ํ›„, Failover ๋˜์ง€ ์•Š์Œ
[MIP-569] ์›๊ฒฉ๊ตฌ์„ฑ์œผ๋กœ ํ•ฉ๋ฅ˜๊ฐ€ ๋˜์ง€ ์•Š์€ํ›„, Failover ๋˜์ง€ ์•Š์Œ
More like this
[MIP-547] ์–‘ ์„œ๋ฒ„ Shutdown์ดํ›„ ์ •์ƒํ™”๊ฐ€ ๋˜์—ˆ์œผ๋‚˜, MCCS๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ•ฉ๋ฅ˜ํ•˜์ง€ ๋ชปํ•จ
[MIP-547] ์–‘ ์„œ๋ฒ„ Shutdown์ดํ›„ ์ •์ƒํ™”๊ฐ€ ๋˜์—ˆ์œผ๋‚˜, MCCS๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ•ฉ๋ฅ˜ํ•˜์ง€ ๋ชปํ•จ
More like this
[MIP-182] mccs์—์„œ ๋“ฑ๋ก๋œ process fail ํ›„ failover ๋ฅผ ํ•˜์ง€ ๋ชปํ•จ
[MIP-182] mccs์—์„œ ๋“ฑ๋ก๋œ process fail ํ›„ failover ๋ฅผ ํ•˜์ง€ ๋ชปํ•จ
More like this