์ž‘์—…

๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œํ•˜๊ธฐ ๊นŒ์ง€์˜ ์ „๋ฐ˜์ ์ธ ๊ด€๋ฆฌ์ž‘์—…๊ณผ ๊ตฌ์„ฑํŒŒ์ผ์˜ ์ฃผ์š” ์„ค์ •์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ์ƒ์„ฑ

๋ฆฌ์†Œ์Šค ์ƒ์„ฑ์€ ์•ž ์ ˆ์—์„œ ์„ค๋ช…ํ•œ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑํŒŒ์ผ์„ ๊ตฌ์„ฑํ•ญ๋ชฉ์— ๋งž๊ฒŒ ์ค€๋น„ํ•˜๊ณ  ๋ฉ”ํƒ€๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”ํƒ€ ์ดˆ๊ธฐํ™”

๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ์˜ ๋ช…๋ น์œผ๋กœ ๋ฉ”ํƒ€ ์ดˆ๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

>bsradm create-md r0 initializing activity log NOT initializing bitmap Writing meta data... New bsr meta data block successfully created.

๋ฉ”ํƒ€์ดˆ๊ธฐํ™”๋Š” ๋ณต์ œ๋ฅผ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ถ€๊ฐ€ ์ •๋ณด๋“ค์„ ๋ฉ”ํƒ€๋””์Šคํฌ ์ƒ์—์„œ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์ž‘์—…์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ์ดˆ ๊ธฐ๋™ํ•˜๊ธฐ ์ „ ํ•œ๋ฒˆ ๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ ๋ฉ”ํƒ€๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜์ง€ ์•Š๊ณ  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™ํ•  ๊ฒฝ์šฐ ๋น„์ •์ƒ์ ์ธ ์šด์˜์ƒํ™ฉ์ด ๋˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๋ฒˆ ๊ตฌ์„ฑํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋ฉด ๊ตฌ์„ฑํŒŒ์ผ์ด ์‚ญ์ œ ๋˜๊ธฐ ์ „ ๊นŒ์ง€๋Š” ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์˜ ๊ตฌ์„ฑ ์ƒํƒœ๊ฐ€ ๊ณ„์† ์œ ์ง€๋˜๊ณ , ๊ตฌ์„ฑํŒŒ์ผ์„ ์‚ญ์ œํ•ด์•ผ ๋งŒ ๋…ธ๋“œ ์ƒ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”ํƒ€์ดˆ๊ธฐํ™”๊ฐ€ ๋˜๋ฉด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™ํ•  ์ค€๋น„๊ฐ€ ๋œ ์ƒํƒœ ์ž…๋‹ˆ๋‹ค.

ย 

๋ฆฌ์†Œ์Šค ๊ธฐ๋™

bsradm up ๋ช…๋ น์„ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. up ์€ ๋‚ด๋ถ€์ ์œผ๋กœ ๋‹ค์Œ์˜ ๊ณผ์ •์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ, ์ž‘์—…์ž ์“ฐ๋ ˆ๋“œ ๋“ฑ์˜ ์ž์›์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ ๋ณผ๋ฅจ์„ ์ ์žฌํ•˜๊ณ  ๊ตฌ์„ฑํŒŒ์ผ์— ์ง€์ •๋œ ์˜ต์…˜๋“ค์„ ๋ฆฌ์†Œ์Šค์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ƒ๋Œ€ํŽธ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

>bsradm up r0 >bsradm status r0 r0 role:Secondary disk:Inconsistent node0 role:Secondary peer-disk:Inconsistent

bsr ์˜ ์ƒํƒœ๋Š” bsradm status ๋ช…๋ น์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์กฐํšŒ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋ฆฌ์†Œ์Šค ํ• ๋‹น

๋ฆฌ์†Œ์Šค๋ฅผ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ์™€ ์ž‘์—…์ž ์“ฐ๋ ˆ๋“œ๋“ค์„ ํ• ๋‹นํ•˜๊ณ  ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค.

๋ณผ๋ฅจ ์ ์žฌ

๋ฆฌ์†Œ์Šค์— ๊ตฌ์„ฑ๋œ ๋ณผ๋ฅจ์„ ๋ณต์ œ๋ณผ๋ฅจ์œผ๋กœ ์ ์žฌ(attach)ํ•˜๊ณ  ๋ฉ”ํƒ€๋””์Šคํฌ์˜ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜์—ฌ ๋กœ๋“œํ•˜๊ณ  ๊ตฌ์„ฑํŒŒ์ผ์— ์„ค์ •๋œ ์˜ต์…˜๋“ค์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณผ๋ฅจ์˜ ์ ์žฌ๋Š” ๋ณ„๋„์˜ attach ๋ช…๋ น์œผ๋กœ๋„ ๊ฐœ๋ณ„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ ์—ฐ๊ฒฐ

์ ์žฌ๋œ ๋ณผ๋ฅจ์„ ํ”ผ์–ด๋…ธ๋“œ์˜ ๋ฆฌ์†Œ์Šค ๋ณผ๋ฅจ๊ณผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์ˆ˜๋ฆฝ๋˜๋ฉด ๋ณต์ œ ์ƒํƒœ๋Š” Established ๊ฐ€ ๋˜๊ณ  ๋ณต์ œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€๊ธฐ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ ํ”ผ์–ด ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ์„ ์•„์ง ์ค€๋น„ํ•˜๊ณ  ์žˆ์ง€ ์•Š์•˜๋‹ค๋ฉด ๋กœ์ปฌ์˜ ๋ฆฌ์†Œ์Šค๋Š” ์—ฐ๊ฒฐ ์‹œ๋„ ์ค‘(Connecting) ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ์—ฐ๊ฒฐ์€ ๊ฐœ๋ณ„ connect ๋ช…๋ น์œผ๋กœ๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค up ์˜ ๊ณผ์ •์ด ์œ„ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์—ˆ์„ ๋•Œ ๋ฆฌ์†Œ์Šค ๊ธฐ๋™์— ๋Œ€ํ•œ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ๊ธฐ๋™์˜ ๊ณผ์ • ์ค‘ ์ผ๋ถ€ ์ ˆ์ฐจ๊ฐ€ ์‹คํŒจํ•  ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค ๊ธฐ๋™์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ  bsr ๋กœ๊ทธ์™€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ๋“ฑ์„ ํ†ตํ•ด ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šน๊ฒฉ

๋ฆฌ์†Œ์Šค๋Š” Primary ๋˜๋Š” Secondary ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Primary ์—ญํ• ์˜ ๋ฆฌ์†Œ์Šค๋Š” ๋ณผ๋ฅจ ์žฅ์น˜์— ์ œํ•œ ์—†์ด ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ Secondary ์—ญํ• ์˜ ๋ฆฌ์†Œ์Šค๋Š” ์‚ฌ์šฉ์ž ๊ณ„์ธต์œผ๋กœ๋ถ€ํ„ฐ์˜ ๋ณผ๋ฅจ์žฅ์น˜๋กœ์˜ ์ ‘๊ทผ์ด ์™„์ „ํžˆ ์ฐจ๋‹จ๋˜๊ณ  Primary ๋กœ ๋ถ€ํ„ฐ ์ˆ˜์‹ ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์žฅ์น˜์— ๋ฐ˜์˜ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค๊ฐ€ ๊ธฐ๋™๋˜์—ˆ์„ ๋•Œ ๊ธฐ๋ณธ ์—ญํ• ์€ Secondary ์ด๋ฉฐ ์‚ฌ์šฉ์ž ๋ช…๋ น์— ์˜ํ•ด Primary ์—ญํ• ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์Šน๊ฒฉ(promote)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

bsrdadm primary <resource>

์ดˆ๊ธฐ ๋™๊ธฐํ™”

๋ฆฌ์†Œ์Šค๊ฐ€ ์ดˆ๊ธฐ ๊ธฐ๋™๋œ ์ƒํƒœ์—์„œ๋Š” ๋””์Šคํฌ์˜ ์ƒํƒœ๊ฐ€ ์–‘ ๋…ธ๋“œ Inconsistent ์ƒํƒœ์ด๋ฉฐ ์ด ์ƒํƒœ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋””์Šคํฌ๋ฅผ ์Šน๊ฒฉํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ตœ์ดˆ ์Šน๊ฒฉ์€ ๊ฐ•์ œ์˜ต์…˜์œผ๋กœ ์Šน๊ฒฉํ•˜๊ณ  ๊ฐ•์ œ์Šน๊ฒฉ ์ดํ›„ ์ž๋™์ ์œผ๋กœ ์ดˆ๊ธฐ ๋™๊ธฐํ™”๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๊ฐ•์ œ ์Šน๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์šดํŠธ ๋™์ž‘ ๊ด€๋ จ

๋งˆ์šดํŠธ ๋™์ž‘์— ๋Œ€ํ•œ Windows ์™€ Linux OS ๊ฐ„ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„  ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋ฅผ ์ง์ ‘ ์ˆ˜ํ–‰ํ•ด ์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ, ์œˆ๋„์šฐ์ฆˆ ํ™˜๊ฒฝ์—์„  ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ๋งˆ์šดํŠธ๊ฐ€ ์šด์˜์ฒด์ œ ์ˆ˜์ค€์—์„œ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋งˆ์šดํŠธ ๋ช…๋ น ์ž‘์—…์ด ํ•„์š”์น˜ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” ์Šน๊ฒฉ ํ›„ ๋งˆ์šดํŠธ๋ฅผ ์ถ”๊ฐ€๋กœ ์ˆ˜ํ–‰ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • bsr ์€ ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ(fsck)์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋งŒ์•ฝ ํŒŒ์ผ์‹œ์Šคํ…œ์ด ๊นจ์ ธ ์žˆ๋‹ค๋ฉด ์ดˆ๊ธฐ๋™๊ธฐํ™”๋ฅผ ์‹คํŒจ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊นจ์ง„ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ์ˆ˜๋™์œผ๋กœ ๋ณต๊ตฌํ•œ ํ›„ ๋ฆฌ์†Œ์Šค ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • bsr์˜ Fastsync๋Š” ์œ ํšจํ•œ ํŒŒ์ผ์‹œ์Šคํ…œ์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ๋™๊ธฐํ™” ์ „ ํŒŒ์ผ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•„์ˆ˜์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ ๋ณผ๋ฅจ์ด TB ๊ธ‰ ์ด์ƒ์˜ ๋Œ€์šฉ๋Ÿ‰์ผ ๊ฒฝ์šฐ ํŒŒ์ผ์‹œ์Šคํ…œ ๊ฒ€์‚ฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฉด ์ดˆ๊ธฐ๋™๊ธฐํ™”์˜ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ ๋‹จ๊ณ„์—์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฉ๋Ÿ‰ ํฐ ๋ณผ๋ฅจ์€ ๊ทธ๋งŒํผ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ ํŒŒ์ผ์‹œ์Šคํ…œ ๊ฒ€์‚ฌ๋Š” ๋ณ„๋„๋กœ ์ˆ˜ํ–‰ํ•˜๊ณ  bsradm --force primary ๋ช…๋ น์—์„œ ํŒŒ์ผ์‹œ์Šคํ…œ ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋„๋Š” --skip-check-fs ์˜ต์…˜์˜ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.

๊ฐ•๋“ฑ

Primary ์—ญํ• ์—์„œ Secondary ์—ญํ• ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋“ฑ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์šดํŠธ ํ•ด์ œ์™€ ๋ฆฌ์†Œ์Šค ๊ฐ•๋“ฑ์€ bsr์˜ ๋ช…๋ น ๋™์ž‘ ์ค‘ ๊ฐ€์žฅ ๋ถ€ํ•˜๊ฐ€ ํฐ ์ž‘์—…์œผ๋กœ Secondary ๋กœ ์—ญํ• ์„ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ๊ณผ ํ•จ๊ป˜ ๋ณต์ œ ๊ณ„๋ฅ˜ ์ค‘์ธ ๋ฐ์ดํ„ฐ๋“ค์„ ํƒ€๊นƒ ์ธก์œผ๋กœ ๋ชจ๋‘ ๋ฐ˜์˜ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ณต์ œ ์†Œ์Šค์™€ ํƒ€๊นƒ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์ผ์น˜์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ๋™์ž‘ ๊ตฌ์กฐ๋กœ, ๊ฐ•๋“ฑ์ด ์™„๋ฃŒ๋œ ์‹œ์ ์˜ Primary ์™€ Secondary ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋งˆ์šดํŠธ ํ•ด์ œ, ๊ฐ•๋“ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ ˆ์ฐจ์—์„  ๋ณต์ œ ๊ณ„๋ฅ˜์ค‘์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ€๊นƒ์— ๋ชจ๋‘ ๋ฐ˜์˜ํ•˜๋Š”๋ฐ ๋”ฐ๋ฅด๋Š” ์ผ์ • ์ •๋„์˜ ๋Œ€๊ธฐ์‹œ๊ฐ„์„ ์—ผ๋‘์— ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ย 

๋ฆฌ์†Œ์Šค ์ค‘์ง€

bsradm down ๋ช…๋ น์„ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. down ์€ ์•ž์„œ ์„ค๋ช…ํ•œ ๋ฆฌ์†Œ์Šค up ๊ณผ์ •์˜ ์—ญ์ˆœ์— ๋”ฐ๋ผ ์ค‘์ง€๊ฐ€ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋งŒ์•ฝ ๋ฆฌ์†Œ์Šค๊ฐ€ ์Šน๊ฒฉ๋œ ์ƒํƒœ ์˜€๋‹ค๋ฉด ๊ฐ•๋“ฑ์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•˜๊ณ  ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ๋ฆฌ์†Œ์Šค ๊ฐ•๋“ฑ, ๋ณต์ œ ๋‹จ์ ˆ, ๋ณผ๋ฅจ ๋ถ„๋ฆฌ(detach), ๋ฆฌ์†Œ์Šค ํ•ด์ œ์˜ ์ˆœ์œผ๋กœ down ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ๊ฐ•๋“ฑ

๋ฆฌ์†Œ์Šค๊ฐ€ ์Šน๊ฒฉ๋œ ์ƒํƒœ์˜€๋‹ค๋ฉด ๋จผ์ € ๊ฐ•๋“ฑ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ ๋‹จ์ ˆ

๋ณต์ œ ์—ฐ๊ฒฐ์„ ๋‹จ์ ˆํ•˜์—ฌ ๋ณต์ œ๋ฅผ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ ๋‹จ์ ˆ์€ disconnect ๊ฐœ๋ณ„ ๋ช…๋ น์œผ๋กœ๋„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋™๊ธฐํ™”๋‚˜ ๋ณต์ œ๊ฐ€ ์ง„ํ–‰ ์ค‘์ผ ๋•Œ ๋ณต์ œ ๋‹จ์ ˆ์„ ์‹œ๋„ํ•  ๊ฒฝ์šฐ ๋‹จ์ ˆ์€ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์œ ์˜ˆ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณต์ œ๋ฅผ ๋‹จ์ ˆํ•˜๋Š” ๋ช…๋ น์ด ๋กœ์ปฌ๊ณผ ํ”ผ์–ด๋…ธ๋“œ์—๊ฒŒ ๋ชจ๋‘ ์ „๋‹ฌ๋˜๋Š” ๋ช…๋ น์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ ๋ณต์ œ๋ฅผ ์œ„ํ•ด ๋ฒ„ํผ๋ง๋œ ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ์„ ๊ฒฝ์šฐ ์ˆœ์ฐจ์ ์ฒ˜๋ฆฌ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ๋ช…๋ น์ „๋‹ฌ์ด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ง€์—ฐ์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ์—๋Š” --force ์˜ต์…˜์„ ํ†ตํ•ด ๋กœ์ปฌ์—์„œ ๊ฐ•์ œ๋กœ ์—ฐ๊ฒฐ์„ ๋‹จ์ ˆํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์ œ๋กœ ๋‹จ์ ˆํ•˜๊ฒŒ ๋˜๋ฉด ์—ฐ๊ฒฐ์„ ๋น ๋ฅด๊ฒŒ ๋Š์„ ์ˆ˜๋Š” ์žˆ์œผ๋‚˜ ๋ณต์ œ๋‚˜ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ๊ณ„๋ฅ˜์ค‘์ธ ๋ฐ์ดํ„ฐ๋“ค์ด ๋ชจ๋‘ ๋ฒ„๋ ค์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์— ๋Œ€ํ•œ OOS(Out-Of-Sync) ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์€ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณผ๋ฅจ ๋ถ„๋ฆฌ

๋ณต์ œ ๋ณผ๋ฅจ์œผ๋กœ ์ ์žฌํ–ˆ๋˜ ๋ณผ๋ฅจ์„ ๋ถ„๋ฆฌํ•˜๊ณ  ๋ฉ”ํƒ€๋””์Šคํฌ์— ๊ด€๋ จ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ฆฌ(detach)๋Š” ๊ฐœ๋ณ„ ๋ช…๋ น์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ Primary ๋ฆฌ์†Œ์Šค์˜ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ๋ถ„๋ฆฌ๋Š” ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•ด์ œ

๋ฆฌ์†Œ์Šค๋ฅผ ์œ„ํ•ด ํ• ๋‹น ํ–ˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ ์ž์›๋“ค์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์„ค์ •

๋™์  ์„ค์ •

bsr ์˜ ๋ฆฌ์†Œ์Šค ์†์„ฑ๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์šด์˜ ์ค‘ ์„ค์ • ๋ณ€๊ฒฝ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ด์„œ bsradm adjust ๋ช…๋ น์„ ํ†ตํ•ด ์„ค์ •์„ ์ฆ‰์‹œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ํ”„๋กœํ† ์ฝœ์„ ์šด์˜ ์ค‘ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด์„  ๋‹ค์Œ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ •์  ์„ค์ •

๋ณต์ œ ๊ตฌ์„ฑ์„ ์œ„ํ•œ ํ•„์ˆ˜ ์„ค์ •(๋…ธ๋“œ ID, ๋ณผ๋ฅจ ์ •๋ณด ๋“ฑ)๋“ค์— ๋Œ€ํ•ด์„  ๋™์  ์„ค์ •์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑํŒŒ์ผ์˜ ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ ํ›„ ๋ฆฌ์†Œ์Šค๋ฅผ ์žฌ ๊ธฐ๋™ํ•˜์—ฌ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ย 

๋ฆฌ์†Œ์Šค ์žฌ๊ตฌ์„ฑ

์ „์ฒด ์žฌ๊ตฌ์„ฑ

๋””์Šคํฌ ํŒŒ์† ๋“ฑ ์žฅ์•  ๋ณต๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ํ•„์š”์— ๋”ฐ๋ผ ๊ตฌ์„ฑ์„ ์™„์ „ํžˆ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค ์ „์ฒด๋ฅผ ์žฌ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋จผ์ € ์šด์˜ ์ค‘์ธ ๋ฆฌ์†Œ์Šค๋ฅผ down ํ•œ ํ›„ ๊ตฌ์„ฑํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ”ํƒ€ ์žฌ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ณ  ๋ฆฌ์†Œ์Šค๋ฅผ ์žฌ๊ธฐ๋™ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ดˆ๊ธฐ ๋™๊ธฐํ™”(๊ฐ•์ œ ์Šน๊ฒฉ)์˜ ์ ˆ์ฐจ๋ฅผ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ย 

ย 

๋ณผ๋ฅจ ํฌ๊ธฐ ์กฐ์ •

๊ตฌ์„ฑ๋œ ๋ฆฌ์†Œ์Šค์˜ ๋ณผ๋ฅจ์€ ์šด์˜์ƒํ™ฉ์— ๋”ฐ๋ผ ํฌ๊ธฐ๋ฅผ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ๋ณต์ œ ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ ์กฐ์ •์€ ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ์ฐจ์ด๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ณผ๋ฅจ ํ™•์žฅ์€ ์„œ๋น„์Šค ์šด์˜ ์ค‘์— ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ณผ๋ฅจ ์ถ•์†Œ๋Š” ๋ฆฌ์†Œ์Šค ์˜คํ”„๋ผ์ธ ํ›„ ์ „์ฒด ์žฌ๊ตฌ์„ฑ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œˆ๋„์šฐ์ฆˆ

๋‹ค์Œ์˜ ์ˆœ์„œ๋กœ ๋ณผ๋ฅจ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ณต์ œ ์—ฐ๊ฒฐ์„ ๋Š๊ณ (disconnect) ์–‘ ๋…ธ๋“œ๋ฅผ Primary ์ƒํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค(Secondary ์ƒํƒœ์—์„  ๋ณผ๋ฅจ์ด ์ž ๊ฒจ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ์กฐ์ •์„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค).

  2. ์–‘ ๋…ธ๋“œ๋ฅผ Primary ๋กœ ์Šน๊ฒฉํ•˜๋ฉด ๋ณต์ œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์Šคํ”Œ๋ฆฟ๋ธŒ๋ ˆ์ธ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  3. ์–‘ ์ธก ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

  4. ์›๋ž˜ Secondary ์˜€๋˜ ๋…ธ๋“œ๋ฅผ ๊ฐ•๋“ฑํ•ฉ๋‹ˆ๋‹ค.

  5. Secondary ๋…ธ๋“œ๋ฅผ ํฌ์ƒ๋…ธ๋“œ๋กœ ํ•˜์—ฌ ์Šคํ”Œ๋ฆฟ ๋ธŒ๋ ˆ์ธ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „์ฒด ๋ณต์ œ ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ๊ฐ€ ๋Š˜์–ด๋‚˜๊ณ  ์ƒˆ๋กญ๊ฒŒ ๋Š˜์–ด๋‚œ ํฌ๊ธฐ์˜ ๋ณผ๋ฅจ ์˜์—ญ๋งŒํผ ์†Œ์Šค ๊ธฐ์ค€์œผ๋กœ ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ…์Šค

๋ฆฌ๋ˆ…์Šค์—์„œ ์˜จ๋ผ์ธ ๋ณผ๋ฅจ ํ™•์žฅ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด bsr์˜ ๋ธ”๋Ÿญ์žฅ์น˜๊ฐ€ LVM ๊ณผ ํ•จ๊ป˜ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์†Œ์Šค์™€ ํƒ€๊นƒ ๋…ธ๋“œ๋Š” ๋ณต์ œ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ Connected ์ƒํƒœ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ๋…ธ๋“œ๋ฅผ Primary ์ƒํƒœ๋กœ ๋‘๊ณ  ์–‘ ๋…ธ๋“œ์˜ ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ๋ฅผ LVM์„ ํ†ตํ•ด ๋Š˜๋ฆฐ ํ›„ ํ•œ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ์˜ ๊ณผ์ •์„ ํ†ตํ•ด ์ƒˆ๋กญ๊ฒŒ ๋Š˜์–ด๋‚œ ํฌ๊ธฐ๋ฅผ bsr ์— ์ธ์‹์‹œํ‚ต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” LV ๋กœ ๊ตฌ์„ฑ๋œ 580MB ํฌ๊ธฐ๋กœ ๊ตฌ์„ฑ๋œ ๋ณผ๋ฅจ์„ ํ™•์žฅํ•˜๋Š” ์˜ˆ ์ž…๋‹ˆ๋‹ค.

  1. LV ๊ตฌ์„ฑ. ๊ธฐ์กด ์‚ฌ์ด์ฆˆ๋Š” 580M๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ

  2. conf ๊ตฌ์„ฑ. /dev/local/r0 ๊ฐ€ /dev/bsr0์˜ backing device๋กœ ๊ตฌ์„ฑ๋œ ์ƒํƒœ

  3. LV ๋ณผ๋ฅจ ํ™•์žฅ์„ ์œ„ํ•ด PV ์ถ”๊ฐ€ ์ƒ์„ฑ

  4. VG ํ™•์žฅ

  5. LV๋ฅผ 1.5GB ๋กœ ํ™•์žฅ

  6. 3~5๋ฒˆ ๋‹จ๊ณ„๋ฅผ ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋™์ผํ•˜๊ฒŒ ์ˆ˜ํ–‰

  7. ํ™•์žฅ๋œ size ๋ฅผ resize ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ bsr ์—๊ฒŒ ์•Œ๋ฆผ (primary ๋…ธ๋“œ์—์„œ ์ˆ˜ํ–‰)

  8. resize ๋ช…๋ น ์‹คํ–‰ ํ›„ ํ™•์žฅ๋œ ์˜์—ญ์— ๋Œ€ํ•ด ๋ถ€๋ถ„ ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰๋˜๋ฉฐ, size ๊ฐ’์ด 593920์—์„œ 1572864์œผ๋กœ ์ฆ๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

  9. LV ํ™•์žฅ๊ณผ resize ๋ช…๋ น๊นŒ์ง€ ์„ฑ๊ณตํ•˜์˜€๋‹ค๋ฉด resize2fs ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ filesystem์„ ํ™•์žฅ์‹œ์ผœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. (primary ๋…ธ๋“œ์—์„œ ์‹คํ–‰)

๋ณผ๋ฅจ์˜ ๋Š˜์–ด๋‚œ ์˜์—ญ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋™๊ธฐํ™”๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ์‚ญ์ œ

๋ฆฌ์†Œ์Šค ์‚ญ์ œ๋Š” ๊ตฌ์„ฑํŒŒ์ผ ์‚ญ์ œ ํ›„ ๋ฉ”ํƒ€๋ฅผ ์™„์ „ํžˆ ํ๊ธฐํ•˜๋Š” ๊ฒƒ ๊นŒ์ง€๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์˜ ์ ˆ์ฐจ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  • ์šด์˜ ์ค‘์ธ ๋ฆฌ์†Œ์Šค๋ฅผ down ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑํŒŒ์ผ์„ ์‚ญ์ œ ํ•ฉ๋‹ˆ๋‹ค.

  • Windows ์˜ ๊ฒฝ์šฐ bsrcon /release_vol ์„ ํ†ตํ•ด ๋ณต์ œ ๋ณผ๋ฅจ์—์„œ ์ œ์™ธํ•˜๊ณ  ๋ณผ๋ฅจ๋ฝ์„ ํ•ด์ œํ•ฉ๋‹ˆ๋‹ค.

  • wipe-md ๋ช…๋ น์œผ๋กœ ๋ฉ”ํƒ€๋ฅผ ์™„์ „ํžˆ ์ง€์›๋‹ˆ๋‹ค. (bsr 1.7 ์ดํ›„๋กœ wipe-md ๋Š” /release_vol ๋ช…๋ น ์‹œ์ ์— ์ž๋™ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.)

ย 

์กฐํšŒ

๋ฒ„์ „

bsradm /V ๋ช…๋ น์„ ํ†ตํ•ด bsr์˜ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ย 

์ƒํƒœ์ •๋ณด

๊ธฐ๋ณธ์ ์ธ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ธ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ์ƒํƒœ์™€ ๋ณต์ œ์ƒํƒœ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์–‘ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๊ธฐ ์ „ ๊นŒ์ง€๋Š” ์—ฐ๊ฒฐ์ƒํƒœ๊ฐ€ StandAlone ์—์„œ Connecting ์‚ฌ์ด์—์„œ ๋ณ€ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋œ ์ดํ›„๋Š” ์—ฐ๊ฒฐ์ƒํƒœ๊ฐ€ Connected๋กœ ์œ ์ง€๋˜๊ณ , ๋ณต์ œ ์ƒํƒœ๋Š” Established ์—์„œ ๋ถ€ํ„ฐ ์šด์˜์ƒํ™ฉ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒํƒœ๋กœ ์ „ํ™˜ ๋ฉ๋‹ˆ๋‹ค.

๋ณต์ œ ์ƒํƒœ๋Š” ํŠน์ • ์‹œ์ ์— ํ•˜๋‚˜์˜ ์ƒํƒœ๋งŒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๋…ธ๋“œ๊ฐ€ ์†Œ์Šค ์ƒํƒœ์ด๋ฉด ํ”ผ์–ด๋…ธ๋“œ๋Š” ํƒ€๊นƒ์˜ ์ƒํƒœ์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋ฆฌ์†Œ์Šค์˜ ์—ญํ• ์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ ์ž…๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์˜ ์—ญํ• ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • Primary. ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋งŒ ์ด ์—ญํ• ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Secondary. primary ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋””์Šคํฌ ๋ณ€๊ฒฝ ๋ถ„์„ ์—…๋ฐ์ดํŠธ ํ•˜๋ฉฐ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์ž…๋‹ˆ๋‹ค.

  • Unknown. ๋ฆฌ์†Œ์Šค์˜ ์—ญํ• ์„ ์•Œ ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย disconnected ๋ชจ๋“œ์—์„œ ์ƒ๋Œ€ ๋…ธ๋“œ์˜ ์—ญํ• ์„ ํ‘œ์‹œํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋กœ์ปฌ ๋…ธ๋“œ์˜ ์—ญํ• ์„ ํ‘œ์‹œํ•  ๋•Œ๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋””์Šคํฌ์˜ ์ƒํƒœ ์ž…๋‹ˆ๋‹ค.

๋กœ์ปฌ ๋ฐ ์›๊ฒฉ ๋””์Šคํฌ์˜ ์ƒํƒœ๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • Diskless. ๋กœ์ปฌ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๊ฐ€ bsr ๋“œ๋ผ์ด๋ฒ„์— ํ• ๋‹น๋˜์ง€ ์•Š์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฐฑ์—… ๋””๋ฐ”์ด์Šค์— ์ ์žฌ๋œ ์ ์ด ์—†๊ฑฐ๋‚˜, bsradm detach <resource> ๋ช…๋ น์œผ๋กœ ์ˆ˜๋™ ๋ถ„๋ฆฌ๋˜์—ˆ๊ฑฐ๋‚˜, lower-level I/O ์˜ค๋ฅ˜ ํ›„์— ์ž๋™์œผ๋กœ ๋ถ„๋ฆฌ๋œ ๊ฒฝ์šฐ ์ด ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • Attaching. ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋™์•ˆ์˜ ์ผ์‹œ์ ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • Failed. ๋กœ์ปฌ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค์˜ I/O ์‹คํŒจ ๋ณด๊ณ ์— ๋”ฐ๋ฅธ ์ผ์‹œ์ ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ๋Š”ย Diskless ์ž…๋‹ˆ๋‹ค.

  • Negotiating. ์ด๋ฏธ ์—ฐ๊ฒฐ๋œ ๋””๋ฐ”์ด์Šค์—์„œย Attach ๊ฐ€ ์‹คํ–‰๋˜์—ˆ์„ ๋•Œ ์ผ์‹œ์ ์œผ๋กœ ์ด ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  • Inconsistent.ย ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์ผ์น˜ํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ์„ฑํ–ˆ์„ ๊ฒฝ์šฐ ์–‘ ๋…ธ๋“œ์˜ ๋””์Šคํฌ๋Š” ์ด ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋˜๋Š”ย ๋™๊ธฐํ™” ์ค‘์ธ ํƒ€๊ฒŸ ๋…ธ๋“œ์˜ ๋””์Šคํฌ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • Outdated. ๋ฆฌ์†Œ์Šค์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ์น˜ํ•˜์ง€๋งŒ, ์ตœ์‹  ๋ฐ์ดํ„ฐ๋Š” ์•„๋‹Œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • DUnknown. ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ์›๊ฒฉ ๋””์Šคํฌ์˜ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • Consistent. ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋Š” ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋Š” ์ผ์น˜ํ•œ ์ƒํƒœ๋กœ ๊ฐ„์ฃผ๋œ ์ผ์‹œ์  ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋˜๋ฉด,ย UpToDateย ์ธ์ง€ย Outdatedย ์ธ์ง€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

  • UpToDate. ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์ด ์ผ์น˜ํ•˜๊ณ  ์ตœ์‹ ์˜ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ๋ณต์ œ ์ค‘์˜ ์ผ๋ฐ˜์ ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย 

์ด๋ฒคํŠธ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์œผ๋กœ ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ๋ฐœ์ƒ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. events2 ๋ช…๋ น์€ '--statistics',ย '--timestamp'ย ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ https://mantech.jira.com/wiki/spaces/B/pages/3277422597 ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

ํšจ์œจ์ ์ธ ๋™๊ธฐํ™”

bsr ์—์„  ํšจ์œจ์ ์ธ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด FastSync, ์ฒดํฌ์„ฌ ๊ธฐ๋ฐ˜์˜ ๋™๊ธฐํ™”, ์šด์†ก๋™๊ธฐํ™”, ๋น„ํŠธ๋งต ์ œ๊ฑฐ ๋™๊ธฐํ™” ๋“ฑ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

FastSync

bsr์€ ๋””์Šคํฌ ์ „์ฒด ์˜์—ญ์„ ๋Œ€์ƒ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ์กด ์ „์ฒด ๋™๊ธฐํ™” ๋ฐฉ์‹์„ ํŒŒ์ผ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉํ•˜๋Š” ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋งŒ ๋™๊ธฐํ™”ํ•˜๋Š” ๋น ๋ฅธ ๋™๊ธฐํ™”(FastSync)๋ฅผ ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ๋ณ€๊ฒฝํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1TB ๋””์Šคํฌ์—์„œ 100MB ๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด 100MB ๋””์Šคํฌ ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋งŒ ๋™๊ธฐํ™” ํ•˜๋ฏ€๋กœ ๊ธฐ์กด ์ „์ฒด ๋™๊ธฐํ™”(1TB)์— ๋น„ํ•ด 10๋ฐฐ ๋น ๋ฅด๊ฒŒ ์ดˆ๊ธฐ๋™๊ธฐํ™”๋ฅผ ๋งˆ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. FastSync ๋Š” ๋‹ค์Œ ์‹œ์ ์— ๊ธฐ๋ณธ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  • ์ดˆ๊ธฐ ์ „์ฒด ๋™๊ธฐํ™”(bsradm primary --force)

  • ์ˆ˜๋™ ์ „์ฒด ๋™๊ธฐํ™”(invalidate/invalidate-remote)

  • ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ(bsradm verify)

์ฒดํฌ์„ฌ ๊ธฐ๋ฐ˜ ๋™๊ธฐํ™”

์ฒดํฌ์„ฌ ๋ฐ์ดํ„ฐ ์š”์•ฝ์„ ์‚ฌ์šฉํ•˜๋ฉด bsr์˜ ๋™๊ธฐํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํšจ์œจ์„ฑ์„ ๋”์šฑ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌ์„ฌ ๊ธฐ๋ฐ˜ ๋™๊ธฐํ™”๋Š” ๋™๊ธฐํ™”ํ•˜๊ธฐ ์ „์— ๋ธ”๋ก์„ ์ฝ๊ณ ย ํ˜„์žฌ ๋””์Šคํฌ์— ์žˆ๋Š” ๋‚ด์šฉ์˜ ํ•ด์‹œ(hash) ์š”์•ฝ์„ ๊ตฌํ•œ ๋‹ค์Œ, ์ƒ๋Œ€ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๊ฐ™์€ ์„นํ„ฐ๋ฅผ ์ฝ์–ด ๊ตฌํ•œ ํ•ด์‰ฌ ์š”์•ฝ ๋‚ด์šฉ๊ณผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ๋‚ด์šฉ์ด ์ผ์น˜ํ•˜๋ฉด ํ•ด๋‹น ๋ธ”๋Ÿญ์— ๋Œ€ํ•œ ๋™๊ธฐํ™” ์“ฐ๊ธฐ(re-write)๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋™๊ธฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ย ๋™๊ธฐํ™” ํ•ด์•ผ๋  ๋ธ”๋Ÿญ์„ ๋‹จ์ˆœํžˆ ๋ฎ์–ด์“ฐ๋Š” ๊ธฐ์กด ๋ฐฉ์‹์— ๋น„ํ•ด ์„ฑ๋Šฅ์—์„œ ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ ธ ์žˆ๋Š”(disconnect ์ƒํƒœ) ๋™์•ˆ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์„นํ„ฐ์— ๊ฐ™์€ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ผ๋‹ค๋ฉด ํ•ด๋‹น ์„นํ„ฐ์— ๋Œ€ํ•ด์„  ์žฌ๋™๊ธฐํ™”๋ฅผ ์ƒ๋žตํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ์ „์ฒด์ ์œผ๋กœ ๋™๊ธฐํ™” ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒดํฌ์„ฌ ๊ธฐ๋ฐ˜ ๋™๊ธฐํ™”๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์–‘ ๋…ธ๋“œ์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

resource <resource>
net {
csums-alg <algorithm>;
}
...
}
<algorithm>์€ ์‹œ์Šคํ…œ ์ปค๋„ ๊ตฌ์„ฑ์—์„œ ์ปค๋„ ์•”ํ˜ธํ™” API๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ฉ”์‹œ์ง€ ๋‹ค์ด์ œ์ŠคํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ SHA1, MD5, CRC32C ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Windows ๋Š” CRC32 ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์šด์†ก ๋™๊ธฐํ™”

๋””์Šคํฌ๋ฅผ ์ง์ ‘ ๊ฐ€์ ธ์™€์„œ ๊ตฌ์„ฑํ•˜๋Š” ์šด์†ก ๋™๊ธฐํ™”๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํ™ฉ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

  • ์ดˆ๊ธฐ ๋™๊ธฐํ™” ํ•  ๋ฐ์ดํ„ฐ์˜ ๋Ÿ‰์ด ๋งค์šฐ ํฐ ๊ฒฝ์šฐ(์ˆ˜๋ฐฑ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ์ด์ƒ)

  • ๊ฑฐ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ์— ๋น„ํ•ด ๋ณต์ œํ•  ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”์œจ์ด ์ ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๊ฒฝ์šฐ

  • ์†Œ์Šค, ํƒ€๊นƒ ์‚ฌ์ดํŠธ๊ฐ„ ๊ฐ€์šฉ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์ด ์ œํ•œ์ ์ธ ๊ฒฝ์šฐ

์œ„์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์ง์ ‘ ๋””์Šคํฌ๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ๋™๊ธฐํ™” ํ•˜์ง€ ์•Š๊ณ  ์ผ๋ฐ˜์ ์ธ ๋””๋ฐ”์ด์Šค ๋™๊ธฐํ™” ๋ฐฉ๋ฒ•์œผ๋กœ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด ๋™๊ธฐํ™”๋ฅผ ํ•˜๋Š” ๋™์•ˆ ๋งค์šฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋””์Šคํฌ ํฌ๊ธฐ๊ฐ€ ํฌ๊ณ  ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง์ ‘ ๋ณต์‚ฌํ•˜์—ฌ ์ดˆ๊ธฐํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์šด์†ก๋™๊ธฐํ™”๊ฐ€ ํšจ์œจ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ ํ•œ๊ฐ€์ง€ ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Primary์ธ ์ƒํƒœ๋กœ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋””๋ฐ”์ด์Šค ๊ตฌ์„ฑ์€ ์™„๋ฃŒ๋˜์—ˆ๊ณ  ๋™์ผํ•œ bsr.conf ์‚ฌ๋ณธ์€ ์–‘ ๋…ธ๋“œ์— ๋ชจ๋‘ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋…ธ๋“œ์—์„œย ์ดˆ๊ธฐ ๋ฆฌ์†Œ์Šค ์Šน๊ฒฉ(initial resource promotion)์„ ์œ„ํ•œ ๋ช…๋ น๋“ค์€ ์‹คํ–‰ํ–ˆ์ง€๋งŒ ๋ฆฌ๋ชจํŠธ ๋…ธ๋“œ๋Š” ์•„์ง ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ ๋Œ€์ƒ์ด ๋  ๋ฐ์ดํ„ฐ์™€ ๊ทธ ๋ฐ์ดํ„ฐ์˜ metadata์˜ ์‚ฌ๋ณธ์„ ๋˜‘๊ฐ™์ด ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด,ย RAID-1ย ๋ฏธ๋Ÿฌ์—์„œ hot-swappable drive๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ์ƒํ™ฉ์—์„œ๋Š” RAID set์ด ๋ฏธ๋Ÿฌ๋ง์„ ์ง€์†ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด drive๋กœ ๊ต์ฒดํ•ด ์ฃผ์–ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์„œ ์ œ๊ฑฐํ–ˆ๋˜ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ๋Š” ๋‹ค๋ฅธ๊ณณ์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ง ๊ทธ๋Œ€๋กœ์˜ ์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋กœ์ปฌ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๊ฐ€ ์Šค๋ƒ…์ƒท ์‚ฌ๋ณธ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค๋ฉด ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๋…ธ๋“œ์—์„œ ์•„๋ž˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋ช…๋ น ์‹คํ–‰์—์„œ๋Š” --clear-bitmap ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค.

  • ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ ๋™์ผํ•œ ์‚ฌ๋ณธ์„ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ง์ ‘ ๊ฐ€์ ธ์™€์„œ ์›๊ฒฉ ๋…ธ๋“œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋””์Šคํฌ๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„ํŠธ๋‹จ์œ„๋กœ ํ†ต์งธ๋กœ ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋””์Šคํฌ์— ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ๋ณต์ œํ•œ ๋ฐ์ดํ„ฐ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋„ ํ•ด ์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ ˆ์ฐจ๊ฐ€ ์ˆ˜์šฉ๋  ์ˆ˜ ์—†๋‹ค๋ฉด ์ด ๋ฐฉ๋ฒ•์€ ๋” ์ด์ƒ ์ง„ํ–‰ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.ย 

  • ์›๊ฒฉ ๋…ธ๋“œ์—์„œ bsr ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™์‹œํ‚ต๋‹ˆ๋‹ค.

๋‘ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฉด ๋””๋ฐ”์ด์Šค ์ „์ฒด ๋™๊ธฐํ™”(full device synchronization)๋ฅผ ์‹œ์ž‘ํ•˜์ง€๋Š” ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹ ์— bsradm--clear-bitmap new-current-uuid ๋ช…๋ น์„ ํ˜ธ์ถœ ํ•œ ๋’ค๋ถ€ํ„ฐ ๋ณ€๊ฒฝ๋œ ๋ธ”๋Ÿญ์— ๊ด€ํ•œ ๋™๊ธฐํ™”๋งŒ ์ž๋™์œผ๋กœ ๊ฐœ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™”๊ฐ€ ์—†๋”๋ผ๋„ ์ƒˆ๋กœ์šด Secondary ๋…ธ๋“œ์—์„œ ๋กค๋ฐฑ๋˜๋Š”ย Activity Log์—์„œ ๋‹ค๋ค„์ง€๋Š” ์˜์—ญ์— ๋”ฐ๋ผ ๊ฐ„๋‹จํ•œ ๋™๊ธฐํ™”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย 

clear-bitmap ๋™๊ธฐํ™”

--clear-bitmap ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์‹œ๊ฐ„์— ๊ฑธ์นœ ์ดˆ๊ธฐ ์ „์ฒด ๋™๊ธฐํ™” ์—†์ด ๋น ๋ฅด๊ฒŒ ๋ณต์ œ ์ƒํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ด๋Ÿฌํ•œ ์šด์˜ ์‚ฌ๋ก€๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด Current UUID๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Bitmap UUID๋ฅผ ์ง€์›Œ์„œ ์ดˆ๊ธฐ ๋™๊ธฐํ™”๋ฅผ ๊ฑด๋„ˆ ๋›ฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ์šฉ ์˜ˆ๋Š” ์ง€๊ธˆ ๋ง‰ ์ƒ์„ฑ๋œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  1. ์–‘ ๋…ธ๋“œ์—์„œ, ๋ฉ”ํƒ€๋ฅผ ์ดˆ๊ธฐํ™” ํ•˜๊ณ  ์žฅ์น˜๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.ย bsradm -- --force create-mdย res

  2. ์–‘ ๋…ธ๋“œ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋™ํ•˜๊ณ  ์ดˆ๊ธฐ ํ•ธ๋“œ์‰์ดํฌ ์‹œ์ ์— ์„œ๋กœ์˜ ๋ณผ๋ฅจ ํฌ๊ธฐ๋ฅผ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค. bsradm upย res

  3. ์–‘ ๋…ธ๋“œ๊ฐ€ Secondary/Secondary, Inconsistent/Inconsistent ๋กœ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์—์„œ ์ƒˆ๋กœ์šด UUID๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋น„ํŠธ๋งต์„ ํด๋ฆฌ์–ด ํ•ฉ๋‹ˆ๋‹ค. bsradm new-current-uuid --clear-bitmapย res

  4. ์ด์ œ ์–‘๋…ธ๋“œ๋Š” Secondary/Secondary, UpToDate/UpToDate ์ƒํƒœ๊ฐ€ ๋˜๊ณ  ํ•œ ์ชฝ์„ Primary ๋กœ ์Šน๊ฒฉํ•œ ํ›„ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. bsradm primaryย resย mkfs -tย fs-typeย $(bsradm sh-devย res)

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ ๋ช…๋ฐฑํ•œ ๋ถ€์ž‘์šฉ ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์จ์„œ ์–‘์ธก์„ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ์•Š๋Š” ํ•œ ๋ณต์ œ๋ณธ์— ์ด์ „ ๊ฐ€๋น„์ง€ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€๋“์ฐจ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์˜จ๋ผ์ธ ๊ฒ€์‚ฌ๋ฅผ ํ•˜๊ฒŒ๋˜๋ฉด ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ธ”๋ก๋“ค์„ ๋งŽ์ด ์ฐพ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณผ๋ฅจ์— ์ด๋ฏธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์ด ๋ฐฉ์‹์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•ด์„  ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์–ธ๋œป๋ณด๊ธฐ์—๋Š” ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์Šค์œ„์น˜์˜ค๋ฒ„ ํ•˜๋ฉด ์ด๋ฏธ ์žˆ๋˜ ๋ฐ์ดํ„ฐ๋Š” ๋ณต์ œ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๊นจ์ง‘๋‹ˆ๋‹ค.

๋™๊ธฐํ™” ์†๋„ ์กฐ์ •

๋™๊ธฐํ™”๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋™์ž‘ํ•˜๋ฉด ํƒ€๊นƒ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ผ์‹œ์ ์œผ๋กœ ๋ถˆ์ผ์น˜(Inconsistent)ํ•œ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ Inconsistent ์ƒํƒœ๋Š” ๊ฐ€๋Šฅํ•œ ์งง๊ฒŒ ์œ ์ง€ํ•ด์•ผ ์ •ํ•ฉ์„ฑ ๋ณด์žฅ ์ธก๋ฉด์—์„œ ์ข‹๊ธฐ ๋•Œ๋ฌธ์— ๋™๊ธฐํ™” ์†๋„๊ฐ€ ์ถฉ๋ถ„ํ•˜๊ฒŒ ์„ค์ •๋˜์–ด ์žˆ์–ด์•ผ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณต์ œ์™€ ๋™๊ธฐํ™”๋Š” ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋งŒ์•ฝ ๋™๊ธฐํ™” ๋Œ€์—ญ์ด ๋†’๊ฒŒ ์„ค์ •๋œ๋‹ค๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ๋ณต์ œ ๋Œ€์—ญ์€ ์ ๊ฒŒ ๋ถ€์—ฌ๋  ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ๋Œ€์—ญ์ด ๋‚ฎ์•„์ง€๋ฉด ๋กœ์ปฌ์˜ I/O latency์— ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋˜๊ณ  ๋กœ์ปฌ I/O ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋“  ๋™๊ธฐํ™”๋“  ์–ด๋Š ํ•œ์ชฝ์ด ์ผ๋ฐฉ์ ์œผ๋กœ ๋Œ€์—ญ์„ ๋งŽ์ด ์ ์œ ํ•˜๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ๋‹ค๋ฅธ ์ชฝ ๋™์ž‘์— ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋˜๋ฏ€๋กœ bsr์€ ๋ณต์ œ ๋Œ€์—ญ์„ ์ตœ๋Œ€ํ•œ ๋ณด์žฅํ•˜๋ฉด์„œ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ๋ณต์ œ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ ๋‹นํžˆ ์กฐ์ ˆํ•˜๋Š” ๊ฐ€๋ณ€๋Œ€์—ญ ๋™๊ธฐํ™”๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋ณธ ์ •์ฑ…์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๋ฐ˜๋Œ€๋กœ ๊ณ ์ •๋Œ€์—ญ ๋™๊ธฐํ™” ์ •์ฑ…์€ ๋ณต์ œ์— ๊ด€๊ณ„์—†์ด ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ํ•ญ์ƒ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ์‹์ธ๋ฐ, ์„œ๋น„์Šค ์šด์˜ ์ค‘์— ์‚ฌ์šฉํ•˜๋ฉด ๋กœ์ปฌ I/O ์„ฑ๋Šฅ์˜ ์ €ํ•˜๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š๊ณ  ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ์ •๋Œ€์—ญ ๋™๊ธฐํ™”

๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์žฌ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ตœ๋Œ€ ๋Œ€์—ญํญ์€ ๋ฆฌ์†Œ์Šค์˜ resync-rate ์˜ต์…˜์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด /etc/bsr.conf ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์˜ disk ์„น์…˜์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

resync-rate, c-min-rate ์„ค์ •์€ ์ดˆ๋‹น ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋‹จ์œ„๋Š” Kibibyte์ด๊ณ  4096์˜ ๊ฐ’์€ 4MiB๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

๊ฐ€๋ณ€๋Œ€์—ญ ๋™๊ธฐํ™”

๋‹ค์ค‘ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ณต์ œ/๋™๊ธฐํ™” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ตฌ์„ฑ์˜ ๊ฒฝ์šฐย ๊ณ ์ •๋Œ€์—ญย ๋™๊ธฐํ™”๋กœ ๊ตฌ์„ฑํ•  ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ๋“ค์ด ๊ฐ™์€ ๋ณต์ œ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๋ณต์ œ ๋ฆฌ์†Œ์Šค ์ฑ„๋„์— ๋Œ€ํ•ด์„œ ๋™๊ธฐํ™”์œจ์ด ์ ์œ  ๋‹นํ•  ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋“ค์€ ๊ณ ์ • ๋™๊ธฐํ™”์œจ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ,ย ๊ฐ€๋ณ€๋Œ€์—ญย ๋™๊ธฐํ™”๋ฅผ ํ†ตํ•ด ๊ฐ๊ฐ์˜ ๋ณต์ œ ์ฑ„๋„์˜ ๋™๊ธฐํ™”์œจ์„ ๋™์ ์œผ๋กœ ์กฐ์ • ํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜์—ฌ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์— ์˜ํ•ด ๋™๊ธฐํ™” ๋Œ€์—ญ์ด ์ ์œ ๋‹นํ•˜๋”๋ผ๋„ ์ด์— ๋Šฅ๋™์ ์œผ๋กœ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ์กฐ์ ˆํ•˜์—ฌ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ณ€๋Œ€์—ญ ๋™๊ธฐํ™”๋Š” ์ดˆ๊ธฐ ๋™๊ธฐํ™” ์†๋„(resync-rate ๋งŒํผ)๋ฅผ ๊ฒฐ์ •ํ•œ ํ›„ ์ž๋™ ์ œ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ๋™๊ธฐํ™” ์†๋„๋ฅผ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.ย ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ณต์ œ๊ฐ€ ์ „๋ฉด์—์„œ ๋™์ž‘ํ•˜๋ฉด์„œ๋„ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ c-min-rate ์—์„œ c-max-rate ๊นŒ์ง€ ๊ฐ€์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ c-max-rate ๋ฅผ ๋„ˆ๋ฌด ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋ณต์ œ ๋Œ€์—ญ์ด ๋ถ€์กฑํ•ด ์ง€๋ฏ€๋กœ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋ถ€๊ณผ๋œ ๊ฐ€์šฉ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ์˜ ์ ˆ๋ฐ˜ ์ดํ•˜๋กœ c-max-rate ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ณต์ œ๋ฅผ ์œ„ํ•œ ๋Œ€์—ญ์„ ํ™•๋ณดํ•ด ๋‘๋Š” ๊ฒŒ ๋ฐ”๋žŒ์ง ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋ณ€๋Œ€์—ญย ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•œ ์ตœ์ ์˜ ๊ตฌ์„ฑ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ I/O ํŒจํ„ด ๋ฐ ๋ณต์ œ ๋งํฌ ํ˜ผ์žก์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณต์ œ ๊ฐ€์†๊ธฐ(DRX) ์‚ฌ์šฉ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ตœ์ ์˜ ๊ตฌ์„ฑ ์„ค์ •์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋™๊ธฐํ™” ๋น„์œจ ์„ค์ •

๋™๊ธฐํ™” ๋Œ€์—ญ์„ ๋ณต์ œ ๋Œ€์—ญ์— ๋Œ€ํ•œ ๋น„์œจ๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ ์˜ˆ์ œ๋Š” ๋ณต์ œ 3 ๋Œ€ ๋™๊ธฐํ™” 1์˜ ๋น„์œจ(์ „์ฒด 4)๋กœ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ๋™๊ธฐํ™” ๋น„์œจ๊ณผ c-min-rate๋ฅผ ๋น„๊ตํ•˜์—ฌ c-min-rate ๊ฐ’์ด ๋†’์œผ๋ฉด c-min-rate ๊ฐ’์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ตœ์†Œํ•œ์˜ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

ํ˜ผ์žก ๋ชจ๋“œ

๋ณต์ œ ๋Œ€์—ญ์ด ๋ณ€๋™๋Œ€์—ญ์ธ ํ™˜๊ฒฝ(WAN)์—์„œ๋Š” ๋•Œ๋•Œ๋กœ ๋ณต์ œ ๋งํฌ๊ฐ€ ์ •์ฒด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด Primary ๋…ธ๋“œ์˜ I/O๊ฐ€ ๋Œ€๊ธฐํ•˜๊ฒŒ ๋˜๋ฉด ๋กœ์ปฌ I/O์˜ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ˜ผ์žก๋ชจ๋“œ๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์„ฑ์ž…๋‹ˆ๋‹ค.

ํ˜ผ์žก์ด ๊ฐ์ง€ ๋˜๋ฉด ๋ณต์ œ๋Š” ์ผ์‹œ ์ค‘๋‹จ๋˜๊ณ  ๋กœ์ปฌ์˜ I/O๋ฅผ OOS ๋กœ ๊ธฐ๋กํ•˜๋ฉด์„œ ๋ฒ„ํผ๋ง ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ์„œํžˆ ํƒ€๊นƒ์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ Primary ๋Š” Secondary ์— ๋น„ํ•ด ์•ž์„ (Ahead) ๋ฐ์ดํ„ฐ ์ƒํƒœ์ด๋ฉฐ ๋ฒ„ํผ๋ง ๋˜์—ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค ์ „์†กํ•˜๊ณ  ๋‚˜๋ฉด ์ž๋™์œผ๋กœ ๋™๊ธฐํ™” ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๋ณต์ œ ๋˜์ง€ ๋ชปํ•œ OOS ์˜์—ญ์„ ๋™๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค.

ํ˜ผ์žก ๋ชจ๋“œ๋Š” ๋‹ค์Œ์˜ 3 ๊ฐ€์ง€ ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Blocking ๋ชจ๋“œ

    • ์•„๋ฌด ์„ค์ •๋„ ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ Blocking ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. Blocking ๋ชจ๋“œ์—์„œ๋Š” TX ์†ก์‹ ๋ฒ„ํผ์— ๋ณต์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ƒ๊ธธ ๋•Œ ๊นŒ์ง€ ๋Œ€๊ธฐ(Blocking)ํ•ฉ๋‹ˆ๋‹ค.

  • disconnect ๋ชจ๋“œ

    • ๋ณต์ œ ์—ฐ๊ฒฐ์„ ๋‹จ์ ˆํ•˜์—ฌ ๋กœ์ปฌ I/O ๋ถ€ํ•˜๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ํ•ด์†Œํ•˜๋„๋ก disconnect ๋ชจ๋“œ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Ahead ๋ชจ๋“œ

    • ๋ณต์ œ ์—ฐ๊ฒฐ์€ ์œ ์ง€ํ•œ ์ฑ„ primary ๋…ธ๋“œ์˜ I/O๋ฅผ ๋กœ์ปฌ ๋””์Šคํฌ์— ์šฐ์„  ๊ธฐ๋กํ•ด ๋‘์—ˆ๋‹ค๊ฐ€(ํ•ด๋‹น ์˜์—ญ์€ out-of-sync๋กœ ๊ธฐ๋ก) ํ˜ผ์žก ํ•ด์ œ ํ›„ ์žฌ๋™๊ธฐํ™”๋ฅผ ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” pull-ahead ๋ชจ๋“œ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ahead ์ƒํƒœ๊ฐ€ ๋œ Primary ๋…ธ๋“œ๋Š” Secondary ๋…ธ๋“œ์— ๋น„ํ•ด ์•ž์„œ ์žˆ๋Š”(Ahead) ๋ฐ์ดํ„ฐ ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์‹œ์ ์— Secondary๋Š” ๋’ค ์ณ์ง„(Behind) ์˜ˆ์ „ ๋ฐ์ดํ„ฐ ์ด์ง€๋งŒ ์“ธ ์ˆ˜๋Š” ์žˆ๋Š” ๊ฐ€์šฉ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ํ˜ผ์žก์ด ํ•ด์ œ๋˜๋ฉด, ์„ธ์ปจ๋”๋ฆฌ๋กœ์˜ ๋ณต์ œ๋Š” ์ž๋™ ์žฌ๊ฐœ๋˜๊ณ  Ahead ์ƒํƒœ์—์„œ ๋ณต์ œ๋˜์ง€ ๋ชปํ–ˆ๋˜ out-of-sync ๋ธ”๋Ÿญ์— ๋Œ€ํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋™๊ธฐํ™”๋ฅผ ์ด์–ด์„œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ˜ผ์žก๋ชจ๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์„ผํ„ฐ ๋˜๋Š” ํด๋ผ์šฐ๋“œ ์ธ์Šคํ„ด์Šค๊ฐ„์˜ ๊ด‘์—ญ ๋ณต์ œ ํ™˜๊ฒฝ๊ณผ ๊ฐ™์€ ๊ฐ€๋ณ€ ๋Œ€์—ญํญ์„ ๊ฐ€์ง„ ๋„คํฌ์›Œํฌ ๋งํฌ ํ™˜๊ฒฝ์—์„œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ํ˜ผ์žก ์ •์ฑ…์„ ์„ค์ •ํ•˜๋Š” ์˜ˆ ์ž…๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑํŒŒ์ผ์— on-congestion ์˜ต์…˜ ํ•ญ๋ชฉ์œผ๋กœ ํ˜ผ์žก๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•˜๊ณ , congestion-fill ํ•ญ๋ชฉ์œผ๋กœ ํ˜ผ์žก ๊ฐ์ง€ ์ž„๊ณ„์น˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

pull-ahead ์˜ต์…˜์€ congestion-fill, congestion-extents ๋˜๋Š” congestion-highwater ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.ย ๊ฐ ์†์„ฑ์˜ ๊ถŒ์žฅ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • congestion-fill์€ sndbuf-size ํฌ๊ธฐ์˜ ์•ฝ 90% ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ๊ฐ€์†๊ธฐ(DRX)๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๊ฒฝ์šฐ DRX ๋ฒ„ํผ์˜ 90% ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    • ๋‹จ, ๋ฒ„ํผ์˜ ํฌ๊ธฐ๊ฐ€ 10GB ์ด์ƒ ์ˆ˜์ค€์œผ๋กœ ํฌ๊ฒŒ ํ• ๋‹น๋  ๊ฒฝ์šฐ 90% ์ˆ˜์ค€์˜ ์ž„๊ณ„์น˜๊ฐ€ ํ˜ผ์žก์„ ๊ฐ์ง€ํ•˜๊ธฐ์—๋Š” ๊ณผ๋„ํ•˜๊ฒŒ ํฐ ๊ฐ’์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” ํŠœ๋‹์„ ํ†ตํ•ด ์ ์ • ์ˆ˜์น˜๋กœ ์กฐ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • congestion-extents์˜ ๊ถŒ์žฅ ๊ฐ’์€ al-extents ์„ค์ •๊ฐ’์˜ย 90%์ž…๋‹ˆ๋‹ค.

  • congestion-highwater ๋Š” ํŒจํ‚ท ๊ฐœ์ˆ˜ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜ผ์žก์„ ๊ฐ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณต์ œ ํ˜ผ์žก์„ ๊ฐ์ง€ํ•˜๊ธฐ์— ์ ํ•ฉํ•˜์ง€ ์•Š์€ DR ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ์— ์ ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ 20000 ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ ํ™œ์„ฑํ™” ๋ฉ๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •์‹œ ๋น„ํ™œ์„ฑํ™” ๋˜๋ฉฐ ์ตœ๋Œ€๊ฐ’์€ 1000000 ์ž…๋‹ˆ๋‹ค.

ย 

ย 

๋””์Šคํฌ ํ”Œ๋Ÿฌ์‹œ

๋ณต์ œ ์ค‘ ํƒ€๊นƒ ๋…ธ๋“œ๊ฐ€ ์ „์›์žฅ์• ๋กœ ์ธํ•ด ๊ฐ‘์ž๊ธฐ ๋‹ค์šด๋œ๋‹ค๋ฉด ๋””์Šคํฌ ์บ์‰ฌ ์˜์—ญ์ด ๋ฐฐํ„ฐ๋ฆฌ ๋ฐฑ์—… ์žฅ์น˜(BBWC)์— ์˜ํ•ด ๋ฐฑ์—…๋˜์–ด ์žˆ์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์œ ์‹ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ์—์„  ์ด๋ฅผ ๋ฏธ์—ฐ์— ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํƒ€๊นƒ์˜ ๋””์Šคํฌ์— ์“ฐ๋Š” ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋””์–ด์— ๊ธฐ๋กํ•˜๊ณ  ๋‚œ ํ›„ flush ๋™์ž‘์„ ํ•ญ์ƒ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์œ ์‹ค์„ ์˜ˆ๋ฐฉ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด์—, BBWC ๊ฐ€ ์žฅ์ฐฉ๋œ ์Šคํ† ๋ฆฌ์ง€ ์žฅ์น˜์—์„  ๋””์Šคํฌ ํ”Œ๋Ÿฌ์‹œ ๋™์ž‘์„ ๊ตณ์ด ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ”Œ๋Ÿฌ์‹œ๋ฅผ ๋น„ํ™œ์„ฑํ™” ํ•  ์ˆ˜ ์žˆ๋„๋ก ์˜ต์…˜์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฐฐํ„ฐ๋ฆฌ ๋ฐฑ์—… ์“ฐ๊ธฐ ์บ์‹œ (BBWC)๊ฐ€์žˆ๋Š” ์žฅ์น˜์—์„œ bsr์„ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ์žฅ์น˜ ํ”Œ๋Ÿฌ์‹œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์Šคํ† ๋ฆฌ์ง€ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ฐฐํ„ฐ๋ฆฌ๊ฐ€ ์†Œ์ง„๋˜๋ฉด ์“ฐ๊ธฐ ์บ์‹œ๋ฅผ ์ž๋™์œผ๋กœ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋ฐฐํ„ฐ๋ฆฌ๊ฐ€ ์†Œ์ง„๋˜๋ฉด ์“ฐ๊ธฐ(write through) ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ •ํ•ฉ์„ฑ ๊ฒ€์ฆ

์ •ํ•ฉ์„ฑ ๊ฒ€์ฆ์€ ๋ณต์ œ ์ˆ˜ํ–‰ ๋„์ค‘ ๋ณต์ œ ํŠธ๋ž˜ํ”ฝ์„ ๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ์‹ค์‹œ๊ฐ„ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜ ์ „์ฒด ๋””์Šคํฌ ๋ณผ๋ฅจ ๋‹จ์œ„๋กœ (์‚ฌ์šฉ๋œ ์˜์—ญ์— ๋Œ€ํ•ด์„œ) ์†Œ์Šค์™€ ํƒ€๊นƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์™„์ „ํžˆ ์ผ์น˜ํ•˜๋Š”์ง€ ํ•ด์‰ฌ ์š”์•ฝ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„๊ตํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

ํŠธ๋ž˜ํ”ฝ ๊ฒ€์‚ฌ

๋ธ”๋Ÿญ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋‹ค๋ฅธ ๊ณ„์ธต์˜ ๊ตฌ์„ฑ์š”์†Œ์—์„œ ์˜ˆ๊ธฐ์น˜ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ๋“ค์ด ์ž์ฃผ ๋ฐœ์ƒํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ „์†ก๋…ธ๋“œ์˜ ์ฃผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„ํŠธํ”Œ๋ฆฝ ์˜ค๋ฅ˜

    • ์ตœ๊ทผ ๋žœ์นด๋“œ์—์„œ ์ œ๊ณตํ•˜๋Š” TCP ์ฒดํฌ์„ฌ ์˜คํ”„๋กœ๋“œ ๊ธฐ๋Šฅ์ด ํ™œ์„ฑํ™” ๋  ๊ฒฝ์šฐ ๋น„ํŠธํ”Œ๋ฆฝ ์˜ค๋ฅ˜๊ฐ€ ํ•˜๋“œ์›จ์–ด ์ˆ˜์ค€์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ˆ˜์‹ ๋…ธ๋“œ์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ฃผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„ํŠธํ”Œ๋ฆฝ ์˜ค๋ฅ˜

  • ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ํŽŒ์›จ์–ด ๋˜๋Š” ๋“œ๋ผ์ด๋ฒ„ ๋‚ด์—์„œ์˜ ๋ฒ„๊ทธ ๋˜๋Š” ๊ฒฝํ•ฉ์ƒํƒœ๋กœ ์ธํ•œ ๋ฐ์ดํ„ฐ ์†์ƒ

  • ๋…ธ๋“œ๊ฐ„ ์žฌ์กฐํ•ฉ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ์š”์†Œ(๋ผ์šฐํ„ฐ๋‚˜ ์Šค์œ„์น˜)์— ์˜ํ•ด ์ฃผ์ž… ๋œ ๋น„ํŠธ ํ”Œ๋ฆฝ ๋˜๋Š” ์ž„์˜์  ์†์ƒ(์ง์ ‘ ์—ฐ๊ฒฐ, ๋ฐฑํˆฌ๋ฐฑ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ).

bsr ์€ ์•”ํ˜ธํ™” ๋ฉ”์‹œ์ง€ ์š”์•ฝ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์–‘ ๋…ธ๋“œ ๊ฐ„์˜ ๋ฉ”์‹œ์ง€ ์ •ํ•ฉ์„ฑ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ธ”๋ก์˜ ๋ฉ”์‹œ์ง€ ์š”์•ฝ๋ณธ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ์ƒ๋Œ€ ๋…ธ๋“œ์—๊ฒŒ ์ „๋‹ฌํ•œ ํ›„ ์ƒ๋Œ€ํŽธ ๋…ธ๋“œ์—์„œย ๋ณต์ œ ํŒจํ‚ท์˜ ์ •ํ•ฉ์„ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์š”์•ฝ๋œ ๋ธ”๋Ÿญ์ด ์„œ๋กœ ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์žฌ์ „์†ก์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ ํŠธ๋ž˜ํ”ฝ์˜ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š”ย ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด /etc/bsr.conf์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

<algorithm>์€ ์‹œ์Šคํ…œ์˜ ์ปค๋„ ๊ตฌ์„ฑ์—์„œ ์ปค๋„ ์•”ํ˜ธํ™” API๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ฉ”์‹œ์ง€ ํ•ด์‹ฑ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. Windows ์—์„œ๋Š” crc32c ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์–‘ ๋…ธ๋“œ์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์„ ๋˜‘๊ฐ™์ด ๋ณ€๊ฒฝํ•œ ํ›„, ์–‘ ๋…ธ๋“œ์—์„œย bsradm adjust <resource>๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉ์‹œํ‚ต๋‹ˆ๋‹ค.ย 

์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ

์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š”ย ์žฅ์น˜ ์šด์˜ ์ค‘์—ย ๋…ธ๋“œ ๊ฐ„์˜ ๋ธ”๋ก๋ณ„ ๋ฐ์ดํ„ฐ์˜ ์ •ํ•ฉ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š” ์ค‘๋ณต ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์œผ๋ฉฐ ํŒŒ์ผ์‹œ์Šคํ…œ์— ์˜ํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์˜์—ญ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ ๋™์ž‘์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํŒŒ์ผ์‹œ์Šคํ…œ์€ ์ „์ฒด ๊ฒ€์‚ฌ ํ•ฉ๋‹ˆ๋‹ค.

๋™์ž‘๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•œ ์ชฝ ๋…ธ๋“œ์—์„œ(verification source) ํŠน์ • ๋ฆฌ์†Œ์Šค ์Šคํ† ๋ฆฌ์ง€์ƒ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ธ”๋Ÿญ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์•”ํ˜ธํ™” ์š”์•ฝ(cryptographic digest)์‹œํ‚ค๊ณ , ์š”์•ฝ๋œ ๋‚ด์šฉ์„ ์ƒ๋Œ€ ๋…ธ๋“œ(verification target)๋กœ ์ „์†กํ•˜์—ฌ ๊ฐ™์€ ๋ธ”๋Ÿญ์œ„์น˜์˜ ๋‚ด์šฉ์„ ์š”์•ฝ ๋น„๊ต ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์š”์•ฝ๋œ ๋‚ด์šฉ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น ๋ธ”๋Ÿญ์€ out-of-sync๋กœ ํ‘œ์‹œ๋˜๊ณ  ๋‚˜์ค‘์— ๋™๊ธฐํ™”๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ธ”๋Ÿญ์˜ ์ „์ฒด ๋‚ด์šฉ์„ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ์†Œํ•œ์˜ ์š”์•ฝ๋ณธ๋งŒ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ๋Œ€์—ญ์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค์˜ ์ •ํ•ฉ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ์ž‘์—…์€ ์šด์˜ ์ค‘์— ๊ฒ€์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜จ๋ผ์ธ ๊ฒ€์‚ฌ์™€ ๋ณต์ œ๊ฐ€ ๋™์‹œ์— ์ˆ˜ํ–‰๋  ๊ฒฝ์šฐ ์•ฝ๊ฐ„์˜ ๋ณต์ œ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ๊ฒ€์‚ฌ ์ค‘์ด๊ฑฐ๋‚˜ ๊ฒ€์‚ฌ ํ›„ ๋™๊ธฐํ™” ๊ณผ์ •์—์„œ ์„œ๋น„์Šค์˜ ๋‹ค์šด ํƒ€์ž„์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.ย 

๋ณดํ†ต ์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š” OS์— ์˜ˆ์•ฝ๋œ ์ž‘์—…์œผ๋กœ ๋“ฑ๋กํ•˜์—ฌ ์šด์˜ I/O ๋ถ€ํ•˜๊ฐ€ ์ ์€ ์‹œ๊ฐ„ ๋Œ€์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์  ์ž…๋‹ˆ๋‹ค.

ํ™œ์„ฑํ™”

์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š”ย ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์œผ๋ฉฐย bsr.confย ๋‚ด์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™œ์„ฑํ™” ํ•ฉ๋‹ˆ๋‹ค.

algorithmย ์€ ๋ฉ”์‹œ์ง€ ํ•ด์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งํ•˜๋ฉฐย OS ์ปค๋„์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.(Windows ์—์„ ย crc32c ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.)

์˜จ๋ผ์ธ ๊ฒ€์ฆ์„ ํ™œ์„ฑํ™” ํ•˜๊ธฐ ์œ„ํ•ด ์–‘ ๋…ธ๋“œ์˜ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ์„ ๋˜‘๊ฐ™์ด ๋ณ€๊ฒฝํ•œ ํ›„, ์–‘ ๋…ธ๋“œ์—์„œ bsradm adjust <resource>๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉ์‹œํ‚ต๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ ์‹คํ–‰

์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ™œ์„ฑํ™”ํ•œ ํ›„, ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ ๊ฒ€์‚ฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉด, bsr ์€ย <resource>์—์„œย ๋™๊ธฐํ™”๋˜์ง€ ์•Š์€ย ๋ธ”๋ก์„ ์•Œ์•„๋‚ด ํ‘œ์‹œํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ๋””๋ฐ”์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์•„๋ฌด๋Ÿฐ ์ œ์•ฝ ์—†์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,ย ๋ฆฌ์†Œ์Šค์˜ ์—ญํ•  ๋ณ€๊ฒฝ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

verify ๋ช…๋ น์€ ๋””์Šคํฌ ์ƒํƒœ๋ฅผย UpToDate๋กœ ๋ณ€๊ฒฝํ•œ ํ›„ย ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ดˆ๊ธฐ์‹ฑํฌ๊ฐ€ ์™„๋ฃŒ๋œ ์ดํ›„ UpToDate ์ธ ๋ณต์ œ ์†Œ์Šค ๋…ธ๋“œ ์ธก์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์ง ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด,ย Inconsistent ์ƒํƒœ์˜ ๋””์Šคํฌ ๋…ธ๋“œ ์ธก์—์„œย verify๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉดย ๋””์Šคํฌ ์ƒํƒœ๊ฐ€ UpToDate๋กœ ๋ณ€๊ฒฝ ๋˜์–ด ์šด์˜ ์ƒ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€์ฆ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ out-of-sync ๋ธ”๋ก์ด ๊ฐ์ง€๋˜๋ฉด, ๊ฒ€์ฆ์ด ์™„๋ฃŒ๋œ ํ›„์— ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย ์ด ๋•Œ ๋™๊ธฐํ™”๊ฐ€ ๋˜๋Š” ๋ฐฉํ–ฅ์€ Primary ๋…ธ๋“œ์—์„œ Secondary ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฉฐ Secondary/Secondary ์ƒํƒœ์—์„œ๋Š” ๋™๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Online ๊ฒ€์ฆ์— ๋”ฐ๋ฅธ OOS๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด์„  ์†Œ์Šค ์ธก ๋…ธ๋“œ์— ๋Œ€ํ•œ Primary๋กœ์˜ ์Šน๊ฒฉ์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.ย 

์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋Š” ์ˆ˜ํ–‰ ๋„์ค‘ ๋•Œ์— ๋”ฐ๋ผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋™ ๊ฒ€์‚ฌ

์ •๊ธฐ์ ์œผ๋กœ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ bsradm verify <resource> ๋ช…๋ น์„ ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ์— ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

์šฐ์„  ๋…ธ๋“œ ์ค‘ ํ•˜๋‚˜์—์„œ ํŠน์ • ์œ„์น˜์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์˜ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.ย 

๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฒ€์ฆํ•˜๋ ค๋ฉด <resource> ๋Œ€์‹  all ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.ย 

๋‹ค์Œ์€ schtasks(windows ์Šค์ผ€์ค„ ์„ค์ • ๋ช…๋ น์–ด)๋ฅผ ์‚ฌ์šฉํ•ด ์˜ˆ์•ฝ๋œ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๋Š” ์˜ˆ ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ • ํ•˜๋ฉด ๋งค์ฃผ ์ผ์š”์ผ ์ž์ • 42๋ถ„์— ์˜จ๋ผ์ธ ์ •ํ•ฉ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ย 

์—ญํ•  ์œ ์ง€

๋ฆฌ์†Œ์Šค ์—ญํ• ์€ ์šด์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋•Œ๋กœ๋Š” ์—ญํ• ์„ ์ง€์†ํ•ด์„œ ์šด์˜ํ•˜๋Š” ๋ฐฉ์‹์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (BSR 1.7.3 ์ด์ƒ)

persist-role ์ด ์„ค์ •๋œ ๋ฆฌ์†Œ์Šค๋Š” ์žฌ ์‹œ์ž‘ ๋˜๋Š” ์‹œ์ ์— ๋ช…์‹œ์ ์œผ๋กœ(bsradm ๋ช…๋ น์œผ๋กœ) ์ง€์ •๋œ ๋ฆฌ์†Œ์Šค ์—ญํ• ์„ ๊ณ„์† ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ ์„œ๋น„์Šค ๋˜๋Š” ์‹œ์Šคํ…œ์ด ๋ฆฌ๋ถ€ํŒ…๋˜์–ด ๋ฆฌ์†Œ์Šค๊ฐ€ ์žฌ ์‹œ์ž‘๋˜๋Š” ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ๋ฐฉํ–ฅ ๋ณต์ œ

์ „ํ™˜(switchover)์ด๋‚˜ ์ ˆ์ฒด(failover)์—†์ด ํ•ญ์ƒ ์ฃผ ๋…ธ๋“œ์—์„œ ๋Œ€๊ธฐ๋…ธ๋“œ๋กœ์˜ ๋‹จ๋ฐฉํ–ฅ ๋ณต์ œ๋งŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋Œ€๊ธฐ ๋…ธ๋“œ ์ธก์˜ ํƒ€๊นƒ ์ „์šฉ(target-only) ์†์„ฑ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. (BSR 1.7.3 ์ด์ƒ)

  • ์œ„์—์„œ ์„ค๋ช…ํ•œ persist-role ์†์„ฑ์„ ๋ฆฌ์†Œ์Šค options ์„น์…˜์— ์„ค์ •ํ•˜์—ฌ ์ฃผ ๋…ธ๋“œ์™€ ๋Œ€๊ธฐ๋…ธ๋“œ์˜ ์—ญํ• (role)์„ ๊ณ ์ •ํ•ฉ๋‹ˆ๋‹ค.

  • target-only ์†์„ฑ์„ ๋Œ€๊ธฐ ๋…ธ๋“œ ์ธก์— ์„ค์ •ํ•˜์—ฌ ๋ณต์ œ/๋™๊ธฐํ™” ๋ฐฉํ–ฅ์„ ์ฃผ ๋…ธ๋“œ์—์„œ ๋Œ€๊ธฐ๋…ธ๋“œ ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. target-only ๊ฐ€ ์ ์šฉ๋œ ๋…ธ๋“œ๋ฅผ ํƒ€๊นƒ ์ „์šฉ ๋…ธ๋“œ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํƒ€๊นƒ ์ „์šฉ ๋…ธ๋“œ๋Š” ๋ช…์‹œ์ ์ธ ๋ช…๋ น์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋ณต์ œ/๋™๊ธฐํ™” ๋™์ž‘์—์„œ์˜ ์†Œ์Šค ์—ญํ• ์ด ๊ธˆ์ง€๋˜๊ณ  ํƒ€๊นƒ ์—ญํ• ๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†Œ์Šค ์—ญํ• ๋กœ ๋™์ž‘ํ•˜๋Š” ์ˆ˜๋™ ๋™๊ธฐํ™”๋‚˜ ์Šน๊ฒฉ ๋ช…๋ น ๋“ฑ์€ ๋ชจ๋‘ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค(๋‹จ, ์—ฐ๊ฒฐ ํ•ด์ œ ์‹œ ์Šน๊ฒฉ ํ—ˆ์šฉ๋จ).