๊ฐ์
- 1 ๊ธฐ๋ณธ
- 1.1 ๋๊ธฐํ์ ๋ณต์
- 1.2 ์ปค๋ ๋๋ผ์ด๋ฒ
- 1.3 ๊ด๋ฆฌ ๋๊ตฌ
- 1.4 ๋ฆฌ์์ค
- 1.4.1 ๋ฆฌ์์ค ์ด๋ฆ
- 1.4.2 ๋ณผ๋ฅจ
- 1.4.3 ๋คํธ์ํฌ ์ฐ๊ฒฐ(Connection)
- 1.5 ๋ฆฌ์์ค ์ญํ
- 2 ์ฃผ์ ๊ธฐ๋ฅ
๊ธฐ๋ณธ
BSR(Block Sync Replicator)์ ํด๋ฌ์คํฐ ๋ด ์ฌ๋ฌ ํธ์คํธ ๊ฐ ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ์ ๋ธ๋ก ๋จ์๋ก ์ค์๊ฐ ๋๊ธฐํํ๋ ๋ฐ์ดํฐ ๋ณต์ ์์ง์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์คํฌ์ ๊ธฐ๋กํ๋ ๋ชจ๋ ๋ณ๊ฒฝ์ ์ปค๋ ๊ณ์ธต์์ ๊ฐ๋ก์ฑ์ด ์ฆ์ ํํธ๋ ๋ ธ๋๋ก ์ ์กํจ์ผ๋ก์จ, ์ฅ์ ๋ฐ์ ์์๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑยท์ผ๊ด์ฑ์ ์ ์งํ๋ฉฐ ์ ์ํ ์๋น์ค ์ ํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
BSR์ ํ์ผ์์คํ ๋ณด๋ค ๋ฎ์ ๊ณ์ธต์์ ๋ธ๋ก ๋จ์๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ OS๋ ํ์ผ ์์คํ ์ข ๋ฅ์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฉฐ, ์์ ๋ธ๋ก I/O์ ์ฐ๊ธฐ ์์๋ฅผ ๋ณด์กดํ ์ฑ ๋ณต์ (write-ordering ๋ณด์ฅ)ํ์ฌ ์์คํ ๋ ๋ฒจ์ ๊ณ ๊ฐ์ฉ์ฑ(HA) ํ๊ฒฝ์ ๊ตฌํํฉ๋๋ค.
๋ด๋ถ์ ์ผ๋ก BSR์ ๋นํธ๋งต ๊ธฐ๋ฐ์ Dirty-Block Tracking ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์งํฉ๋๋ค. ์ด ๋นํธ๋งต์ ๋คํธ์ํฌ ์ฅ์ , ๋ ธ๋ ์ผ์ ์ค๋จ ๋ฑ์ ์ํฉ์์ ๋๊ธฐํ๋์ง ์์ ๋ธ๋ก๋ง์ ์ ํํ ์๋ณํ๋ฉฐ, ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฐ๊ฒฐ ์ Partial Resync(๋ถ๋ถ ์ฌ๋๊ธฐํ)๋ฅผ ์ํํฉ๋๋ค. ์ด ๋ฐฉ์์ ์ ์ฒด ๋ณผ๋ฅจ์ ์ฌ๋๊ธฐํํ์ง ์๊ณ ํ์ํ ๋ธ๋ก๋ง ์ ์กํจ์ผ๋ก์จ, ๋ณต๊ตฌ ์๊ฐ์ ์ต์ํํ๊ณ ๋คํธ์ํฌ ๋ถํ๋ฅผ ์ค์ด๋ ์ฅ์ ์ด ์์ต๋๋ค.
๋ํ BSR์ ๋งํฌ ๋๊นยท๋คํธ์ํฌ ์ง์ฐยทIO burst ๋ฑ ๋ค์ํ ์ด์ ํ๊ฒฝ์์๋ ์์ ์ ์ธ ์ค์๊ฐ ๋ณต์ ๋ฅผ ์ ์งํ๋๋ก ์ ์ก ํ ๊ด๋ฆฌ, ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฌ๋๊ธฐํ ์๊ณ ๋ฆฌ์ฆ, IO ํ๋ฆ ์ ์ด(Flow Control) ๋ฑ์ ์ฌ๋ฌ ๋ฉ์ปค๋์ฆ์ ํฌํจํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฉ ์คํ ๋ฆฌ์ง ์ฅ๋น ์์ด ์ํํธ์จ์ด๋ง์ผ๋ก๋ ๋๊ธฐ์ ๋ฏธ๋ฌ๋ง, HA ๊ตฌ์ฑ, DR ํ๊ฒฝ์ ๋น ๋ฅธ ๋ณต๊ตฌ ์ ์ฐจ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋๊ธฐํ์ ๋ณต์
๋ณต์ ๋ฅผ ํ๋ ค๋ฉด ๋จผ์ , ์์ธก ํธ์คํธ ์์ ๋ณผ๋ฅจ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ผ์น ์์ผ์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด bsr์ ๋์คํฌ์ ๋ธ๋ญ์ ๋จ์๋ก ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ค์์ ํ๊น ์ธก์ผ๋ก ๋ณต์ฌํ๋ ๊ณผ์ ์ ์ํํ๋๋ฐ ์ด๊ฒ์ ๋๊ธฐํ(Synchronization)๋ผ๊ณ ํฉ๋๋ค.
๋๊ธฐํ๊ฐ ์๋ฃ๋๋ฉด ์ ์ธก ๋ณผ๋ฅจ์ ์์ ํ ๋์ผํ ์ํ๊ฐ ๋๊ณ ์ดํ ์์ค ์ธก์์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋ณ๊ฒฝ ๋ถ์ ๋ํ์ฌ ์ค์๊ฐ ํ๊น ์ธก์ผ๋ก ๋ฐ์ํ์ฌ ์ ๋ณผ๋ฅจ์ ์ ํฉ์ฑ์ ์ ์งํฉ๋๋ค.
์ฌ๊ธฐ์, ์์ค ์ธก์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ๋ ํด๋น ๋ณ๊ฒฝ ๋ถ์ ํ๊น ์ธก์ผ๋ก ์ค์๊ฐ ๋ฐ์ํ๋ ๋์์ ๋ณต์ (Replication)๋ผ๊ณ ํฉ๋๋ค. ๋๊ธฐํ๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ฒ์ฒํ ๋์ํ์ง๋ง ๋ณต์ ๋ ๋ก์ปฌ I/O ์ ๋ฌธ๋งฅ์์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ณต์ ๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋์ํฉ๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ธ๋ก์ฅ์น์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๋์์ ์ค์๊ฐ ๋ณต์ ํฉ๋๋ค.
์ค์๊ฐ ๋ณต์ ๋ฅผ ์ํ ํ๋๋ผ๋ ๋ค๋ฅธ ์์ฉ ์๋น์ค๋ ์์คํ ์์์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค.
๋๊ธฐ ๋๋ ๋น๋๊ธฐ์ ์ผ๋ก ๋ณต์ ํฉ๋๋ค
๋๊ธฐ ๋ฐฉ์์ ๋ณต์ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ๋์คํฌ์ ํ๊ฒ ํธ์คํธ์ ๋์คํฌ์ ์ฐ๊ธฐ ์๋ฃํ์ ๋ ๋ณต์ ๋ฅผ ์๋ฃํ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋น๋๊ธฐ ๋ฐฉ์์ ๋ณต์ ย ๋ฐ์ดํฐ๋ฅผย ๋ก์ปฌ๋์คํฌ์ ์ฐ๊ณ ํ๊ฒ ํธ์คํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ก ํ์ ๋ ๋ณต์ ๋ฅผ ์๋ฃํ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋๊ธฐํ์ ๋ณต์ ๋ bsr ๋ด๋ถ์์ ๊ฐ๋ณ์ ์ผ๋ก ๋์ํ์ง๋ง ํ ์์ ์ ๋์์ ์ํ๋ ์ ์์ต๋๋ค. ์ฆ ๋๊ธฐํ๊ฐ ์ํ๋๋ ๋์ค์ ๋ณต์ ๊ฐ ๊ฐ์ด ์ฒ๋ฆฌ๋ ์ ์๊ธฐ ๋๋ฌธ์(์ด์ ์ค์ธ ๋ ธ๋๊ฐ ๋๊ธฐํ๋ฅผ ์ฒ๋ฆฌํ๋ฉด์ ์ด์ ์ค ๋ฐ์ํ๋ ์ฐ๊ธฐ I/O ๋ฅผ ๋์์ ๋ณต์ ํจ) ์๋ก ๊ฐ์ ์ฒ๋ฆฌ๋์ ์ต๋ ๋คํธ์ํฌ ๋์ญ์ ๋ฒ์ ์์์ ์ ์ ํ ์กฐ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋๊ธฐํ ๋์ญ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋๊ธฐํ ์๋ ์กฐ์ ์ ์ฐธ๊ณ ํ์ธ์.
ย
์ปค๋ ๋๋ผ์ด๋ฒ
bsr์ ํต์ฌ ์์ง์ ์ปค๋ ๋๋ผ์ด๋ฒ๋ก ๊ตฌํํฉ๋๋ค.
์ปค๋ ๋๋ผ์ด๋ฒ๋ ๋์คํฌ ๋ณผ๋ฅจ ๊ณ์ธต์ ์์นํ์ฌ ํ์ผ์์คํ ์ผ๋ก ๋ถํฐ ๋ฐ์ํ๋ ์ฐ๊ธฐ I/O์ ๋ํด ๋ธ๋ญ(block) ๋จ์๋ก ์ ์ดํฉ๋๋ค.ย ํ์ผ์์คํ ์ ํ๋ถ ๊ณ์ธต์ ์์นํ๊ธฐ ๋๋ฌธ์ ํ์ผ์์คํ ๊ณผ ์์ฉํ๋ก๊ทธ๋จ์ ๊ด๊ณ์์ด ํฌ๋ช ํ ๋ณต์ ํ๊ฒฝ์ ์ ๊ณตํ๋ฏ๋ก ๊ณ ๊ฐ์ฉ์ฑ์ ๊ตฌ์ถํ๊ธฐ์ ์ ํฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์ผ ์์คํ ์ ํ์ ๊ณ์ธต์ ์์นํ๋ค๋ ์ ์ ํ์ผ๊ณผ ๊ด๋ จํ ์ผ๋ฐ์ ์ธ ์ฐ์ฐ์ ๋ํด์ ํต์ ํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ผ์์คํ ์ ์์์ ๊ฐ์งํ๊ฑฐ๋ ํ์ผ ๋ฐ์ดํฐ์ ๋ํ ํต์ ๋ ํ ์ ์์ต๋๋ค. ๋จ์ง ๋์คํฌ์ ์ฐ์ฌ์ง๋ ๋ธ๋ญ ๋จ์๋ก ๋ณต์ ํฉ๋๋ค.
bsr์ ๊ธฐ๋ณธ์ ์ผ๋ก Active-Passive ํด๋ฌ์คํฐ๋ง์ ์ ๊ณตํ๊ณ , Active-Active ํด๋ฌ์คํฐ๋ง์ ์ ๊ณตํ์ง ์์ต๋๋ค.
ย
๊ด๋ฆฌ ๋๊ตฌ
bsr์ ์์์ ์ค๋ช ํ ์ปค๋๋๋ผ์ด๋ฒ๋ฅผ ์ ์ดํ๋ ์ฉ๋์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฅผ ํตํด ๋ณต์ ๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ๊ด๋ฆฌํฉ๋๋ค. ์ด ๋๊ตฌ๋ค์ bsradm, bsrsetup, bsrmeta, bsrcon ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ด๋ฆฌ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ด๋ฆฌ์ ์์ค์ ๊ถํ์ด ์๊ตฌ๋ฉ๋๋ค.
bsradm
bsr์ ์ธ๋ถ ๊ธฐ๋ฅ๋ค์ ๋ํด ์ถ์ํํ ์์ ์์คย ๋ช ๋ น์ด๋ฅผ ์ ๊ณตํ๋ ์ ํธ๋ฆฌํฐ์ ๋๋ค. bsradm ์ ํตํด bsr ๋๋ถ๋ถ์ ๋์์ ์ ์ดํ ์ ์์ต๋๋ค.
bsradm์ ๊ตฌ์ฑํ์ผ etc\bsr.conf๋ก๋ถํฐ ๋ชจ๋ ๊ตฌ์ฑ ํ๋ผ๋ฏธํฐ๋ฅผ ์ป์ผ๋ฉฐ,ย bsrsetup ๋ฐ bsrmeta์ ์ ์ ํ ์ต์ ์ ์ฃผ์ด ๋ช ๋ น์ ์ ๋ฌํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฆ ์ค์ ๋์์ bsrsetup, bsrmeta ์์ ์ํ๋ฉ๋๋ค.
bsradm์ โd ์ต์ ์ ํตํดย dry-run๋ชจ๋๋ก ์คํ์ํฌ ์ ์์ต๋๋ค. ์ด๋ bsradm์ด bsrsetup ๋ฐ bsrmetaย ๋ช ๋ น์ ์ค์ ํธ์ถํ์ง ์๊ณ , ์ด๋ค ์ต์ ์กฐํฉ์ผ๋ก ์คํ๋๋ ์ง ๋ฏธ๋ฆฌ ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
bsradm ๋ช ๋ น ์ต์ ์ ๋ํ ์์ธํ ์ฌํญ์ย ๋ถ๋ก, ๋ช ๋ น์ด์ย bsradm์ ์ฐธ๊ณ ํ์ญ์์.
bsrsetup
bsr ์ปค๋์์ง์ ํ์ํ ๊ฐ๋ค์ ์ค์ ํ ์ ์์ต๋๋ค.ย bsrsetup์ ๋ํ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ ํ ์คํธ ์ธ์๋ก ์ ๋ฌํด์ผ ํฉ๋๋ค.
bsradm๊ณผ bsrsetup์ ๋ถ๋ฆฌ๋ฅผ ํตํด ์ ์ฐํ ๋ช ๋ น ์ฒด๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.
bsradm์์ ๋ฐ์๋ค์ธ ํ๋ผ๋ฏธํฐ๋ ๋ณด๋ค ๋ณต์กํ ํ๋ผ๋ฏธํฐ๋ก ์นํํ์ฌย bsrsetup์ ํธ์ถํฉ๋๋ค.
bsradm์ ๋ฆฌ์์ค ๊ตฌ์ฑํ์ผ์ ๋ฌธ๋ฒ์ ์ค๋ฅ ๋ฑ์ ํ์ธํ์ฌ ์ฌ์ฉ์ ์ค์๋ฅผ ๋ฐฉ์งํฉ๋๋ค. bsrsetup์ ์ด๋ฌํ ๋ฌธ๋ฒ์ ์ค๋ฅ๋ฅผ ํ์ธํ์ง ์์ต๋๋ค.
๋๋ถ๋ถ์ bsrsetup์ ์ง์ ์ฌ์ฉํ ํ์๊ฐ ์์ผ๋ ๋ ธ๋ ๊ฐ ๊ฐ๋ณ์ ์ด ํ์ํ ๊ฒฝ์ฐ ๋๋ ํน์ํ ๊ธฐ๋ฅ์ ์ํด ์ฌ์ฉํฉ๋๋ค.
bsrsetup ๋ช ๋ น ์ต์ ์ ๋ํ ์์ธํ ์ฌํญ์ย ๋ถ๋ก, ๋ช ๋ น์ด์ย bsrsetupย ์ ์ฐธ๊ณ ํ์ญ์์.
bsrmeta
๋ณต์ ๊ตฌ์ฑ์ ์ํ ๋ฉํ ๋ฐ์ดํฐ ์์ฑ, ๋คํ, ๋ณต์ ๋ฐ ์์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.ย bsrsetup์ฒ๋ผ ๋๋ถ๋ถ์ ์ง์ bsrmeta๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์๊ณ bsradm์์ ์ ๊ณตํ๋ ๋ช ๋ น์ ํตํด ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์ดํฉ๋๋ค.
bsrmeta ๋ช ๋ น ์ต์ ์ ๋ํ ์์ธํ ์ฌํญ์ย ๋ถ๋ก, ๋ช ๋ น์ด์ย bsrmetaย ๋ฅผย ์ฐธ๊ณ ํ์ญ์์.ย
bsrcon
bsr ๊ด๋ จ ์ ๋ณด๋ฅผ ํ์ธํ๊ฑฐ๋ ๊ธฐํย ํ์ํ ์ค์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
bsrcon ๋ช ๋ น ์ต์ ์ ๋ํ ์์ธํ ์ฌํญ์ย ๋ถ๋ก, ๋ช ๋ น์ด์ย bsrconย ์ ์ฐธ๊ณ ํ์ญ์์.
ย
๋ฆฌ์์ค
๋ฆฌ์์ค๋ ๋ณต์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ๊ฒ์ ์ถ์ํํ ๊ฐ์ฒด์ด์ ๋ณต์ ๋์์ ๋๋ค. ๋ณต์ ๋ฅผ ์ด์ํ๊ธฐ์ ์์ ๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ๋ฆฌ์์ค๋ฅผ ๊ธฐ๋ํ์ฌ ์ ์ดํฉ๋๋ค. ์ฆ ๋ฆฌ์์ค๊ฐ ์ ์ด์ ๋จ์ ์ ๋๋ค.
๋ฆฌ์์ค๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์ ๋ค์์ ๊ธฐ๋ณธ์ ์ธ ์ฌํญ๋ค(๋ฆฌ์์ค ์ด๋ฆ, ๋ณผ๋ฅจ, ๋คํฌ์ํฌ ์ฐ๊ฒฐ)์ ์ง์ ํด์ผ ํฉ๋๋ค.
ย
๋ฆฌ์์ค ์ด๋ฆ
๊ณต๋ฐฑ์์ด ์ผ๋ฐ ๋ฌธ์์ด(US-ASCII)๋ก ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
๋ณผ๋ฅจ
๋ฆฌ์์ค๋ ๊ณตํต์ ๋ณต์ ์คํธ๋ฆผ์ ๊ณต์ ํ๋ ํ๋ ์ด์์ ๋ณผ๋ฅจ์ผ๋ก ๊ตฌ์ฑ๋ ๋ณต์ ๊ทธ๋ฃน์ ๋๋ค. bsr์ ๋ฆฌ์์ค ๋ด์ ๋ชจ๋ ๋ณผ๋ฅจ์ ์ ํฉ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๋ณผ๋ฅจ์ ํ๋์ ์ฅ์น๋ช ์ผ๋ก ๊ธฐ์ ํฉ๋๋ค. ์๋์ฐ์ฆ์ ๊ฒฝ์ฐ ๋๋ผ์ด๋ธ ๋ ํฐ(drive letter)๋ก ์ง์ ํฉ๋๋ค.
ํ๋์ ๋ณต์ ์ ์๋ ๋ฐ์ดํฐ ๋ณต์ ๋ฅผ ์ํ ๋ณผ๋ฅจ ํ ๊ฐ์ ๋ณผ๋ฅจ๊ณผ ์ฐ๊ณ๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ณ๋์ ๋ณผ๋ฅจ์ด ํ์ํฉ๋๋ค. ๋ฉํ ๋ณผ๋ฅจ์ ๋ณต์ ๋ฅผ ์ํ ๋ด๋ถ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์ฉ๋๋ก ์ฌ์ฉํฉ๋๋ค.
๋ฉํ๋ฐ์ดํฐ๋ ์ ์ฅํ๋ ์์น์ ๋ฐ๋ผย ์ธ๋ถ ๋ฉํ ํ์(External Meta Type)๊ณผย ๋ด๋ถ ๋ฉํ ํ์(Internal Meta Type)์ผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ณต์ ๋์ ๋ณผ๋ฅจ์ ๋์คํฌ ๋ด์ ๋ฉํ ๋ฐ์ดํฐ๊ฐ ์์นํ๋ฉด ๋ด๋ถ ๋ฉํ์ด๊ณ , ๋ค๋ฅธ ์ฅ์น ๋๋ ๋ค๋ฅธ ๋์คํฌ์ ์์นํ๋ฉด ์ธ๋ถ ๋ฉํ์ ๋๋ค.
bsr์ ์ด์ ์ค ๋ณต์ I/O ์ ๋ฉํ ๋ฐ์ดํฐ ์ฐ๊ธฐ๊ฐ ๋์์ ์ํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ๋ฉด์์ ์ธ๋ถ ๋ฉํ ํ์์ด ๋ด๋ถ ๋ฉํ์ ๋นํด ์ ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฉํ ๋์คํฌ์ I/O์ฑ๋ฅ์ ๋ณต์ ์ฑ๋ฅ์ ์ง์ ์ ์ผ๋ก ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋๋ก ์ด๋ฉด ์ข์ ์ฑ๋ฅ์ ๋์คํฌ๋ก ๊ตฌ์ฑํ๋๊ฒ ์ข์ต๋๋ค.
๋ฉํ๋ฅผ ์ํ ๋ณผ๋ฅจ์ ํ์ผ์์คํ (NTFS ๊ฐ์)์ผ๋ก ํฌ๋งทํด์ ์๋๋ฉฐ RAW ์ํ๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
๋คํธ์ํฌ ์ฐ๊ฒฐ(Connection)
Connection์ ๋ ํธ์คํธ ์ฌ์ด์ย ๋ณต์ ๋ฐ์ดํฐ ์ธํธ๋ฅผย ์ํ ํต์ ๋งํฌ์ ๋๋ค.
๊ฐ ๋ฆฌ์์ค๋ค์ ์์ ๋ฉ์(full-mesh) ๋๋ ์คํ(star)ํ ๊ตฌ์ฑ ๋ฑ์ ๋ค์ค ํธ์คํธ๋ก ์ ์ํฉ๋๋ค.
์ฐ๊ฒฐ Name์ ํน๋ณํ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ bsradm ์์ค์์ย ๋ฆฌ์์ค Name์ผ๋ก ์๋ ์ง์ ๋ฉ๋๋ค.
ย
๋ฆฌ์์ค ์ญํ
๋ฆฌ์์ค๋ย ํ๋ผ์ด๋จธ๋ฆฌ(Primary)ย ๋๋ ์ธ์ปจ๋๋ฆฌ(Secondary)์ ์ญํ ์ ๊ฐ์ง๋๋ค.
Primary๋ ๋ฆฌ์์ค์ ์ ํ ์์ด ์ฝ๊ธฐ, ์ฐ๊ธฐ ์์ ์ ํ ์ ์์ต๋๋ค.
Secondary๋ ์๋ ๋ ธ๋๋ก๋ถํฐ ๋์คํฌ์ ๋ณ๊ฒฝ๋ ๋ชจ๋ ๋ด์ฉ์ ์์ ํ์ฌ ๊ธฐ๋กํ๋ฉฐ ๋ณผ๋ฅจ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์์ฉ ํ๋ก๊ทธ๋จ์์๋ Secondary ๋ณผ๋ฅจ์ ๋ํด์ ์ฝ๊ฑฐ๋ ์ธ ์ ์์ต๋๋ค.
๋ฆฌ์์ค์ ์ญํ ์ย bsr์ ํธ๋ฆฌํฐ ๋ช ๋ น์ ํตํด ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ฆฌ์์ค ์ญํ ์ Secondary์์ Primary๋ก ๋ณ๊ฒฝํ ๋ย ์น๊ฒฉ(Promotion)์ด๋ผ๊ณ ํ๊ณ ๋ฐ๋๋ ๊ฐ๋ฑ(Demotion)์ ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
๋ณต์ ํด๋ฌ์คํฐ
bsr์ ๋ณต์ ๋ฅผ ์ํ ๋ ธ๋๋ค์ ์งํฉ์ ๋ณต์ ํด๋ฌ์คํฐ๋ก ์ ์ํ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณต์ ํด๋ฌ์คํฐ ๋ฉค๋ฒ ์ค ํ๋์ ๋ ธ๋์์๋ง ํ๋ผ์ด๋จธ๋ฆฌ ๋ฆฌ์์ค ์ญํ ์ ํ ์ ์๋ ๋จ์ผ ํ๋ผ์ด๋จธ๋ฆฌ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. ๋ค์ค ํ๋ผ์ด๋จธ๋ฆฌ ๋ชจ๋๋ ์ง์ํ์ง ์์ต๋๋ค. ๋จ์ผ ํ๋ผ์ด๋จธ๋ฆฌ ๋ชจ๋ ์ฆ, Active-Passive ๋ชจ๋ธ์ย ํ์ผ์ค๋ฒ๋ฅผ ์ํ ๊ณ ๊ฐ์ฉย ํด๋ฌ์คํฐ์์ ๋ฐ์ดํฐ ์ ์ฅ๋งค์ฒด๋ฅผ ๋ค๋ฃจ๋ ํ์ค์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
๋ณต์ ๋ฐฉ์
bsr์ 3๊ฐ์ง ๋ณต์ ๋ฐฉ์์ ์ง์ํฉ๋๋ค.
๋๊ธฐ ๋ฐฉ์ (Protocol C)
๋๊ธฐ ๋ฐฉ์์ ๋ก์ปฌ๊ณผ ์๊ฒฉ ์์ชฝ ๋์คํฌ์ ๋ชจ๋ ์ฐ๊ธฐ๋ฅผ ์๋ฃํ ํ ๋ก์ปฌ ์ธก ์ฐ๊ธฐ๋ฅผ ์๋ฃํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ ํ์ชฝ ๋ ธ๋์์ ์์ค์ด ๋ฐ์ํ๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์ง ์์์ ๋ณด์ฅํฉ๋๋ค.
๋ฌผ๋ก , ์์ชฝ ๋ ธ๋(๋๋ ๋ ธ๋์ ์คํ ๋ฆฌ์ง ์๋ธ์์คํ ) ๋ชจ๋๊ฐ ๋์์ ๋๋๋ฆด ์ ์๋ ์์์ ์ ๋๋ค๋ฉด ๋ฐ์ดํฐ์ ์์ค์ ๋ถ๊ฐํผํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก HA ๋ฏธ๋ฌ๋ง ๊ตฌ์ฑ์์ย ๋๊ธฐ ๋ฐฉ์์ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋๊ธฐ ๋ฐฉ์ ๋ณต์ ๋ ๋ก์ปฌ๊ณผ ์๊ฒฉ๋ ธ๋์ ์ ํฉ์ฑ์ ์์ ํ ๋ณด์ฅํ์ง๋ง, ํ๋์ ์ฐ๊ธฐ I/O ์ ๋ํด ์๊ฒฉ๋ ธ๋๊ฐ ์ฐ๊ธฐ ์๋ฃํ ๋๊น์ง ๋๊ธฐํ๋ฏ๋ก ์ด์ ๋ฐ๋ฅธ ๋ก์ปฌ I/O์ ์ง์ฐ ์ฑ๋ฅ ์ ํ๋ ๊ฐ์ํด์ผ ํฉ๋๋ค.
๋ฐ๋๊ธฐ ๋ฐฉ์ (Protocol B)
๋ฐ๋๊ธฐ ๋ฐฉ์์ ๋ก์ปฌ ๋ ธ๋์์ ๋์คํฌ ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ๋ฉด ๋ณต์ ํจํท์ ์๋ ์ธก ๋ ธ๋์์ ์์ ์๋ฃํ ๋จ๊ณ์์ ๋ณต์ ์๋ฃ๋ก ๊ฐ์ฃผํฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ์ ์ฒด(Fail-over)์ ๋ฐ์ดํฐ ์์ค์ด ๋ฐ์๋์ง๋ ์๋ ํธ์ด์ง๋ง ์์ชฝ ๋ ธ๋์ ์ ์์ด ๋์์ ๋๊ฐ๊ฑฐ๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์์ ๋ณต๊ตฌํ ์ ์๋ ์์์ด ๋ฐ์ํ๋ค๋ฉด ๋ก์ปฌ์์ ๊ฐ์ฅ ์ต๊ทผ์ ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๋ ์์ค๋ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ๋ฐฉ์(Protocol A)
๋น๋๊ธฐ ๋ฐฉ์์ ๋ก์ปฌ ๋ ธ๋์์ ๋์คํฌ์ ์ฐ๊ธฐ๋ฅผ ๋ง์น๊ณ ๋์์ TCP์ ์ก์ ๋ฒํผ์ ์ฐ๊ธฐ๊ฐ ์๋ฃ ๋์์ ๋ ๋ณต์ ์๋ฃ๋ก ๊ฐ์ฃผํฉ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฐฉ์์ ์ ์ฒด(Fail-over)๋ฅผ ํ ๊ฒฝ์ฐ ๋ก์ปฌ์๋ ์ผ์ง๋ง ๋ฒํผ์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋๊ธฐ๋ ธ๋๋ก ์์ ํ ๋์ด๊ฐ์ง ๋ชปํ ์ ์์ต๋๋ค. ์ ์ฒด ํ ๋๊ธฐ๋ ธ๋์ย ๋ฐ์ดํฐ๋ ์ผ๊ด์ฑ์ ๊ฐ์ง์ง๋ง, ์ ์ฒด ์ ๋ฐ์ํ ์ฐ๊ธฐ์ ์ผ๋ถ ์ ์ก๋์ง ๋ชปํ ์ ๋ฐ์ดํธ ๋ด์ฉ์ ์์ค๋ ์ ์์ต๋๋ค. ์ด ๋ฐฉ์์ ๋ก์ปฌ I/O ์๋ต์ฑ๋ฅ์ด ์ข์ผ๋ฉฐ DR ์๊ฑฐ๋ฆฌ ๋ณต์ ํ๊ฒฝ์ ์ ํฉํ ๋ฐฉ์์ ๋๋ค.
ย
๋ณต์ ๋ฐฉ์์ ์ด์์ ์ฑ ์ ๊ฒฐ์ ํ๋ ์์์ธ ๋ฐ์ดํฐ ์ ํฉ์ฑ ์ฌ๋ถ์ ๋ก์ปฌ I/O ์ง์ฐ(Latency) ์ฑ๋ฅ,ย ์ฒ๋ฆฌ๋(Throughput) ๋ฑ์ ์ํด ๊ฒฐ์ ๋์ด์ผ ํฉ๋๋ค.
๋ณต์ ๋ชจ๋๋ฅผ ๊ตฌ์ฑํ๋ ์์ ๋ย ๊ตฌ์ฑย ๋ถ๋ถ์ย ์ฐธ๊ณ ํ์ธ์.
๋ณต์ ์ ์ก ํ๋กํ ์ฝ
bsr์ ๋ณต์ ์ ์ก ๋คํธ์ํฌ๋ TCP/IP ์ ์ก ํ๋กํ ์ฝ์ ์ง์ํฉ๋๋ค.ย
TCP(IPv4/v6)
bsr์ ๊ธฐ๋ณธ ์ ์ก ํ๋กํ ์ฝ์ด๋ฉฐ IPv4/v6๋ฅผ ์ง์ํ๋ ๋ชจ๋ ์์คํ ์์ ์ฌ์ฉํ ์ ์๋ ํ์ค ํ๋กํ ์ฝ ์ ๋๋ค.
ํจ์จ์ ์ธ ๋๊ธฐํ
Primary์ Secondary๊ฐ์ ์ฐ๊ฒฐ์ด ์ ์ง๋๋ฉด ๋ณต์ ๊ฐ ์ง์๋์ง๋ง ๋ ธ๋์์ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๋คํธ์ํฌ๊ฐ ๋จ์ ๋๋ ๋ฑ ๋ณต์ ์ฐ๊ฒฐ์ด ์ค๋จ๋๋ฉด ๋๊ธฐํ๊ฐ ํ์ํ ์ํฉ์ด ๋ฉ๋๋ค.
bsr์ ๋๊ธฐํ ํ ๋ ์๋ณธ I/O๊ฐ ๋์คํฌ์ ์ฐ์ฌ์ง ์์๋๋ก ๋ธ๋ญ์ ๋๊ธฐํํ์ง ์์ต๋๋ค. ๋์ ๋ฉํ๋ฐ์ดํฐ์ ์ ๋ณด๋ฅผ ํ ๋๋ก 0๋ฒ ์นํฐ ๋ถํฐ ๋ง์ง๋ง ์นํฐ๊น์ง ๋๊ธฐํ ๋์ง ์์ ์์ญ์ ๋ํด์ ์์ฐจ์ ๋๊ธฐํํฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ ํจ์จ์ฑ์ ๊ฐ์ต๋๋ค.
๋์คํฌ์ ๋ธ๋ญ ๋ ์ด์์์ ๋ฐ๋ผ๊ฐ๋ฉด์ ๋ธ๋ญ ๋จ์๋ก ๋๊ธฐํํ๋ฏ๋ก ๋์คํฌ ํ์์ ๊ฑฐ์ ์ํํ์ง ์์ต๋๋ค.
์ฌ๋ฌ ๋ฒ ์ฐ์์ ์ผ๋ก ์ฐ๊ธฐ ์์ ์ด ๋ฐ์ํ ๋ธ๋ญ์ ํ ๋ฒ๋ง ๋๊ธฐํํ๋ฏ๋ก ํจ์จ์ ์ ๋๋ค.
๋๊ธฐํํ๋ ์ค์๋ ๋๊ธฐ(Standby)๋ ธ๋์ ์ ์ฒด ๋ฐ์ดํฐ ์ ์ค ์ผ๋ถ๋ ๊ณผ๊ฑฐ์ ๋ณ๊ฒฝ ์ ๋ด์ฉ์ด๊ณ ์ผ๋ถ๋ ์ต์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ์ ์ํ๋ฅผ Inconsistentย ์ํ๋ผ๊ณ ํ๊ณ ๋ชจ๋ ๋ธ๋ญ์ด ์ต์ ๋ฐ์ดํฐ๋ก ๋๊ธฐํ ์๋ฃ๋ ์ํ๋ฅผ UpToDate ์ํ๋ผ๊ณ ํฉ๋๋ค. Inconsistent ์ํ์ ๋ ธ๋๋ ์ผ๋ฐ์ ์ผ๋ก ๋ณผ๋ฅจ์ด ์ฌ์ฉ ๊ฐ๋ฅํ์ง ์์ ์ํ์ด๋ฏ๋ก ์ด ์ํ๋ ๊ฐ๋ฅํ ์งง๊ฒ ์ ์งํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
๋ฌผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋๊ธฐํ๊ฐ ์งํ๋๋๋ผ๋ Active ๋ ธ๋์ ์์ฉ ์๋น์ค๋ ์ค๋จ๋๊ฑฐ๋ ํ์ง ์๊ณ ๊ณ์ ์ด์ ๊ฐ๋ฅ ํฉ๋๋ค.
๋ถ๋ถ ๋๊ธฐํ(Partial synchronization)
์ ์ฒด ๋๊ธฐํ๋ฅผ ํ ๋ฒ ์ํํ๊ณ ๋ ํ์๋ ํญ์ ๋๊ธฐํ ๋์ง ์์ ์์ญ(oos)์ ๋ํด์๋ง ๋ถ๋ถ ๋๊ธฐํํฉ๋๋ค.
๋น ๋ฅธ ๋๊ธฐํ(FastSync)
bsr ์ ๋ณผ๋ฅจ์์ ์ฌ์ฉํ๊ณ ์๋ ๋ถ๋ถ์ ๋ํด์๋ง ๋๊ธฐํ ํ๋ ๋น ๋ฅธ ๋๊ธฐํ(FastSync)๋ฅผ ๊ตฌํํฉ๋๋ค. FastSync ๋ก ๋์ํ์ง ์๋๋ค๋ฉด ์ ์ฒด ๋ณผ๋ฅจ์ ์์ญ์ ๋ํด์ ๋๊ธฐํ ํด์ผ ํ๋ฏ๋ก ๋ณผ๋ฅจ์ ํฌ๊ธฐ๊ฐ ํด ๊ฒฝ์ฐ ๋ง์ ๋๊ธฐํ ์๊ฐ์ ์์ํ๊ฒ ๋ฉ๋๋ค. FastSync ๋ ๋๊ธฐํ ์๊ฐ์ ํฌ๊ฒ ์ ์ฝํ ์ ์๋ bsr์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ๋๋ค.
์ฒดํฌ์ฌ ๊ธฐ๋ฐ ๋๊ธฐํ(Checksum-based synchronization)
์ฒดํฌ์ฌ ๋ฐ์ดํฐ ์์ฝ์ ์ฌ์ฉํ๋ฉด ๋๊ธฐํ ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ฑ์ ๋์ฑ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ฒดํฌ์ฌ ๊ธฐ๋ฐ ๋๊ธฐํ๋ ๋๊ธฐํํ๊ธฐ ์ ์ ๋ธ๋ก์ ์ฝ๊ณ ย ํ์ฌ ๋์คํฌ์ ์๋ ๋ด์ฉ์ ํด์(hash) ์์ฝ์ ๊ตฌํ ๋ค์, ์๋ ๋ ธ๋๋ก๋ถํฐ ๊ฐ์ ์นํฐ๋ฅผ ์ฝ์ด ๊ตฌํ ํด์ฌ ์์ฝ ๋ด์ฉ๊ณผ ๋น๊ตํฉ๋๋ค. ํด์ ๋ด์ฉ์ด ์ผ์นํ๋ฉด ํด๋น ๋ธ๋ญ์ ๋ํ ๋๊ธฐํ ์ฐ๊ธฐ(re-write)๋ฅผ ์๋ตํฉ๋๋ค. ์ด ๋ฐฉ์์ย ๋๊ธฐํ ํด์ผ ๋ ๋ธ๋ญ์ ๋จ์ํ ๋ฎ์ด์ฐ๋ ๋ฐฉ์์ ๋นํด ์ฑ๋ฅ์์ ์ ๋ฆฌํ ์ ์์ผ๋ฉฐ ์ฐ๊ฒฐ์ด ๋์ด์ง(disconnect ์ํ) ๋์ ํ์ผ ์์คํ ์ด ์นํฐ์ ๊ฐ์ ๋ด์ฉ์ ๋ค์ ์ผ๋ค๋ฉด ํด๋น ์นํฐ์ ๋ํด์ ์ฌ๋๊ธฐํ๋ฅผ ์๋ตํ๊ฒ ๋๋ฏ๋ก ์ ์ฒด์ ์ผ๋ก ๋๊ธฐํ ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์์ต๋๋ค.
๋๊ธฐํ ๋์ญ ์ง์
๋๊ธฐํ์ ๋ณต์ ๋ ๋์์ ์ํ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ์ ์ธก ๋์ ๊ฐ์ ๋์ญํญ ๊ฒฝ๊ณ๋ฅผ ์ง์ ํด์ผ ํฉ๋๋ค.
bsr์ ๋คํธ์ํฌ ๋์ญ ๋ด์์ ๋๊ธฐํ ๋์ญํญ์ ์ง์ ํ๋ฉด ๊ทธ ๋๋จธ์ง ๋์ญ์ ๋ณต์ ๋์ญ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๋๊ธฐํ ๋์์ด ์๋ค๋ฉด ๋ชจ๋ ๋์ญ์ ๋ณต์ ๋ก ์ฌ์ฉํฉ๋๋ค. ์ต์๊ฐ(c-min-rate)๊ณผ ์ต๋๊ฐ(c-max-rate)์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค.
๊ณ ์ ๋์ญ ๋๊ธฐํ(Fixed-rate synchronization)
๋๊ธฐํํ๋ ๋ฐ์ดํฐ ์๋๋ฅผ resync-rate ๊ฐ์ผ๋ก ๊ณ ์ ํฉ๋๋ค.
๊ฐ๋ณ ๋์ญ ๋๊ธฐํ(Variable-rate synchronization)
๊ฐ์ฉํ ๋คํธ์ํฌ์ ๋์ญํญ์ ๊ฐ์งํ ํ ๋ณต์ ์ฒ๋ฆฌ๋๊ณผ ์ค์ฌํ์ฌ c-min-rate ์์ c-max-rate ์ฌ์ด์์ ๋๊ธฐํ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ฐ๋ณ๋์ญ ๋๊ธฐํ์์์ resync-rate ๋ ์ด๊ธฐ ๋๊ธฐํ ๋์ญ๊ฐ์ ์๋ฏธ๋ง ๊ฐ์ง๋๋ค.
bsr์ ๊ฐ๋ณ๋์ญ ๋๊ธฐํ๋ฅผ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ํฉ๋๋ค.
์จ๋ผ์ธ ์ ํฉ์ฑ ๊ฒ์ฌ
์ฅ์น ์ด์ ์คย ๋ ธ๋ ๊ฐ์ ๋ธ๋ก ๋ณ ๋ฐ์ดํฐ์ ์ ํฉ์ฑ์ ํ์ธํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
ํ ์ชฝ ๋ ธ๋์์(verification source) ํน์ ๋ฆฌ์์ค ์คํ ๋ฆฌ์ง์์ ๋ชจ๋ ๋ฐ์ดํฐ ๋ธ๋ญ์ ์์ฐจ์ ์ผ๋ก ์ํธํ ์์ฝ(cryptographic digest)์ํค๊ณ , ์์ฝ๋ ๋ด์ฉ์ ์๋ ๋ ธ๋(verification target)๋ก ์ ์กํ์ฌ ๊ฐ์ ๋ธ๋ญ์์น์ ๋ด์ฉ์ ์์ฝ ๋น๊ต ํฉ๋๋ค. ๋ง์ฝ ์์ฝ๋ ๋ด์ฉ์ด ์ผ์นํ์ง ์์ผ๋ฉด, ํด๋น ๋ธ๋ญ์ out-of-sync๋ก ํ์๋๊ณ ๋์ค์ ๋๊ธฐํ ๋์์ด ๋ฉ๋๋ค. ๋น๊ตํ ๋์๋ ๋ธ๋ญ์ ์ ์ฒด ๋ด์ฉ์ด ์๋๋ผ ์ต์ํ์ ์์ฝ๋ณธ๋ง ์ ์กํ์ฌ ๋คํธ์ํฌ ๋์ญ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
์ ํฉ์ฑ ๊ฒ์ฌ๋ ์จ๋ผ์ธ ์ค์ ํ๊ธฐ ๋๋ฌธ์ ์จ๋ผ์ธ ๊ฒ์ฌ์ ๋ณต์ ๊ฐ ๋์์ ์ํ๋ ๊ฒฝ์ฐ ์ฝ๊ฐ์ ๋ณต์ ์ฑ๋ฅ ์ ํ๊ฐ ์์ ์ ์์ต๋๋ค. ํ์ง๋ง ์๋น์ค๋ฅผ ์ค๋จํ ํ์๊ฐ ์๊ณ ๊ฒ์ฌ ์ค ๋๋ ๊ฒ์ฌ ํ ๋๊ธฐํ ๊ณผ์ ์ค์ ์์คํ ์ ๋ค์ด ํ์์ด ๋ฐ์ํ์ง ์๋ ์ฅ์ ์ด ์์ต๋๋ค.ย
bsr์ FastSync ๋ฅผ ๊ธฐ๋ณธ ๋์์ผ๋ก ์ํํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๊ณ ์๋ ๋์คํฌ ์์ญ์ ๋ํด์๋ง ์จ๋ผ์ธ ๊ฒ์ฌ๋ฅผ ์ํํ์ฌ ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ ๋๋ค.
์จ๋ผ์ธ ์ ํฉ์ฑ ๊ฒ์ฌ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ย ์์ | ์จ๋ผ์ธ ์ ํฉ์ฑ ๊ฒ์ฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
ย
๋ณต์ ํธ๋ํฝ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ
bsr์ ์ํธํ ๋ฉ์์ง ์์ฝ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ ๋ ธ๋ ๊ฐ์ ๋ณต์ ํธ๋ํฝ์ ๋ํ ๋ฌด๊ฒฐ์ฑ์ ์ค์๊ฐ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด Primary๋ ๋ชจ๋ ๋ฐ์ดํฐ ๋ธ๋ก์ ๋ฉ์์ง ์์ฝ๋ณธ์ ์์ฑํ๊ณ ๊ทธ๊ฒ์ Secondary ๋ ธ๋์๊ฒ ์ ๋ฌํ์ฌ ๋ณต์ ํธ๋ํฝ์ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํฉ๋๋ค. ๋ง์ฝ ์์ฝ๋ ๋ธ๋ญ์ด ์ผ์นํ์ง ์์ผ๋ฉด ์ฌ์ ์ก์ ์์ฒญํฉ๋๋ค.
์คํ๋ฆฟ ๋ธ๋ ์ธ ๊ฐ์ง์ ๋ณต๊ตฌ
์คํ๋ฆฟ ๋ธ๋ ์ธ(Split brain)์ ํด๋ฌ์คํฐ ๋ ธ๋๋ค ์ฌ์ด์ ๋ชจ๋ ๋คํธ์ํฌ๊ฐ ๋จ์ ๋ ์ผ์์ ์ธ ์ฅ์ ์ํฉ์์ ํด๋ฌ์คํฐ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ ๊ด๋ฆฌ์์ ์๋ ๊ฐ์ ์ผ๋ก ์ธํด ๋ ๊ฐ ์ด์์ ๋ ธ๋๊ฐ Primary ์ญํ ์ ๊ฐ์ก๋ ์ํฉ์ ๋งํฉ๋๋ค. ์ด๊ฒ์ ๋ฐ์ดํฐ์ ๋ํ ์์ ์ด ์๋ ์ธก์ผ๋ก ๋ณต์ ๋์ง ์๊ณ ๊ฐ๊ฐ์ ๋ ธ๋์์ ์ด๋ฃจ์ด์ก๋ค๋ ๊ฒ์ ์์ํ๋ฉฐ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ ์ํฉ์ ๋๋ค. ์ด ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ๋ณํฉ๋์ง ๋ชปํ๊ณ ๋ ๊ฐ์ ๋ฐ์ดํฐ ์ ์ด ๊ณต์กดํ๋ ๋น์ ์ ์ํฉ์ ๋๋ค.
bsr ์ ์คํ๋ฆฟ ๋ธ๋ ์ธ์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์ด๋ฅผ ๋ณต๊ตฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฌธ์ ํด๊ฒฐ์ ์คํ๋ฆฟ ๋ธ๋ ์ธ ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ธ์.
ย
๋์คํฌ ์ํ
bsr์ ๋์คํฌ ์ํ๋ ๋๊ธฐํ ์ํ์ ๋ฐ๋ผ ๋ํ์ ์ผ๋ก ๋ค์์ ์ํ ์ค 1๊ฐ์ง๋ก ํ๊ธฐ ๋ฉ๋๋ค.
Diskless ๋ฐฑํน๋๋ฐ์ด์ค๊ฐ ๋ณต์ ๋์คํฌ๋ก ์ฅ์ฐฉ๋๊ธฐ(Attach) ์ ์ํ ์ด๊ฑฐ๋, I/O ์ฅ์ ๊ฐ ๋ฐ์ํ์ฌ ๋์คํฌ๊ฐ ๋ถ๋ฆฌ๋(Detach) ์ํ์ ๋๋ค.
UpToDate ๋์คํฌ ๋ฐ์ดํฐ๊ฐ ์ต์ ์ ๋ฐ์ดํฐ๋ก ์ ์ง๋๊ณ ์๋ ์ํ ์ ๋๋ค. ํ๊น์ ๋์คํฌ๊ฐ UpToDate ์ด๋ฉด ์ ์ฒด ๊ฐ๋ฅํ ์ํ์ ๋๋ค.
Outdated ํน์ ์์ ์ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ๋ณด์ ํ๊ณ ์์ผ๋ ์ต์ ์ ๋ฐ์ดํฐ๋ ์๋ ์ ์์ต๋๋ค. ๋ฏธ๋ฌ ์ฐ๊ฒฐ์ด ๋ช ์์ ์ผ๋ก ๋จ์ ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๊น์ ๋์คํฌ ์ํ๋ Outdated ์ ๋๋ค.
Inconsistent ๋๊ธฐํ๊ฐ ์๋ฃ๋์ง ์์ ๋ฐ์ดํฐ ์ ํฉ์ฑ์ด ๋ถ์ผ์น ํ ๊นจ์ง ๋ฐ์ดํฐ๋ฅผ ๋งํฉ๋๋ค. ํ๊น์ ๋์คํฌ๊ฐ Inconsistent ์ด๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฒด๊ฐ ๋ถ๊ฐ๋ฅํ ์ํ์ ๋๋ค.
bsr์ Inconsistentย ๋ฐ์ดํฐ์ย Outdatedย ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.ย Inconsistentย ๋ฐ์ดํฐ๋ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ฑฐ๋ ์ฌ์ฉํ ์ ย ์๋ ๋ฐ์ดํฐ๋ฅผ ๋งํฉ๋๋ค. ๋ํ์ ์ผ๋ก ๋๊ธฐํ ์งํ ์ค์ธ ํ๊น ์ชฝ ๋ฐ์ดํฐ๊ฐ Inconsistent ์ํ ์ ๋๋ค. ๋๊ธฐํ๊ฐ ์งํ ์ค์ธ ํ๊น ๋ฐ์ดํฐ๋ ์ผ๋ถ๋ ์ต์ ์ด์ง๋ง ์ผ๋ถ๋ ์ง๋ ์์ ์ ๋ฐ์ดํฐ ์ด๋ฏ๋ก ์ด๋ฅผ ํ ์์ ์ ๋ฐ์ดํฐ๋ก ๊ฐ์ฃผํ ์ ์์ต๋๋ค. ๋ํ ์ด ๋์๋ ์ฅ์น์ ์ ์ฌ๋ ํ์ผ์์คํ ์ด ๋ง์ดํธ(mount)๋ ์ ์๊ฑฐ๋ ํ์ผ์์คํ ์๋ ์ฒดํฌ ์กฐ์ฐจ๋ ํ ์ ์๋ ์ํ ์ผ ์ ์์ต๋๋ค.
Outdated ๋์คํฌ ์ํ๋ ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋ณด์ฅ๋์ง๋ง ์ต์ ์ด ์๋ ๋ฐ์ดํฐ์ผ ์ ์์ต๋๋ค. ์์์ ์ด๋ ์๊ตฌ์ ์ด๋ ๋ณต์ ๋งํฌ๊ฐ ์ค๋จ๋ ๋ ๋ฐ์ํฉ๋๋ค. ์ฐ๊ฒฐ์ด ๋์ด์ง Oudated ๋ฐ์ดํฐ๋ ๊ฒฐ๊ตญ ์ง๋ ์์ ์ ๋ฐ์ดํฐ ์ด๋ฏ๋ก ์น๊ฒฉ(promoting a resource)ํ๋ ๊ฒ์ย ๊ธฐ๋ณธ์ ์ผ๋กย ํ์ฉํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์์ ๋ฐ๋ผ(๊ธด๊ธํ ์ํฉ์์) Outdated ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ๋ก ์น๊ฒฉํ ์๋ ์์ต๋๋ค.
ย
๋์คํฌ I/O ์ค๋ฅ ์ฒ๋ฆฌ
๋์คํฌ ์ฅ๋น์์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ bsr์ ๋์คํฌ ์ฅ์ ์ ์ฑ ์ ์ฌ์ ์ค์ ์ ํตํด ํด๋น I/O ์ค๋ฅ๋ฅผ ์์ ๊ณ์ธต(๋๋ถ๋ถ ํ์ผ์์คํ )์ผ๋ก ๋จ์ํ ์ ๋ฌํด์ ์ฒ๋ฆฌํ๊ฑฐ๋ ๋ณต์ ๋์คํฌ๋ฅผ detach ํ์ฌ ๋ณต์ ๋ฅผ ์ค๋จํ๋๋ก ํฉ๋๋ค.
์ด์ ๊ด๋ จํ ์์ธํ ์ฌํญ์ ๋ฌธ์ ํด๊ฒฐ | ๋์คํฌ ์ฅ์ ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ธ์.