์๊ฐ
์ผ๋ง ์ ์ ๋ ์ฅ์ ์กฐ์น ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ฐํ๋ ์๋ฌด๋ฅผ ๋งก์์ต๋๋ค.
์ด ๊ฒฐ์ ์ ํฉ๋ฆฌ์ ์ธ ์ง๋ฌธ์ ์ ๊ธฐํ์ต๋๋ค. ์ฅ์ ์กฐ์น ํด๋ฌ์คํฐ๋ ์ผ๋ง๋ ๋ด๊ฒฐํจ์ฑ์ด ์์ต๋๊น? ์ด๋ฅผ ์กฐ์ฌํ๊ธฐ ์ํด ํด๋ฌ์คํฐ ๋ ธ๋์ ๋ค์ํ ์ฅ์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๊ณ , ์๋น์ค๊ฐ ๋ณต์๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ ธ๋๋ฅผ ๋ณต๊ตฌํ๊ณ , ๋ฃจํ์์ ํ ์คํธ๋ฅผ ๊ณ์ํ๋ ํ ์คํธ ๋ฒค์น๋ฅผ ๊ฐ๋ฐํ์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์๋ hapgsql์ด๋ผ๊ณ ๋ถ๋ ธ๋๋ฐ, ์๊ฐ์ด ์ง๋๋ฉด์ ๋ชจ์์ด ํ๋๋ง ์๋ ์ด๋ฆ์ด ์ง๋ฃจํด์ก์ต๋๋ค. ๋ฐ๋ผ์ ๋๋ ๋ด๊ฒฐํจ์ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค(๋ฐ ์ด๋ฅผ ๊ฐ๋ฆฌํค๋ ์ ๋ IP)๋ฅผ ํธ์ถํ๊ธฐ ์์ํ์ต๋๋ค. ํฌ๋ก ๊ฐ (๋ชจ๋ ์ค์ํ ๊ธฐ๊ด์ด ๋ณต์ ๋๋ ์ปดํจํฐ ๊ฒ์์ ์บ๋ฆญํฐ), ๋ ธ๋, ํด๋ฌ์คํฐ ๋ฐ ํ๋ก์ ํธ ์์ฒด๋ ํฌ์ฐฌ์นด (ํฌ๋ก๊ฑด์ด ์ฌ๋ ํ์ฑ)
์ด์ ๊ฒฝ์์ง์ด ํ์ฉํ์ต๋๋ค.
ํด๋ฌ์คํฐ๋ ๊ฐ์ ๋จธ์ ์ ๋ฐฐํฌ๋ฉ๋๋ค.
์ ํํ ์๊ฐ ์๋น์ค ntpd
(๊ณ ์ ๋ชจ๋). ๊ณต์ ์๋ฒ ๋ชฉ๊ฒฉ์ ์ค์ NTP ์๋ฒ ์ญํ ์ ํ๋ฉฐ ์๊ฐ์ ๋ชจ๋ ํด๋ฌ์คํฐ์ ๋ถ๋ฐฐํ์ฌ ๋ชจ๋ ์๋ฒ๋ฅผ ์๋ก ๋๊ธฐํํฉ๋๋ค. ๋ง์ฝ์ ๋ชฉ๊ฒฉ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๊ฒฉ๋ฆฌ๋๋ฉด ํด๋ฌ์คํฐ ์๋ฒ ์ค ํ๋(ํด๋ฌ์คํฐ ๋ด)๊ฐ ์๊ฐ์ ๋ถ๋ฐฐํ๊ธฐ ์์ํฉ๋๋ค. ๋ณด์กฐ ์บ์ฑ HTTP ํ๋ก์ ๋ํ ๋ชฉ๊ฒฉ์, ๋์์ ๋ฐ์ ๋ค๋ฅธ ๊ฐ์ ๋จธ์ ์ด Yum ์ ์ฅ์์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ค์ ๋ก ์ ํํ ์๊ฐ, ํ๋ก์ ๋ฑ์ ์๋น์ค๋ ์ ์ฉ ์๋ฒ์์ ํธ์คํ
๋ ๊ฐ๋ฅ์ฑ์ด ๋์ง๋ง, ๋ถ์ค์์๋ ํธ์คํ
๋ฉ๋๋ค. ๋ชฉ๊ฒฉ์ ๋จ์ง ๊ฐ์ ๋จธ์ ์์ ๊ณต๊ฐ์ ์ ์ฝํ๊ธฐ ์ํด์์
๋๋ค.
๋ฒ์
v0. VirtualBox 7์์ CentOS 11 ๋ฐ PostgreSQL 6.1๊ณผ ํจ๊ป ์๋ํฉ๋๋ค.
ํด๋ฌ์คํฐ ๊ตฌ์กฐ
๋ชจ๋ ํด๋ฌ์คํฐ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ผํฐ์ ์์นํ๋๋ก ์ค๊ณ๋์ด ํ๋์ ํ๋ฉด ๋คํธ์ํฌ๋ก ๊ฒฐํฉ๋๋ฉฐ ๋จ์ผ ๋ฐ์ดํฐ ์ผํฐ์ ์ฅ์ ๋๋ ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ๋ฅผ ๊ฒฌ๋์ผ ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ถ๊ฐ๋ฅํ ์ ๋ํ ๋ณดํธ๋ฅผ ์ํด ์ฌ์ฉ ๋ถํ ๋ ํ์ค ์ฌ์ฅ๋ฐ๋๊ธฐ ๊ธฐ์ ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ์คํ ๋์ค (๋จธ๋ฆฌ์ ์๋ ๋ค๋ฅธ ๋ ธ๋๋ฅผ ์ด๋ผ) ๋๋ ํ์ฑ. ๋ณธ์ง: ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ์ผ๋ถ ๋ ธ๋์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์์ฌํ๊ธฐ ์์ํ๊ฑฐ๋ ์๋ตํ์ง ์๊ฑฐ๋ ์๋ชป ์๋ํ๋ ๊ฒฝ์ฐ IPMI ๋๋ UPS ์ ์ด ์นด๋์ ๊ฐ์ "์ธ๋ถ" ์ฅ์น๋ฅผ ํตํด ๊ฐ์ ๋ก ํด๋น ๋ ธ๋๋ฅผ ๋๋๋ค. . ๊ทธ๋ฌ๋ ์ด๋ ๋จ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ IPMI ๋๋ UPS ์๋ฒ๊ฐ ๊ณ์ ์๋ํ๋ ๊ฒฝ์ฐ์๋ง ์๋ํฉ๋๋ค. ์ฌ๊ธฐ์์๋ ์ ์ฒด ๋ฐ์ดํฐ ์ผํฐ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ(์: ์ ์ ) ํจ์ฌ ๋ ์ฌ๊ฐํ ์ฅ์ ๋ก๋ถํฐ ๋ณดํธํ ๊ณํ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ฌํ ๊ฑฐ์ ๋ก ์ธํด ๋ชจ๋ ๊ฒ์ด ๋๋ก ๋ง๋ -์ฅ์น(IPMI, UPS ๋ฑ)๋ ์๋ํ์ง ์์ต๋๋ค.
๋์ , ์ด ์์คํ ์ ์ ์กฑ์๋ผ๋ ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๋ชจ๋ ๋ ธ๋์๋ ์์ฑ์ด ์์ผ๋ฉฐ, ์ ์ฒด ๋ ธ๋์ ์ ๋ฐ ์ด์์ ๋ณผ ์ ์๋ ๋ ธ๋๋ง์ด ์๋ํ ์ ์์ต๋๋ค. ์ด "๋ฐ + 1"์ ์์ ํธ์ถํฉ๋๋ค. ์ ์กฑ์. ์ฟผ๋ผ์ ๋๋ฌํ์ง ๋ชปํ ๊ฒฝ์ฐ ๋ ธ๋๋ ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ ์ํ์ ์๋ค๊ณ ๊ฒฐ์ ํ๊ณ ํด๋น ๋ฆฌ์์ค๋ฅผ ๊บผ์ผ ํฉ๋๋ค. ์ด๊ฒ ๋ฐ๋ก ๊ทธ๊ฑฐ์ผ ๋ถํ ๋ธ๋ ์ธ ๋ณดํธ. ์ด ๋์์ ๋ด๋นํ๋ ์ํํธ์จ์ด๊ฐ ์๋ํ์ง ์์ผ๋ฉด ์๋ฅผ ๋ค์ด IPMI ๊ธฐ๋ฐ ๊ฐ์ ์ฅ์น๊ฐ ์๋ํด์ผ ํฉ๋๋ค.
๋ ธ๋ ์๊ฐ ์ง์์ธ ๊ฒฝ์ฐ(๋ ๋ฐ์ดํฐ ์ผํฐ์ ํด๋ฌ์คํฐ) ์์ ๋ถํ์ค์ฑ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. 50 % / 50 % (XNUMX๋ XNUMX) ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ๋ก ์ธํด ํด๋ฌ์คํฐ๊ฐ ์ ํํ ์ ๋ฐ์ผ๋ก ๋ถํ ๋๋ ๊ฒฝ์ฐ. ๋ฐ๋ผ์ ์ง์ ๊ฐ์ ๋ ธ๋์ ๋ํด ๋ค์์ ์ถ๊ฐํฉ๋๋ค. ์ฟผ๋ผ ์ฅ์น ์ธ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์ ๊ฐ์ฅ ์ ๋ ดํ ๊ฐ์ ๋จธ์ ์์ ์คํํ ์ ์๋ ๊น๋ค๋กญ์ง ์์ ๋ฐ๋ชฌ์ ๋๋ค. ๊ทธ๋ ์์ ์ด ๋ณธ ์ธ๊ทธ๋จผํธ ์ค ํ๋์ ํฌํํ์ฌ 50%/50% ๋ถํ์ค์ฑ์ ํด๊ฒฐํฉ๋๋ค. ์ฟผ๋ผ ์ฅ์น๊ฐ ์คํ๋ ์๋ฒ์ ์ด๋ฆ์ ์ง์ ํ์ต๋๋ค. ๋ชฉ๊ฒฉ์ (repmgr์ ์ฉ์ด๊ฐ ๋ง์์ ๋ค์์ต๋๋ค.)
์๋ฅผ ๋ค์ด, ๊ฒฐํจ์ด ์๋ ์๋ฒ์์ ์ ์ ์๋ฒ๋ก ๋๋ ์์คํ ๊ด๋ฆฌ์์ ๋ช ๋ น์ ๋ฐ๋ผ ๋ฆฌ์์ค๋ฅผ ํ ๊ณณ์์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ํ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ํ์ํ ๋ฆฌ์์ค๊ฐ ์ด๋์ ์๋์ง(์ด๋์ ์ฐ๊ฒฐํด์ผ ํ๋์ง) ์ ์ ์๋๋ก ์ ๋ IP (๋ถ๋ IP). ์ด๋ Pacemaker๊ฐ ๋ ธ๋ ์ฃผ์๋ฅผ ์ด๋ํ ์ ์๋ IP์ ๋๋ค(๋ชจ๋ ๊ฒ์ด ํ๋ซ ๋คํธ์ํฌ์ ์์). ๊ฐ๊ฐ์ ๋ฆฌ์์ค(์๋น์ค)๋ฅผ ์์งํ๋ฉฐ ์ด ์๋น์ค(์ด ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)์ ์ก์ธ์คํ๊ธฐ ์ํด ์ฐ๊ฒฐํด์ผ ํ๋ ์์น์ ์์นํฉ๋๋ค.
Tuchanka1(์์ถ ํ๋ก)
๊ตฌ์กฐ
์ฐ๋ฆฌ๋ ๋ก๋๊ฐ ์ ์ ์๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฝ๊ธฐ ์ ์ฉ ํธ๋์ญ์ ์ ์ํด ์์ ๋๊ธฐ ๋ชจ๋์์ ์ ์ฉ ์ฌ๋ ์ด๋ธ ์๋ฒ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์์ต์ฑ์ด ์๋ค๋ ๊ฒ์ด ์์ด๋์ด์์ต๋๋ค(์ด๋ฌํ ๋ฆฌ์์ค ๋ญ๋น๊ฐ ํ์ํ์ง ์์).
๊ฐ ๋ฐ์ดํฐ ์ผํฐ์๋ ํ๋์ ์๋ฒ๊ฐ ์์ต๋๋ค. ๊ฐ ์๋ฒ์๋ ๋ ๊ฐ์ PostgreSQL ์ธ์คํด์ค๊ฐ ์์ต๋๋ค(PostgreSQL ์ฉ์ด๋ก๋ ํด๋ฌ์คํฐ๋ผ๊ณ ๋ถ๋ฅด์ง๋ง ํผ๋์ ํผํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌํ๊ฒ ์ธ์คํด์ค๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ Pacemaker ํด๋ฌ์คํฐ ํด๋ฌ์คํฐ๋ง ํธ์ถํ๊ฒ ์ต๋๋ค). ํ๋์ ์ธ์คํด์ค๋ ๋ง์คํฐ ๋ชจ๋์์ ์๋ํ๋ฉฐ ํด๋น ์ธ์คํด์ค๋ง ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค(์ ๋ IP๋ง ํด๋น ์ธ์คํด์ค๋ก ์ฐ๊ฒฐ๋จ). ๋ ๋ฒ์งธ ์ธ์คํด์ค๋ ๋ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์ ์ฌ๋ ์ด๋ธ๋ก ์๋ํ๋ฉฐ ๋ง์คํฐ์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์๋ง ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ธ์คํด์ค ๋ ๊ฐ ์ค ํ๋(๋ง์คํฐ)๋ง์ด ์๋น์ค๋ฅผ ์ ๊ณต(์์ฒญ ์ํ)ํ๋ฏ๋ก ๋ชจ๋ ์๋ฒ ๋ฆฌ์์ค๋ ๋ง์คํฐ์ ์ต์ ํ๋์ด ์์ง๋ง(๋ฉ๋ชจ๋ฆฌ๋ shared_buffers ์บ์ ๋ฑ์ ํ ๋น๋จ) ๋ ๋ฒ์งธ ์ธ์คํด์ค๋ ๋ํ ๋ฐ์ดํฐ ์ผํฐ ์ค ํ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํด ์ถฉ๋ถํ ๋ฆฌ์์ค๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค(ํ์ผ ์์คํ ์บ์๋ฅผ ํตํ ์ฐจ์ ์ฑ ์ด์์๋ ๋ถ๊ตฌํ๊ณ ). ์ฌ๋ ์ด๋ธ๋ ํด๋ฌ์คํฐ๊ฐ ์ ์์ ์ผ๋ก ์๋ํ๋ ๋์ ์๋น์ค๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฏ๋ก(์ฝ๊ธฐ ์ ์ฉ ์์ฒญ์ ์ํํ์ง ์์) ๋์ผํ ์์คํ ์ ๋ง์คํฐ์ ๋ฆฌ์์ค ์ ์์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
๋ ๋ ธ๋์ ๊ฒฝ์ฐ ๋ด๊ฒฐํจ์ฑ์ ๋น๋๊ธฐ ๋ณต์ ์์๋ง ๊ฐ๋ฅํฉ๋๋ค. ๋๊ธฐ ๋ณต์ ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ๋ ์ด๋ธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ง์คํฐ๊ฐ ์ค์ง๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ชฉ๊ฒฉํ์ง ๋ชปํจ
๋ชฉ๊ฒฉํ์ง ๋ชปํจ(์ฟผ๋ผ ์ฅ์น) ๋๋ Tuchanka1 ํด๋ฌ์คํฐ์ ๋ํด์๋ง ๊ณ ๋ คํ ๊ฒ์ด๋ฉฐ ๋ค๋ฅธ ๋ชจ๋ ํด๋ฌ์คํฐ์ ๋์ผํ ์ด์ผ๊ธฐ๊ฐ ๋ ๊ฒ์ ๋๋ค. ๊ฐ์๊ฐ ์คํจํ๋ฉด ํด๋ฌ์คํฐ ๊ตฌ์กฐ์๋ ์๋ฌด ๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด ์ด์ ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ณ์ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฟผ๋ผ์ 2๊ฐ ์ค 3๊ฐ๊ฐ ๋๋ฏ๋ก ์ดํ์ ๋ฐ์ํ๋ ๋ชจ๋ ์ค๋ฅ๋ ํด๋ฌ์คํฐ์ ์น๋ช ์ ์ ๋๋ค. ์ฌ์ ํ ๊ธด๊ธํ๊ฒ ์์ ํด์ผ ํ ๊ฒ์ ๋๋ค.
ํฌ์ฐฌ์นด1 ๊ฑฐ์
Tuchanka1์ ๋ฐ์ดํฐ ์ผํฐ ์ค ํ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ชฉ๊ฒฉ์ ๋ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์ ๋ ๋ฒ์งธ ๋ ธ๋์ ํฌํํฉ๋๋ค. ๊ทธ๊ณณ์์ ์ด์ ์ฌ๋ ์ด๋ธ๊ฐ ๋ง์คํฐ๋ก ๋ฐ๋๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ ๋ง์คํฐ๊ฐ ๋ชจ๋ ๋์ผํ ์๋ฒ์์ ์์ ํ๊ณ ๋ ๋ถ๋ IP๊ฐ ๋ชจ๋ ์ด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค.
ํฌ์ฐฌ์นด2(ํด๋์)
๊ตฌ์กฐ
๋ ๋ ธ๋์ ๊ณ ์ ์ ์ธ ๊ตฌ์ฑ. ๋ง์คํฐ๋ ํ๋์์ ์์ ํ๊ณ ์ฌ๋ ์ด๋ธ๋ ๋ ๋ฒ์งธ์์ ์์ ํฉ๋๋ค. ๋ ๋ค ์์ฒญ์ ์คํํ ์ ์์ผ๋ฏ๋ก(์ฌ๋ ์ด๋ธ๋ ์ฝ๊ธฐ ์ ์ฉ) ๋ ๋ค ๋ถ๋ IP๋ก ์ง์ ๋ฉ๋๋ค. krogan2๋ ๋ง์คํฐ์ด๊ณ krogan2s1์ ์ฌ๋ ์ด๋ธ์ ๋๋ค. ๋ง์คํฐ์ ์ฌ๋ ์ด๋ธ ๋ชจ๋ ๋ด๊ฒฐํจ์ฑ์ ๊ฐ์ต๋๋ค.
๋ ธ๋๊ฐ XNUMX๊ฐ์ธ ๊ฒฝ์ฐ ๋น๋๊ธฐ ๋ณต์ ์์๋ง ๋ด๊ฒฐํจ์ฑ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋๊ธฐ ๋ณต์ ์์๋ ์ฌ๋ ์ด๋ธ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ง์คํฐ๊ฐ ์ค์ง๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํฌ์ฐฌ์นด2 ๊ฑฐ์
๋ฐ์ดํฐ ์ผํฐ ์ค ํ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ชฉ๊ฒฉ์ ๋ ๋ฒ์งธ์ ํฌํํ์ธ์. ์๋ํ๋ ์ ์ผํ ๋ฐ์ดํฐ ์ผํฐ์์๋ ๋ง์คํฐ๊ฐ ์์ฑ๋๊ณ ๋ ๋ถ๋ IP ๋ชจ๋ ๋ง์คํฐ์ ์ฌ๋ ์ด๋ธ๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ๋ฌผ๋ก ์ธ์คํด์ค๋ ๋ง์คํฐ ๋ฐ ์ฌ๋ ์ด๋ธ ๋ถ๋ IP์ ๋ชจ๋ ์ฐ๊ฒฐ๊ณผ ์์ฒญ์ ๋์์ ์๋ฝํ ์ ์๋ ์ถฉ๋ถํ ๋ฆฌ์์ค(์ฐ๊ฒฐ ์ ํ ๋ฑ)๋ฅผ ๊ฐ๋๋ก ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค. ์ฆ, ์ ์ ์๋ ์ค์๋ ์ถฉ๋ถํ ํ๋ ๊ณต๊ธ์ด ์์ด์ผ ํฉ๋๋ค.
Tuchanka4 (๋ง์ ๋ ธ์)
๊ตฌ์กฐ
์ด๋ฏธ ๋ ๋ค๋ฅธ ๊ทน๋จ์ ๋๋ค. ์ฝ๊ธฐ ์ ์ฉ ์์ฒญ์ ๋ง์ด ๋ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค(๊ณ ๋ถํ ์ฌ์ดํธ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ). Tuchanka4๋ ์ด๋ฌํ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด XNUMX๋ช ์ด์์ ์ฌ๋ ์ด๋ธ๊ฐ ์์ ์ ์์ง๋ง ์ฌ์ ํ ๋๋ฌด ๋ง์ง๋ ์์ ์ํฉ์ ๋๋ค. ์ฌ๋ ์ด๋ธ ์๊ฐ ๋งค์ฐ ๋ง์ผ๋ฉด ๊ณ์ธต์ ๋ณต์ ์์คํ ์ ๊ฐ๋ฐํด์ผ ํฉ๋๋ค. ์ต์ํ์ ๊ฒฝ์ฐ(๊ทธ๋ฆผ ์ฐธ์กฐ) ๋ ๋ฐ์ดํฐ ์ผํฐ์๋ ๊ฐ๊ฐ PostgreSQL ์ธ์คํด์ค๊ฐ ์๋ ๋ ๊ฐ์ ์๋ฒ๊ฐ ์์ต๋๋ค.
์ด ์ฒด๊ณ์ ๋ ๋ค๋ฅธ ํน์ง์ ํ๋์ ๋๊ธฐ ๋ณต์ ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ด๋ฏธ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ง์คํฐ์ ๋์ผํ ๋ฐ์ดํฐ ์ผํฐ์ ๋ณต์ ๋ณธ์ด ์๋ ๊ฐ๋ฅํ๋ฉด ๋ค๋ฅธ ๋ฐ์ดํฐ ์ผํฐ๋ก ๋ณต์ ํ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋ง์คํฐ์ ๊ฐ ์ฌ๋ ์ด๋ธ๋ ๋ถ๋ IP๋ก ์ง์ ๋ฉ๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ์ฌ๋ ์ด๋ธ ๊ฐ์ ์์ฒญ์ ๊ท ํ์ ์ด๋ป๊ฒ๋ ์ ์งํด์ผ ํฉ๋๋ค. SQL ํ๋ก์, ์๋ฅผ ๋ค์ด ํด๋ผ์ด์ธํธ ์ธก์์. ๋ค์ํ ์ ํ์ ํด๋ผ์ด์ธํธ์๋ ๋ค์ํ ์ ํ์ด ํ์ํ ์ ์์ต๋๋ค. SQL ํ๋ก์, ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ์๋ง์ด ๋๊ฐ ๋ฌด์์ด ํ์ํ์ง ์๊ณ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ธ๋ถ ๋ฐ๋ชฌ์ด๋ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์ฐ๊ฒฐ ํ) ๋ฑ์ ํตํด ๊ตฌํ๋ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ ์ฅ์ ์กฐ์น ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ฌ์คํฐ(failover SQL ํ๋ก์ ํด๋ผ์ด์ธํธ ๋ด๊ฒฐํจ์ฑ๊ณผ ํจ๊ป ๋ ๋ฆฝ์ ์ผ๋ก ๊ตฌํ๋ ์ ์์ต๋๋ค.
ํฌ์ฐฌ์นด4 ๊ฑฐ์
ํ๋์ ๋ฐ์ดํฐ ์ผํฐ(์ฆ, ๋ ๊ฐ์ ์๋ฒ)๊ฐ ์คํจํ๋ฉด ๋ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์ ๋ํ ์ฆ์ธ ํฌํ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ ๋ฒ์งธ ๋ฐ์ดํฐ ์ผํฐ์์๋ ๋ ๊ฐ์ ์๋ฒ๊ฐ ์คํ๋๊ณ ์์ต๋๋ค. ํ๋๋ ๋ง์คํฐ๋ฅผ ์คํํ๊ณ ๋ง์คํฐ ๋ถ๋ IP๋ ์ด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค(์ฝ๊ธฐ-์ฐ๊ธฐ ์์ฒญ ์์ ์ฉ). ๋ ๋ฒ์งธ ์๋ฒ์๋ ๋๊ธฐ์ ๋ณต์ ๋ฅผ ์คํํ๋ ์ฌ๋ ์ด๋ธ๊ฐ ์๊ณ ์ฌ๋ ์ด๋ธ ๋ถ๋ IP ์ค ํ๋๊ฐ ์ด๋ฅผ ๊ฐ๋ฆฌํต๋๋ค(์ฝ๊ธฐ ์ ์ฉ ์์ฒญ์ ๊ฒฝ์ฐ).
๊ฐ์ฅ ๋จผ์ ์ฃผ๋ชฉํด์ผ ํ ์ ์ ๋ชจ๋ ์ฌ๋ ์ด๋ธ ํ๋กํธ IP๊ฐ ์์ ์๊ฐ ๋๋ ๊ฒ์ ์๋๊ณ ํ๋๋ง ์์ ์๊ฐ ๋๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค. SQL ํ๋ก์ ๋ชจ๋ ์์ฒญ์ ๋จ์ ์ ์ผํ ๋ถ๋ IP๋ก ๋ฆฌ๋๋ ์ ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ์ SQL ํ๋ก์ ์๋์, ์ฐ๊ฒฐ URL์์ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชจ๋ ์ ๋ IP ์ฌ๋ ์ด๋ธ๋ฅผ ๋์ดํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ์ ์ฒซ ๋ฒ์งธ ์๋ IP์ ์ด๋ฃจ์ด์ง๋ฉฐ ์ด๋ ์๋ ํ ์คํธ ์์คํ ์์ ์ํ๋ฉ๋๋ค. ์๋ง๋ JDBC์ ๊ฐ์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ ์ด๊ฒ์ด ์๋ํ์ง ์์ผ๋ฉฐ ํ์ํ ์๋ ์์ต๋๋ค. SQL ํ๋ก์. ์ด๋ ์ฌ๋ ์ด๋ธ์ ๋ํ ๋ถ๋ IP๊ฐ ํ ์๋ฒ์์ ๋์์ ๋ฐ์ํ๋ ๊ฒ์ ๊ธ์งํ์ฌ ์ฌ๋ฌ ๋๊ฐ ์คํ ์ค์ธ ๊ฒฝ์ฐ ์ฌ๋ ์ด๋ธ ์๋ฒ ๊ฐ์ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋์งธ: ๋ฐ์ดํฐ ์ผํฐ์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๋๊ธฐ์ ๋ณต์ ๊ฐ ์ ์ง๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ XNUMX์ฐจ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋, ์ฆ ๋๋จธ์ง ๋ฐ์ดํฐ ์ผํฐ์ ๋ ์๋ฒ ์ค ํ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ํด๋ฌ์คํฐ๋ ์๋น์ค ์ ๊ณต์ ์ค๋จํ๋๋ผ๋ ์ปค๋ฐ ํ์ธ์ ์ ๊ณตํ ๋ชจ๋ ์ปค๋ฐ๋ ํธ๋์ญ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ณ์ ์ ์งํฉ๋๋ค. (XNUMX์ฐจ ๊ณ ์ฅ์ ์์ค์ ๋ณด๋ ์์ต๋๋ค.)
Tuchanka3(๋ฐ์ดํฐ ์ผํฐ 3๊ฐ)
๊ตฌ์กฐ
์ด๋ ์๋ฒฝํ๊ฒ ์๋ํ๋ ์ธ ๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ์๊ณ ๊ฐ ๋ฐ์ดํฐ ์ผํฐ์๋ ์๋ฒฝํ๊ฒ ์๋ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๊ฐ ์๋ ์ํฉ์ ์ํ ํด๋ฌ์คํฐ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์ฟผ๋ผ ์ฅ์น ํ์ํ์ง ์์ต๋๋ค. ํ ๋ฐ์ดํฐ ์ผํฐ์๋ ๋ง์คํฐ๊ฐ ๋ฐฐ์น๋๊ณ , ๋๋จธ์ง ๋ ๋ฐ์ดํฐ ์ผํฐ์๋ ์ฌ๋ ์ด๋ธ๊ฐ ๋ฐฐ์น๋ฉ๋๋ค. ๋ณต์ ๋ ๋๊ธฐ์์ด๋ฉฐ ANY(slave1,slave2)๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์ฆ, ํด๋ผ์ด์ธํธ๋ ์ฌ๋ ์ด๋ธ ์ค ํ๋๊ฐ ์ปค๋ฐ์ ์๋ฝํ๋ค๊ณ ์ฒ์์ผ๋ก ์๋ตํ ๋ ์ปค๋ฐ ํ์ธ์ ๋ฐ์ต๋๋ค. ๋ฆฌ์์ค๋ ๋ง์คํฐ์ฉ ๋ถ๋ IP 4๊ฐ, ์ฌ๋ ์ด๋ธ์ฉ ๋ถ๋ IP XNUMX๊ฐ๋ก ํ์๋ฉ๋๋ค. TuchankaXNUMX์ ๋ฌ๋ฆฌ ์ธ ๊ฐ์ ๋ถ๋ IP๋ ๋ชจ๋ ๋ด๊ฒฐํจ์ฑ์ด ์์ต๋๋ค. ์ฝ๊ธฐ ์ ์ฉ SQL ์ฟผ๋ฆฌ์ ๊ท ํ์ ๋ง์ถ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. SQL ํ๋ก์ (๋ณ๋์ ๋ด๊ฒฐํจ์ฑ ํฌํจ) ๋๋ ํ๋์ ์ฌ๋ ์ด๋ธ ๋ถ๋ IP๋ฅผ ํด๋ผ์ด์ธํธ์ ์ ๋ฐ์ ํ ๋นํ๊ณ ๋๋จธ์ง ์ ๋ฐ์ ๋ ๋ฒ์งธ์ ํ ๋นํฉ๋๋ค.
ํฌ์ฐฌ์นด3 ๊ฑฐ์
๋ฐ์ดํฐ ์ผํฐ ์ค ํ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ ๊ฐ๊ฐ ๋จ์ต๋๋ค. ํ๋๋ ๋ง์คํฐ์ ๋ง์คํฐ ๋ฐ ๋ถ๋ IP๊ฐ ๋ฐ์ํ๊ณ , ๋ ๋ฒ์งธ๋ ์ฌ๋ ์ด๋ธ ๋ฐ ๋ ์ฌ๋ ์ด๋ธ ๋ถ๋ IP๊ฐ ๋ฐ์ํฉ๋๋ค(์ธ์คํด์ค๋ ๋ ์ฌ๋ ์ด๋ธ ๋ถ๋ IP์ ๋ชจ๋ ์ฐ๊ฒฐ์ ์๋ฝํ๋ ค๋ฉด ์ด์ค ๋ฆฌ์์ค ์์ฝ์ด ์์ด์ผ ํฉ๋๋ค). ๋ง์คํฐ์ ์ฌ๋ ์ด๋ธ ๊ฐ์ ๋๊ธฐ์ ๋ณต์ . ๋ํ ํด๋ฌ์คํฐ๋ ๋ ๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ๊ฐ ํ๊ดด๋๋ ๊ฒฝ์ฐ(๋์์ ํ๊ดด๋์ง ์๋ ๊ฒฝ์ฐ) ์ปค๋ฐ๋๊ณ ํ์ธ๋ ํธ๋์ญ์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค(์ ๋ณด ์์ค ์์).
ํ์ผ ๊ตฌ์กฐ์ ๋ฐฐํฌ์ ๋ํ ์์ธํ ์ค๋ช ์ ํฌํจํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋๊ณ ์ถ์ ์ฌ๋์ ๋๊ตฌ๋ README์์ ๋ชจ๋ ๋ด์ฉ์ ์ฝ์ ์ ์์ต๋๋ค. ๋๋ ๋จ์ง ์๋ํ๋ ํ ์คํธ์ ๋ํ ์ค๋ช ์ ์ ๊ณตํ ๋ฟ์ ๋๋ค.
์๋ ํ ์คํธ ์์คํ
๋ค์ํ ๊ฒฐํจ์ ์๋ฎฌ๋ ์ด์
ํ์ฌ ํด๋ฌ์คํฐ์ ๋ด๊ฒฐํจ์ฑ์ ํ
์คํธํ๊ธฐ ์ํด ์๋ ํ
์คํธ ์์คํ
์ด ์์ฑ๋์์ต๋๋ค. ์คํฌ๋ฆฝํธ์ ์ํด ์คํ๋จ test/failure
. ์คํฌ๋ฆฝํธ๋ ํ
์คํธํ๋ ค๋ ํด๋ฌ์คํฐ ์๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์ ๋ช
๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
test/failure 2 3
๋ ๋ฒ์งธ์ ์ธ ๋ฒ์งธ ํด๋ฌ์คํฐ๋ง ํ
์คํธํฉ๋๋ค. ๋งค๊ฐ๋ณ์๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ชจ๋ ํด๋ฌ์คํฐ๊ฐ ํ
์คํธ๋ฉ๋๋ค. ๋ชจ๋ ํด๋ฌ์คํฐ๋ ๋ณ๋ ฌ๋ก ํ
์คํธ๋๋ฉฐ ๊ฒฐ๊ณผ๋ tmux ํจ๋์ ํ์๋ฉ๋๋ค. Tmux๋ ์ ์ฉ tmux ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๊ธฐ๋ณธ tmux์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ฌ ์ค์ฒฉ๋ tmux๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ํฐ ์ฐฝ๊ณผ ์์ ๊ธ๊ผด๋ก ํฐ๋ฏธ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ
์คํธ๊ฐ ์์๋๊ธฐ ์ ์ ์คํฌ๋ฆฝํธ๊ฐ ์๋ฃ๋๋ฉด ๋ชจ๋ ๊ฐ์ ๋จธ์ ์ด ์ค๋
์ท์ผ๋ก ๋กค๋ฐฑ๋ฉ๋๋ค. setup
.
ํฐ๋ฏธ๋์ ํ ์คํธ ์ค์ธ ํด๋ฌ์คํฐ ์์ ๋ฐ๋ผ ์ด๋ก ๋๋์ด์ง๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก(์คํฌ๋ฆฐ์ท์์๋) 2๊ฐ๊ฐ ์์ต๋๋ค. ํฌ์ฐฌ์นดXNUMX๋ฅผ ์์๋ก ์นผ๋ผ์ ๋ด์ฉ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ์คํฌ๋ฆฐ์ท์ ํจ๋์๋ ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์์ต๋๋ค.
- ํ
์คํธ ํต๊ณ๊ฐ ์ฌ๊ธฐ์ ํ์๋ฉ๋๋ค. ์ด:
- ์คํจ โ ๊ฒฐํจ์ ์๋ฎฌ๋ ์ดํธํ๋ ํ ์คํธ(์คํฌ๋ฆฝํธ์ ํจ์) ์ด๋ฆ์ ๋๋ค.
- ๋ฐ์ โ ํด๋ฌ์คํฐ๊ฐ ๊ธฐ๋ฅ์ ๋ณต๊ตฌํ๋ ๋์์ ์ฐ์ ํ๊ท ์๊ฐ(์ด)์ ๋๋ค. ์ค๋ฅ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ์คํฌ๋ฆฝํธ ์์๋ถํฐ ํด๋ฌ์คํฐ๊ฐ ๊ธฐ๋ฅ์ ๋ณต์ํ๊ณ ์๋น์ค๋ฅผ ๊ณ์ ์ ๊ณตํ ์ ์๋ ์๊ฐ๊น์ง ์ธก์ ๋ฉ๋๋ค. ์๊ฐ์ด ๋งค์ฐ ์งง์ ๊ฒฝ์ฐ(์: 3์ด(์ฌ๋ฌ ์ฌ๋ ์ด๋ธ(Tuchanka4 ๋ฐ TuchankaXNUMX)๊ฐ ์๋ ํด๋ฌ์คํฐ์์ ๋ฐ์)) ์ด๋ ๊ฒฐํจ์ด ๋น๋๊ธฐ ์ฌ๋ ์ด๋ธ์ ์์๊ณ ์ด๋ค ์์ผ๋ก๋ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น์ง ์์์์ ์๋ฏธํฉ๋๋ค. ํด๋ฌ์คํฐ ์ํ ์ค์์น.
- ์ผํ โ ๊ฐ์ ํ์ฐ(์ ํ๋)์ ํ์ํฉ๋๋ค. ๋ฐ์ ํ์คํธ์ฐจ๋ฒ์ ์ฌ์ฉํ๋ค.
- ๊ณ์ฐ โ ์ด ํ ์คํธ๊ฐ ์ํ๋ ํ์์ ๋๋ค.
- ์งง์ ๋ก๊ทธ๋ฅผ ํตํด ํด๋ฌ์คํฐ๊ฐ ํ์ฌ ์ํ ์ค์ธ ์์ ์ ํ๊ฐํ ์ ์์ต๋๋ค. ๋ฐ๋ณต(ํ ์คํธ) ๋ฒํธ, ํ์์คํฌํ ๋ฐ ์์ ์ด๋ฆ์ด ํ์๋ฉ๋๋ค. ๋๋ฌด ์ค๋ ์คํ(> 5๋ถ)ํ๋ฉด ๋ฌธ์ ๊ฐ ์์์ ๋ํ๋ ๋๋ค.
- ์ฌ์ฅ (ํํธ) - ํ์ฌ ์๊ฐ. ์ฑ๋ฅ์ ์๊ฐ์ ์ผ๋ก ํ๊ฐํ๋ ๊ฒฝ์ฐ ์ฃผ์ธ ํ์ฌ ์๊ฐ์ float IP ๋ง์คํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์ง์์ ์ผ๋ก ๊ธฐ๋ก๋ฉ๋๋ค. ์ฑ๊ณตํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ด ํจ๋์ ํ์๋ฉ๋๋ค.
- ๋นํธ (ํ์ค) - ์ด์ ์ ์คํฌ๋ฆฝํธ์ ์ํด ๊ธฐ๋ก๋ "ํ์ฌ ์๊ฐ" ์ฌ์ฅ ๋ง์คํฐํ๋ ค๋ฉด ์ง๊ธ๋ถํฐ ์ฝ์ด๋ณด์ธ์ ๋ ธ์ ๋ถ๋ IP๋ฅผ ํตํด. ์ฌ๋ ์ด๋ธ ๋ฐ ๋ณต์ ์ฑ๋ฅ์ ์๊ฐ์ ์ผ๋ก ํ๊ฐํ ์ ์์ต๋๋ค. Tuchanka1์๋ ๋ถ๋ IP๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋ ์ด๋ธ๊ฐ ์์ง๋ง(์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ฌ๋ ์ด๋ธ ์์) ์ธ์คํด์ค(DB)๊ฐ ๋ ๊ฐ์ด๋ฏ๋ก ์ฌ๊ธฐ์ ํ์๋์ง ์์ต๋๋ค. ๋นํธ๊ณผ ์ฌ์ฅ ๋ ๋ฒ์งธ ์ฌ๋ก.
- ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ฌ์คํฐ ์ํ ๋ชจ๋ํฐ๋ง
pcs mon
. ๊ตฌ์กฐ, ๋ ธ๋ ๊ฐ ๋ฆฌ์์ค ๋ถํฌ ๋ฐ ๊ธฐํ ์ ์ฉํ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. - ํด๋ฌ์คํฐ์ ์๋ ๊ฐ ๊ฐ์ ๋จธ์ ์ ์์คํ ๋ชจ๋ํฐ๋ง์ด ์ฌ๊ธฐ์ ํ์๋ฉ๋๋ค. ํด๋ฌ์คํฐ์ ์๋ ๊ฐ์ ๋จธ์ ์์ ๋ฐ๋ผ ์ด๋ฌํ ํจ๋์ด ๋ ๋ง์ด ์์ ์ ์์ต๋๋ค. ๋ ๊ฐ์ ๊ทธ๋ํ CPU๋ก๋ (๊ฐ์ ๋จธ์ ์๋ XNUMX๊ฐ์ ํ๋ก์ธ์๊ฐ ์์), ๊ฐ์ ๋จธ์ ์ด๋ฆ, ์์คํ ๋ก๋ (5๋ถ, 10๋ถ, 15๋ถ์ ๊ฑธ์ณ ํ๊ท ์ด ๊ณ์ฐ๋๋ฏ๋ก ๋ก๋ ํ๊ท ์ด๋ผ๊ณ ํจ), ๋ฐ์ดํฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฒ๋ฆฌํฉ๋๋ค.
- ํ ์คํธ๋ฅผ ์ํํ๋ ์คํฌ๋ฆฝํธ์ ์ถ์ ์ ๋๋ค. ์ค์๋์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ(๊ฐ์๊ธฐ ์๋์ด ์ค๋จ๋๊ฑฐ๋ ๋์๋ ๋๊ธฐ ์ฃผ๊ธฐ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ) ์ฌ๊ธฐ์์ ์ด๋ฌํ ๋์์ ์ด์ ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
ํ ์คํธ๋ ๋ ๋จ๊ณ๋ก ์ํ๋ฉ๋๋ค. ๋จผ์ ์คํฌ๋ฆฝํธ๋ ๋ชจ๋ ์ ํ์ ํ ์คํธ๋ฅผ ๊ฑฐ์น๋ฉฐ ์ด ํ ์คํธ๋ฅผ ์ ์ฉํ ๊ฐ์ ๋จธ์ ์ ๋ฌด์์๋ก ์ ํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋์๋ ํ ์คํธ ์ฃผ๊ธฐ๊ฐ ์ํ๋๊ณ ๋งค๋ฒ ๊ฐ์ ๋จธ์ ๊ณผ ์ค๋ฅ๊ฐ ๋ฌด์์๋ก ์ ํ๋ฉ๋๋ค. ํ ์คํธ ์คํฌ๋ฆฝํธ(ํ๋จ ํจ๋)๊ฐ ๊ฐ์๊ธฐ ์ข ๋ฃ๋๊ฑฐ๋ ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์๋ ๋ฃจํ(ํ ์์ ์ ๋ํ ์คํ ์๊ฐ > 5๋ถ, ์ด๋ ์ถ์ ์์ ๋ณผ ์ ์์)๋ ์ด ํด๋ฌ์คํฐ์ ์ผ๋ถ ํ ์คํธ๊ฐ ์คํจํ์์ ๋ํ๋ ๋๋ค.
๊ฐ ํ ์คํธ๋ ๋ค์ ์์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ค๋ฅ๋ฅผ ์๋ฎฌ๋ ์ดํธํ๋ ๊ธฐ๋ฅ์ ์์ํฉ๋๋ค.
- ์ค๋น๊ฐ ๋์ จ์ต๋๊น? โ ํด๋ฌ์คํฐ๊ฐ ๋ณต์๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค(๋ชจ๋ ์๋น์ค๊ฐ ์ ๊ณต๋ ๋).
- ํด๋ฌ์คํฐ ๋ณต๊ตฌ ์๊ฐ ์ด๊ณผ๋ฅผ ํ์ํฉ๋๋ค(๋ฐ์).
- ์์ โ ํด๋ฌ์คํฐ๊ฐ "๋ณต๊ตฌ"๋๊ณ ์์ต๋๋ค. ๊ทธ ํ์๋ ์์ ํ ์๋ ์ํ๋ก ๋์๊ฐ์ ๋ค์ ์ค์๋์ ๋๋นํด์ผ ํฉ๋๋ค.
๋ค์์ ์ํํ๋ ์์ ์ ๋ํ ์ค๋ช ์ด ํฌํจ๋ ํ ์คํธ ๋ชฉ๋ก์ ๋๋ค.
- ํฌํฌ๋ฐค: ํฌํฌ ํญํ์ ์ฌ์ฉํ์ฌ "๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ"์ ์์ฑํฉ๋๋ค.
- ๊ณต๊ฐ์ธ: ํ๋ ๋๋ผ์ด๋ธ๊ฐ ๊ฐ๋ ์ฐผ์ต๋๋ค. ๊ทธ๋ฌ๋ ํ ์คํธ๋ ๋ค์ ์์ง์ ์ ๋๋ค. ํ ์คํธ ์ค์ ์์ฑ๋๋ ๋ก๋๊ฐ ๋ฏธ๋ฏธํ๊ธฐ ๋๋ฌธ์ PostgreSQL์ ์ผ๋ฐ์ ์ผ๋ก ํ๋ ๋๋ผ์ด๋ธ๊ฐ ๊ฐ๋ ์ฐจ๋ ์คํจํ์ง ์์ต๋๋ค.
- ํฌ์คํธ๊ทธ๋ ์ค-KILL: ๋ค์ ๋ช
๋ น์ผ๋ก PostgreSQL์ ์ข
๋ฃํฉ๋๋ค.
killall -KILL postgres
. - ํฌ์คํธ๊ทธ๋ ์ค-STOP: PostgreSQL ๋ช
๋ น์ด ์ค๋จ๋ฉ๋๋ค.
killall -STOP postgres
. - ์ ์ ๋๊ธฐ: ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋จธ์ ์ ์ ์์ "๋นํ์ฑํ"ํฉ๋๋ค.
VBoxManage controlvm "ะฒะธัััะฐะปะบะฐ" poweroff
. - ๋ค์ ์ฐ๊ธฐ: ๋ค์ ๋ช
๋ น์ผ๋ก ๊ฐ์ ๋จธ์ ์ ์ค๋ฒ๋ก๋ํฉ๋๋ค.
VBoxManage controlvm "ะฒะธัััะฐะปะบะฐ" reset
. - SBD-์ ์ง: ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ SBD ์
๋ง๋ฅผ ์ ์งํฉ๋๋ค.
killall -STOP sbd
. - ์ผ์ ํด์
: SSH๋ฅผ ํตํด ๊ฐ์ ๋จธ์ ์ ๋ช
๋ น์ ๋ณด๋
๋๋ค.
systemctl poweroff
, ์์คํ ์ด ์ ์์ ์ผ๋ก ์ข ๋ฃ๋ฉ๋๋ค. - ํ๋ฆฌ๋ค: ๋คํธ์ํฌ ๊ฒฉ๋ฆฌ, ๋ช
๋ น
VBoxManage controlvm "ะฒะธัััะฐะปะบะฐ" setlinkstate1 off
.
ํ์ค tmux ๋ช ๋ น "kill-window"๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์๋ฃ Ctrl-b &๋๋ "detach-client" ๋ช ๋ น Ctrl-b d: ์ด ์์ ์์ ํ ์คํธ๊ฐ ์ข ๋ฃ๋๊ณ tmux๊ฐ ๋ซํ๊ณ ๊ฐ์ ๋จธ์ ์ด ๊บผ์ง๋๋ค.
ํ ์คํธ ์ค ํ์ธ๋ ๋ฌธ์
-
ํ์ฌ ๊ฐ์๊ฒฌ ์ ๋ง SBD ๊ด์ฐฐ๋ ๋ฐ๋ชฌ์ ์ค์งํ๋ ๋ฐ ์๋ํ์ง๋ง ๋๊ฒฐํ์ง๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋๊ฒฐ๋ก๋ง ์ด์ด์ง๋ ๊ฒฐํจ ์ฝ๋ก์ฑํฌ ะธ ๋งฅ๋ฐ ์กฐ์ ์ฅ์น, ํ์ง๋ง ๋งค๋ฌ๋ฆฌ์ง๋ ์์ sbd. ํ์ธ์ฉ ์ฝ๋ก์ฑํฌ ์ด๋ฏธ์๋ค
PR#83 (GitHub์์ sbd) , ์ค๋ ๋์ ์น์ธ๋จ ์์ฌ. ๊ทธ๋ค์ (PR#83์์) Pacemaker์๋ ๋น์ทํ ๊ธฐ๋ฅ์ด ์์ ๊ฒ์ด๋ผ๊ณ ์ฝ์ํ์ต๋๋ค. ๋ ๋ํ xnumx ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ "์ค์๋"์ ์ถ์ธก์ ๋ถ๊ณผํ๋ฉฐ ์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ์ธ์์ ์ผ๋ก ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.killall -STOP corosync
, ํ์ง๋ง ์ค์ํ์์๋ ์ ๋ ๋ง๋์ง ๋ง์ธ์. -
ะฃ ๋งฅ๋ฐ ์กฐ์ ์ฅ์น ๋ฒ์ ์์๋ 7 CentOS์ ์๋ชป ์ค์ ๋จ sync_timeout ั ์ฟผ๋ผ ์ฅ์น, ๊ฒฐ๊ณผ์ ์ผ๋ก
ํ ๋ ธ๋์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ ๋ฒ์งธ ๋ ธ๋๋ ์ฌ๋ถํ ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. , ๋ง์คํฐ๊ฐ ์ด๋ํด์ผํ๋ ๊ณณ์ ๋๋ค. ํ๋๋ก ์น๋ฃ๋จ sync_timeout ั ์ฟผ๋ผ ์ฅ์น ๋ฐฐํฌ ์ค(์คํฌ๋ฆฝํธ์์setup/setup1
). ์ด ์์ ์์ ๊ฐ๋ฐ์๊ฐ ์น์ธํ์ง ์์์ต๋๋ค. ๋งฅ๋ฐ ์กฐ์ ์ฅ์น๋์ ๊ทธ๋ค์ ์ด ์ ํ ์๊ฐ์ด ์๋์ผ๋ก ๊ณ์ฐ๋๋ ๋ฐฉ์์ผ๋ก(๋ฏธ๋ ๋ถํน์ ์์ ) ์ธํ๋ผ๋ฅผ ์ฌ์ค๊ณํ๊ฒ ๋ค๊ณ ์ฝ์ํ์ต๋๋ค. -
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ฑ์์ ๋ค์์ ์ง์ ํ๋ ๊ฒฝ์ฐ
LC_MESSAGES
(๋ฌธ์ ๋ฉ์์ง) ์ ๋์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.ru_RU.UTF-8
, ๊ทธ๋ฐ ๋ค์ ์์ ์ ํฌ์คํธ ๊ทธ๋ ์ค ๋ก์ผ์ผ์ด UTF-8์ด ์๋ ํ๊ฒฝ, ์๋ฅผ ๋ค์ด ๋น ํ๊ฒฝ(์ฌ๊ธฐ์๋ ํ์ด์ค ๋ฉ์ด์ปค+pgsqlms(paf) ์คํ ํฌ์คํธ ๊ทธ๋ ์ค), ์ ๊ฒ๋ก๊ทธ์๋ UTF-8 ๋ฌธ์ ๋์ ๋ฌผ์ํ๊ฐ ํฌํจ๋ฉ๋๋ค. . PostgreSQL ๊ฐ๋ฐ์๋ค์ ์ด ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผ ํ ์ง์ ๋ํด ํฉ์ํ์ง ์์์ต๋๋ค. ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์ค์นํด์ผํฉ๋๋คLC_MESSAGES=en_US.UTF-8
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค๋ฅผ ๊ตฌ์ฑ(์์ฑ)ํ ๋. -
wal_receiver_timeout์ด ์ค์ ๋ ๊ฒฝ์ฐ(๊ธฐ๋ณธ์ ์ผ๋ก 60์ด) tuchanka3 ๋ฐ tuchanka4 ํด๋ฌ์คํฐ์ ๋ง์คํฐ์์ PostgreSQL-STOP ํ ์คํธ ์ค์
๋ณต์ ๊ฐ ์ ๋ง์คํฐ์ ๋ค์ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค. . ๋ณต์ ๋ ๋๊ธฐ์์ด๋ฏ๋ก ์ฌ๋ ์ด๋ธ๋ฟ๋ง ์๋๋ผ ์ ๋ง์คํฐ๋ ์ค์ง๋ฉ๋๋ค. PostgreSQL์ ๊ตฌ์ฑํ ๋ wal_receiver_timeout=0์ ์ค์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ธ์. -
๊ฐ๋ ForkBomb ํ ์คํธ์์ PostgreSQL์ ๋ณต์ ๊ฐ ์ค๋จ๋๋ ๊ฒ์ ๊ด์ฐฐํ์ต๋๋ค(๋ฉ๋ชจ๋ฆฌ ์ค๋ฒํ๋ก).
ForkBomb ์ดํ ๋๋๋ก ์ฌ๋ ์ด๋ธ๊ฐ ์ ๋ง์คํฐ์ ๋ค์ ์ฐ๊ฒฐ๋์ง ์์ ์ ์์ต๋๋ค. . ๋๊ธฐ ๋ณต์ ๋ก ์ธํด ๋ง์คํฐ๊ฐ ์ ์ง๋ tuchanka3 ๋ฐ tuchanka4 ํด๋ฌ์คํฐ์์๋ง ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ฌธ์ ๋ ์ค๋ ์๊ฐ(์ฝ XNUMX์๊ฐ) ํ์ ์ ์ ๋ก ์ฌ๋ผ์ก์ต๋๋ค. ์ด๋ฅผ ๋ฐ๋ก์ก๊ธฐ ์ํด์๋ ๋ ๋ง์ ์ฐ๊ตฌ๊ฐ ํ์ํฉ๋๋ค. ์ฆ์์ ์ด์ ๋ฒ๊ทธ์ ์ ์ฌํ๋ฉฐ ๋ค๋ฅธ ์์ธ์ผ๋ก ์ธํด ๋ฐ์ํ์ง๋ง ๊ฒฐ๊ณผ๋ ๋์ผํฉ๋๋ค.
ํฌ๋ก๊ฑด์์ ์ฐ์ ์ฌ์ง
์ถ์ฒ : habr.com