์ž‘์—…

์ž‘์—…

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

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

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

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

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

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

bsrdadm primary --force <resource>

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

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

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

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

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

๊ฐ•๋“ฑ

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

bsradm secondary <resource>

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

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

ย 

์ˆ˜๋™์ ˆ์ฒด

์ˆ˜๋™ ์ ˆ์ฒด๋ฅผ ์œ„ํ•œ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. primary ๋…ธ๋“œ์—์„œ bsr ๋””๋ฐ”์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ , (๋ฆฌ๋ˆ…์Šค์—์„  ๋ณผ๋ฅจ์„ umount ํ•œ ํ›„) ๋ฆฌ์†Œ์Šค๋ฅผ secondary๋กœ ๊ฐ•๋“ฑ์‹œํ‚ต๋‹ˆ๋‹ค.

    bsradm secondary <resource>
  2. primary๋กœย ์Šน๊ฒฉ์‹œํ‚ค๊ณ ์ž ํ•˜๋Š” ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (๋ฆฌ๋ˆ…์Šค์—์„  ๋ณผ๋ฅจ์„ mount ํ•˜์—ฌ) ์„œ๋น„์Šค๋ฅผ ์žฌ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

    bsradm primary <resource>

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

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

๋ฆฌ๋ˆ…์Šค์—์„  ๋ณผ๋ฅจ์— ๋Œ€ํ•œ umount ๋ฅผ ์„ ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

bsradm down <resource>

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

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

๋ณต์ œ ๋‹จ์ ˆ

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

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

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

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

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

ํ•ด์ œ

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

์†์„ฑ ์„ค์ •

๋™์  ์„ค์ •

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

์šด์˜ ์ค‘ ๋ณต์ œ ํ”„๋กœํ† ์ฝœ ๋ณ€๊ฒฝ

ํ”„๋กœํ† ์ฝœ, ์†ก์‹ ๋ฒ„ํผ, ํ˜ผ์žก์ œ์–ด ์„ค์ •์„ ๋‹ค ๊ฐ™์ด ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋จผ์ € bsrsetup del-peer <resource> <peer_node_id> ๋ช…๋ น์œผ๋กœ peer ์—ฐ๊ฒฐ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

  • ์–‘ ๋…ธ๋“œ ๋ฆฌ์†Œ์Šค ํŒŒ์ผ์˜ sndbuf-size ์˜ ํฌ๊ธฐ, ํ”„๋กœํ† ์ฝœ, ํ˜ผ์žก์ œ์–ด ์„ค์ •์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

  • bsradm adjustย <resource> ๋กœ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ •์  ์„ค์ •

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

ย 

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

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

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

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

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

Windows ์˜ ๊ฒฝ์šฐ ์ „์ฒด ์žฌ๊ตฌ์„ฑ ๊ณผ์ •์—์„œ ๋ณผ๋ฅจ์— ๊ฑธ๋ ค์žˆ๋Š” ๋ฝ์„ ํ•ด์ œํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ์— bsrcon์˜ /release_vol ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณผ๋ฅจ๋ฝ์„ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ย 

๊ตฌ์„ฑ ํ•ด์ œ ์‹œ ์ฃผ์˜ํ•  ์ 

์šด์˜ ๋…ธ๋“œ์˜ ๋ณผ๋ฅจ์„ ๋‹ค์‹œ ์†Œ์Šค๋กœ ํ•˜์—ฌ ์žฌ๊ตฌ์„ฑํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ๋ผ๋ฉด ์†Œ์Šค์˜€๋˜ ๋ณผ๋ฅจ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋ฏ€๋กœ ๋ณ„ ๋‹ค๋ฅด๊ฒŒ ์ฃผ์˜ํ•  ์ ์€ ์—†์Šต๋‹ˆ๋‹ค.

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

  • ๋ณต์ œ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

    • ๋ณต์ œ ์—ฐ๊ฒฐ์ด ํ•ด์ œ๋œ ๊ฒฝ์šฐ ํƒ€๊นƒ์ด UpToDate ๋˜๋Š” Outdate ์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด ๋•Œ ์†Œ์Šค ์ธก์˜ OOS ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด๋ฅผ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋กœ ๊ฐ„์ฃผํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

  • ์—ฐ๊ฒฐ ํ›„ OOS๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ์ž๋™ ๋™๊ธฐํ™” ํ•˜๊ณ  ๋™๊ธฐํ™”๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

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

  • ๊ตฌ์„ฑ ํ•ด์ œ ์ž‘์—…์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ย 

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

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

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

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

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

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

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

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

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

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

  • ๋ฌผ๋ก  ๋Š˜์–ด๋‚œ ํƒ€๊นƒ์˜ ๋ณผ๋ฅจ ํฌ๊ธฐ๋Š” ์†Œ์Šค์˜ ํฌ๊ธฐ์™€ ๊ฐ™๊ฒŒ ์กฐ์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋ฆฌ๋ˆ…์Šค

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

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

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

    [root@bsr01 /]# lvs /dev/local/r0 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert r0 local -wi-ao---- 580.00m
  2. conf ๊ตฌ์„ฑ. /dev/local/r0 ๊ฐ€ /dev/bsr0์˜ backing device๋กœ ๊ตฌ์„ฑ๋œ ์ƒํƒœ

    volume 0 { device /dev/bsr0; disk /dev/local/r0; meta-disk /dev/loop3 /bsr_meta/r0_meta; }
  3. LV ๋ณผ๋ฅจ ํ™•์žฅ์„ ์œ„ํ•ด PV ์ถ”๊ฐ€ ์ƒ์„ฑ

    [root@bsr01 /]# pvcreate /dev/sdf1 Physical volume "/dev/sdf1" successfully created.
  4. VG ํ™•์žฅ

    [root@bsr01 /]# vgs local VG #PV #LV #SN Attr VSize VFree local 3 1 0 wz--n- 588.00m 8.00m [root@bsr01 /]# vgextend local /dev/sdf1 Volume group "local" successfully extended [root@bsr01 /]# vgs local VG #PV #LV #SN Attr VSize VFree local 4 1 0 wz--n- 1.52g 980.00m
  5. LV๋ฅผ 1.5GB ๋กœ ํ™•์žฅ

    [root@bsr01 /]# lvextend -L 1.5G /dev/local/r0 Size of logical volume local/r0 changed from 580.00 MiB (145 extents) to 1.50 GiB (384 extents). Logical volume local/r0 successfully resized. [root@bsr01 /]# lvs /dev/local/r0 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert r0 local -wi-ao---- 1.50g
  6. 3~5๋ฒˆ ๋‹จ๊ณ„๋ฅผ ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ๋™์ผํ•˜๊ฒŒ ์ˆ˜ํ–‰

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

    [root@bsr01 /]# bsrsetup status --v --s r0 r0 node-id:0 role:Primary suspended:no write-ordering:drain req-pending:0 volume:0 minor:0 disk:UpToDate size:593920 read:1129876 written:248320 al-writes:23 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0 blocked:no bsr02 node-id:1 connection:Connected role:Secondary congested:no volume:0 replication:Established peer-disk:UpToDate resync-suspended:no received:0 sent:588328 out-of-sync:0 pending:0 unacked:0 bsr03 node-id:2 connection:Connected role:Secondary congested:no volume:0 replication:Established peer-disk:UpToDate resync-suspended:no received:0 sent:588704 out-of-sync:0 pending:0 unacked:0 [root@bsr01 /]# bsradm resize r0
  8. resize ๋ช…๋ น ์‹คํ–‰ ํ›„ ํ™•์žฅ๋œ ์˜์—ญ์— ๋Œ€ํ•ด ๋ถ€๋ถ„ ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰๋˜๋ฉฐ, size ๊ฐ’์ด 593920์—์„œ 1572864์œผ๋กœ ์ฆ๊ฐ€๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

    [root@bsr01 /]# bsrsetup status --v --s r0 r0 node-id:0 role:Primary suspended:no write-ordering:drain req-pending:0 volume:0 minor:0 disk:UpToDate size:1572864 read:1582588 written:248320 al-writes:31 bm-writes:0 upper-pending:0 lower-pending:2 al-suspended:no al-pending-changes:0 al-used:0 blocked:no bsr02 node-id:1 connection:Connected role:Secondary congested:yes volume:0 replication:SyncSource peer-disk:Inconsistent done:47.46 resync-suspended:no received:0 sent:762944 out-of-sync:826368 pending:35 unacked:80 bsr03 node-id:2 connection:Connected role:Secondary congested:yes volume:0 replication:SyncSource peer-disk:Inconsistent done:49.15 resync-suspended:no received:0 sent:786064 out-of-sync:799744 pending:27 unacked:68
  9. LV ํ™•์žฅ๊ณผ resize ๋ช…๋ น๊นŒ์ง€ ์„ฑ๊ณตํ•˜์˜€๋‹ค๋ฉด resize2fs ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ filesystem์„ ํ™•์žฅ์‹œ์ผœ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. (primary ๋…ธ๋“œ์—์„œ ์‹คํ–‰)

    [root@bsr01 /]# df -h Filesystem Size Used Avail Use% Mounted on ... /dev/bsr0 555M 544M 0 100% /mnt0 [root@bsr01 /]# resize2fs /dev/bsr0 resize2fs 1.42.9 (28-Dec-2013) Filesystem at /dev/bsr0 is mounted on /mnt0; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/bsr0 is now 393216 blocks long. [root@bsr01 /]# df -h ... /dev/bsr0 1.5G 545M 878M 39% /mnt0

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

์—ฐ๊ฒฐ์ด disconnect ๋œ ์ƒํƒœ์—์„œ ๋ณผ๋ฅจ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ์˜ ๊ณผ์ •์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

  1. secondary ๋…ธ๋“œ์—์„œ bsradm disconnect ๋กœ ์—ฐ๊ฒฐ ๋‹จ์ ˆ

  2. ์–‘ ๋…ธ๋“œ์—์„œ LV ํ™•์žฅ

    1. LV ํ™•์žฅ์€ secondary ์ƒํƒœ๋กœ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•˜๋ฉฐ primary๋กœ ์Šน๊ฒฉํ•  ํ•„์š” ์—†์Œ.

  3. ํ™•์žฅ๋œ size๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด primary ๋…ธ๋“œ์—์„œ resize ๋ช…๋ น ์ˆ˜ํ–‰

    [root@bsr01 /]# bsrsetup status --v --s r1 r1 node-id:0 role:Primary suspended:no write-ordering:drain req-pending:0 volume:0 minor:1 disk:UpToDate size:512000 read:1561828 written:25956 al-writes:37 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0 blocked:no bsr-02 node-id:1 connection:Connecting role:Unknown congested:no volume:0 replication:Off peer-disk:DUnknown resync-suspended:no received:0 sent:1562367 out-of-sync:0 pending:0 unacked:0 [root@bsr01 /]# bsradm resize r1
  4. resize ๋ช…๋ น ์ˆ˜ํ–‰ ํ›„ size ๊ฐ’ ์ฆ๊ฐ€ ํ™•์ธ, ํ™•์žฅ๋œ ์˜์—ญ์ด out-of-sync ๋กœ ์„ค์ •๋จ

    [root@bsr01 /]# bsrsetup status --v --s r1 r1 node-id:0 role:Primary suspended:no write-ordering:drain req-pending:0 volume:0 minor:1 disk:UpToDate size:1572864 read:1561828 written:25956 al-writes:45 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0 blocked:no bsr-02 node-id:1 connection:Connecting role:Unknown congested:no volume:0 replication:Off peer-disk:DUnknown resync-suspended:no received:0 sent:1562367 out-of-sync:1060864 pending:0 unacked:0
  5. primary ๋…ธ๋“œ์—์„œ resize2fs ๋ช…๋ น ์‹คํ–‰

    [root@bsr01 /]# resize2fs /dev/bsr1 resize2fs 1.45.6 (20-Mar-2020) Filesystem at /dev/bsr1 is mounted on /mnt_r1; on-line resizing required old_desc_blocks = 8, new_desc_blocks = 12 The filesystem on /dev/bsr1 is now 1572864 (1k) blocks long.
  6. ํŒŒ์ผ ์‹œ์Šคํ…œ ํ™•์žฅ๊นŒ์ง€ ์™„๋ฃŒํ•œ ์ดํ›„ secondary์—์„œ connect ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ

% ์žฌ ์—ฐ๊ฒฐ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ

  • primary ๋…ธ๋“œ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.ย  primary ๋…ธ๋“œ๊ฐ€ ์—†๋‹ค๋ฉด ํ™•์žฅ๋œ ์˜์—ญ์ด ๋™๊ธฐํ™” ๋˜์ง€ ๋ชปํ•˜๊ณ  out-of-sync๊ฐ€ ๋‚จ์•„์žˆ๊ฒŒ ๋œ๋‹ค.

  • ํ™•์žฅ ์ดํ›„ secondary์˜ ๋ณผ๋ฅจ ํฌ๊ธฐ๊ฐ€ primary์˜ ํฌ๊ธฐ ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.ย primary์˜ ๋ณผ๋ฅจ ํฌ๊ธฐ๊ฐ€ ๋” ํฌ๋ฉด ๋ณต์ œ ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

  • ํƒ€๊ฒŸ ๋…ธ๋“œ์˜ LV ๋ณผ๋ฅจ ์‚ฌ์ด์ฆˆ๋ฅผ secondary ์ƒํƒœ์—์„œ ๋ณ€๊ฒฝํ–ˆ๋‹ค๋ฉด SB ํ•ด๊ฒฐ ์ ˆ์ฐจ ์—†์ด connect ๋ช…๋ น ๋งŒ์œผ๋กœ ์—ฐ๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€๊ฒŸ ๋…ธ๋“œ๋ฅผ --force primary ๋กœ ์Šน๊ฒฉํ•œ ๋’ค resize๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค๋ฉด, SB ํ•ด๊ฒฐ ์ ˆ์ฐจ ์ˆ˜ํ–‰์ด ํ•„์š”ํ•˜๋‹ค.

ย 

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

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

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

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

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

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

ย 

์กฐํšŒ

๋ฒ„์ „

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

[root@bsr-01 nglee]# bsradm -V BSRADM_BUILDTAG=GIT-hash:3dca67e82d331e95121288a57898fcda13357e94 build by nglee@NGLEE-1,2020-01-29 13:50:48 BSRADM_API_VERSION=2 BSR_KERNEL_VERSION_CODE=0x000000 BSR_KERNEL_VERSION=0.0.0 BSRADM_VERSION_CODE=0x010600 BSRADM_VERSION=1.6.0-PREALPHA3

ย 

์ƒํƒœ์ •๋ณด

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

>bsradm status r0 r0 role:Secondary ย ย disk:UpToDate ย ย nina role:Secondary ย ย  disk:UpToDate ย ย nino role:Secondary ย ย ย ย disk:UpToDate ย ย nono connection:Connecting

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

C:\Users\Administrator>bsrsetup status r0 --verbose --statistic r0 node-id:0 role:Primary suspended:no write-ordering:drain req-pending:0 volume:0 minor:2 disk:UpToDate size:10467328 read:29847120 written:3029330 al-writes:260 bm-writes:0 upper-pending:0 lower-pending:0 al-suspended:no al-pending-changes:0 al-used:0 accelbuf-used:0 blocked:no D3W2K22BSRAG-002 node-id:1 connection:Connecting role:Unknown congested:no volume:0 replication:Off peer-disk:DUnknown resync-suspended:no received:0 sent:11803912 out-of-sync:329892 pending:0 unacked:0 D3W2K22BSRAG-003 node-id:2 connection:Connected role:Secondary congested:no volume:0 replication:Established peer-disk:UpToDate resync-suspended:no received:0 sent:16247308 out-of-sync:0 pending:0 unacked:0

์„ฑ๋Šฅ์ง€์‹œ์ž

  • sentย (network send).ย ย ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ƒ๋Œ€ ๋…ธ๋“œ์— ์ „์†ก๋œ ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ์˜ ์–‘์ž…๋‹ˆ๋‹ค. (Kibyte)

  • receivedย (network receive).ย ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ์ƒ๋Œ€ ๋…ธ๋“œ์—์„œ ์ˆ˜์‹ ๋œ ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ์˜ ์–‘์ž…๋‹ˆ๋‹ค. (Kibyte)

  • writtenย (disk write).ย ๋กœ์ปฌ ํ•˜๋“œ ๋””์Šคํฌ์— ๊ธฐ๋ก๋œ ๋„ท ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. (Kibyte)

  • readย (disk read).ย ๋กœ์ปฌ ํ•˜๋“œ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์ฝ์€ ๋„ท ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. (Kibyte)

  • al-writesย (activity log).ย ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์˜ activity log ์˜์—ญ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

  • bm-writesย (bit map).ย ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์˜ ๋น„ํŠธ๋งต ์˜์—ญ์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

  • upper-pendingย (application pendingย I/Oย ).ย ์ƒ์œ„์—์„œ bsr ๋กœ ์ „๋‹ฌ๋œ I/O ๋“ค ์ค‘ ์™„๋ฃŒ๋˜์ง€ ๋ชปํ•˜๊ณ  bsr์—์„œ ์ฒ˜๋ฆฌ์ค‘์ธ I/O ๊ฐœ์ˆ˜ย .

  • lower-pendingย (subsystem open count).ย bsr์—์„œ ์ˆ˜ํ–‰ํ•œย ๋กœ์ปฌ I/O sub-system์— ๋Œ€ํ•œ (close ๋˜์ง€ ์•Š์€) open ํšŸ์ˆ˜.

  • pending.ย ์ƒ๋Œ€ ๋…ธ๋“œ์—๊ฒŒ ์š”์ฒญํ•˜์˜€์ง€๋งŒ ์‘๋‹ต(ack)๋ฐ›์ง€ ๋ชปํ•œ ์š”์ฒญ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

  • unackedย (unacknowledged).ย ์ƒ๋Œ€ ๋…ธ๋“œ์—์„œ ์š”์ฒญ์„ ๋ฐ›์•˜์ง€๋งŒ ์‘๋‹ต(ack)ํ•ด ์ฃผ์ง€ ์•Š์€ ์š”์ฒญ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.

  • write-orderingย (write order).ย ํ˜„์žฌ ์‚ฌ์šฉํ•˜๋Š” ๋””์Šคํฌ ์“ฐ๊ธฐ ๋ฐฉ์‹์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  • out-of-sync.ย ย ํ˜„์žฌ ๋™๊ธฐํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์€ ์Šคํ† ๋ฆฌ์ง€์˜ ์–‘์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. (Kibytes)

  • resync-suspended. ย ์žฌ ๋™๊ธฐํ™” ์ค‘๋‹จ ์—ฌ๋ถ€. ๊ฐ€๋Šฅํ•œ ๊ฐ’ ์€ย no,user, peer, dependency

  • blocked.ย ๋กœ์ปฌย I/O ํ˜ผ์žก์ƒํƒœ ํ‘œ์‹œ

    • no: ํ˜ผ์žก์—†์Œ

    • upper: ์ƒ์œ„ ๋””๋ฐ”์ด์Šค์—์„œ ํ˜ผ์žก๋ฐœ์ƒ

    • lower: ๋””์Šคํฌ ํ˜ผ์žก

  • congested.ย ์ด ํ”Œ๋ž˜๊ทธ๋Š” ๋ณต์ œ ์—ฐ๊ฒฐ์ƒ์˜ TCP ์†ก์‹  ๋ฒ„ํผ๊ฐ€ 80 % ์ด์ƒ ์ฑ„์›Œ ์กŒ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

    • yes: ๋„คํŠธ์› ํ˜ผ์žก

    • no: ํ˜ผ์žก์—†์Œ

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

C:\>bsradm cstate r0 Connected

์—ฐ๊ฒฐ์ƒํƒœ

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

  • Disconnecting. ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋Š” ๋™์•ˆ์˜ย ์ผ์‹œ์ ์ธย ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย StandAlone

  • Unconnected. ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•˜๊ธฐ ์ „์˜ ์ผ์‹œ์ ์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย Connectingย ๋˜๋Š”ย Connected.

  • Timeout. ์ƒ๋Œ€ ๋…ธ๋“œ์™€์˜ ํ†ต์‹  ์‹œ๊ฐ„ ์ดˆ๊ณผ์— ๋”ฐ๋ฅธย ์ผ์‹œ์ ์ธย ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย Unconnected

  • BrokenPipe. ์ƒ๋Œ€ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ํ›„ย ์ผ์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š”ย ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย Unconnected

  • NetworkFailure.ย ์ƒ๋Œ€ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ํ›„ย ์ผ์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š”ย ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ๋‹ค์Œ ์ƒํƒœ:ย Unconnected

  • ProtocolError.ย ์ƒ๋Œ€ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ํ›„ย ์ผ์‹œ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š”ย ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ๋‹ค์Œ ์ƒํƒœ:ย Unconnected

  • TearDown. ์ƒ๋Œ€ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ ์ข…๋ฃŒ ์ค‘์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š”ย ์ผ์‹œ์ ์ธย ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย Unconnected

  • Connecting. ์ƒ๋Œ€ ๋…ธ๋“œ๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ํ™•์ธ ๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • Connected. TCP ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜์—ˆ์œผ๋ฉฐ, ์ƒ๋Œ€ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ์ฒซ ๋ฒˆ์งธ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

ย 

๋ณต์ œ์ƒํƒœ

  • Offย ์ƒ๋Œ€๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ์ด ๋Š์–ด์กŒ๊ฑฐ๋‚˜, ๋ณต์ œ๊ฐ€ ์ง„ํ–‰๋˜์ง€ ์•Š๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • Established.ย ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋˜์—ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ ๋ฏธ๋Ÿฌ๋ง์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.ย 

  • StartingSyncS.ย ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ์†Œ์Šค์ด๊ณ ,ย ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ „์ฒด ๋™๊ธฐํ™”๊ฐ€ ์‹œ์ž‘๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย SyncSourceย ๋˜๋Š”ย PausedSyncS

  • StartingSyncT.ย ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ํƒ€๊ฒŸ์ด๊ณ ,ย ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ „์ฒด ๋™๊ธฐํ™”๊ฐ€ ์‹œ์ž‘๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย ๋‹ค์Œ ์ƒํƒœ:ย WFSyncUUID

  • WFBitMapS. ๋ถ€๋ถ„ ๋™๊ธฐํ™”๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย SyncSourceย ๋˜๋Š”ย PausedSyncS

  • WFBitMapT. ๋ถ€๋ถ„ ๋™๊ธฐํ™”๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ƒํƒœ:ย WFSyncUUID

  • SyncSource. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ์†Œ์Šค์ด๊ณ , ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • SyncTarget. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ํƒ€๊ฒŸ์ด๊ณ , ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • VerifyS. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ์†Œ์Šค์ด๊ณ , On-lineย ๋””๋ฐ”์ด์Šค ๊ฒ€์ฆ์ด ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

  • VerifyT. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ํƒ€๊ฒŸ์ด๊ณ , On-lineย ๋””๋ฐ”์ด์Šค ๊ฒ€์ฆ์ด ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

  • PausedSyncS. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ์†Œ์Šค์ด๊ณ , ๋‹ค๋ฅธ ๋™๊ธฐํ™” ์ž‘์—… ์™„๋ฃŒ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ๋˜๋Š” ์ˆ˜๋™ ๋ช…๋ น (bsradm pause-sync)์— ์˜ํ•ด ๋™๊ธฐํ™”๊ฐ€ ์ผ์‹œ ์ •์ง€๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • PausedSyncT. ๋กœ์ปฌ ๋…ธ๋“œ๊ฐ€ ํƒ€๊ฒŸ์ด๊ณ ,ย ๋‹ค๋ฅธ ๋™๊ธฐํ™” ์ž‘์—… ์™„๋ฃŒ์— ๋Œ€ํ•œ ์˜์กด์„ฑ ๋˜๋Š” ์ˆ˜๋™ ๋ช…๋ น (bsradm pause-sync)์— ์˜ํ•ด ๋™๊ธฐํ™”๊ฐ€ ์ผ์‹œ ์ •์ง€๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

  • Ahead. ๋กœ์ปฌ๋…ธ๋“œ๊ฐ€ ๋„คํŠธ์›Œํฌ ํ˜ผ์žก์ƒํƒœ์— ๋„๋‹ฌํ•˜์—ฌ ๋ณต์ œ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค. (์ƒ๋Œ€๋…ธ๋“œ๋กœ OOS Info ์ „์†ก)

  • Behind. ์ƒ๋Œ€๋…ธ๋“œ๊ฐ€ย ๋„คํŠธ์›Œํฌ ํ˜ผ์žก์ƒํƒœ์— ๋„๋‹ฌํ•˜์—ฌ ๋ณต์ œ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•  ์ˆ˜ ์—†๋Š” ์ƒํƒœ์ž…๋‹ˆ๋‹ค.ย (์ดํ›„ SyncTarget ์ƒํƒœ๋กœ ์ „ํ™˜)

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

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

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

C:\Program Files\bsr>bsradm role r0 Primary/Secondaryย 

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

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

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

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

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

C:\Program Files\bsr>bsradm dstate r0 UpToDate/UpToDate

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

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

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

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

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

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

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

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

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

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

bsr์€ Inconsistentย ๋ฐ์ดํ„ฐ์™€ย Outdatedย ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.ย Inconsistentย ๋ฐ์ดํ„ฐ๋ž€ ์–ด๋–ค ์‹์œผ๋กœ๋“  ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ ๋™๊ธฐํ™” ์ง„ํ–‰ ์ค‘์ธ ํƒ€๊ฒŸ ์ชฝ ๋ฐ์ดํ„ฐ๊ฐ€ inconsistent ์ƒํƒœ ์ž…๋‹ˆ๋‹ค. ํƒ€๊ฒŸ ์ชฝ ๋ฐ์ดํ„ฐ๋Š” ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰์ค‘์ผ ๋•Œ ์ผ๋ถ€๋Š” ์ตœ์‹ ์ด์ง€๋งŒ ์ผ๋ถ€๋Š” ์ง€๋‚œ ์‹œ์ ์˜ ๋ฐ์ดํ„ฐ ์ด๋ฏ€๋กœ ์ด๋ฅผ ํ•˜๋‚˜์˜ ์‹œ์ ์ธ ๋ฐ์ดํ„ฐ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์žฅ์น˜์— ํŒŒ์ผ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ ํŒŒ์ผ์‹œ์Šคํ…œ์€ ๋งˆ์šดํŠธ(mount) ๋  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ํŒŒ์ผ์‹œ์Šคํ…œ ์ฒดํฌ ์กฐ์ฐจ๋„ ์ˆ˜ํ–‰๋˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด๋ฒคํŠธ

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

C:\Program Files\bsr\bin>bsrsetup events2 --now r0
exists resource name:r0 role:Secondary suspended:no
exists connection name:r0 peer-node-id:1 conn-name:remote-host connection:Connected role:Secondary
exists device name:r0 volume:0 minor:7 disk:UpToDate
exists device name:r0 volume:1 minor:8 disk:UpToDate
exists peer-device name:r0 peer-node-id:1 conn-name:remote-host volume:0
replication:Established peer-disk:UpToDate resync-suspended:no
exists peer-device name:r0 peer-node-id:1 conn-name:remote-host volume:1
replication:Established peer-disk:UpToDate resync-suspended:no
exists -

์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ 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)

์ฃผ์˜ํ•  ์ !

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

๋”ฐ๋ผ์„œ bsr ์—์„  ์ด๋Ÿฐ ์ƒํ™ฉ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด bsradm primary --force ๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐ ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ์— ์•ž์„œ ํŒŒ์ผ์‹œ์Šคํ…œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋จผ์ € ์˜๋ขฐํ•˜๊ณ (chkdsk or fsck) ๊ทธ ๊ฒฐ๊ณผ์— ๋ฌธ์ œ๊ฐ€ ์—†์„ ๋•Œ FastSync ๊ฐ€ ๋™์ž‘ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

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

FastSync ๋ฅผ ๋น„ํ™œ์„ฑํ™” ํ•˜๊ณ  ์˜ˆ์ „ FullSync ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ์˜ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bsrcon /set_fast_sync 0

ํ˜„์žฌ ์ดˆ๊ธฐ ๋™๊ธฐํ™” ๋ฐฉ์‹์ด FastSync ์ธ์ง€ FullSync ์ธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ์˜ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

bsrcon /get_fast_sync

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    bsradm up <resource>

๋‘ ๋…ธ๋“œ๊ฐ€ ์—ฐ๊ฒฐ๋˜๋ฉด ๋””๋ฐ”์ด์Šค ์ „์ฒด ๋™๊ธฐํ™”(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ย 

  5. ํ•„์š”ํ•  ๊ฒฝ์šฐ ํŒŒ์ผ์‹œ์Šคํ…œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. mkfs -tย fs-typeย $(bsradm sh-devย res)

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

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

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

๋ณต์ œ์™€ ๋™๊ธฐํ™”

  • ๋ณต์ œ๋Š” ๋กœ์ปฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋””์Šคํฌ์˜ ๋ณ€๊ฒฝ ๋ถ„ I/O ๋ฅผ ํƒ€๊นƒ์— ์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜ํ•˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋ถ„ I/O๊ฐ€ ๋กœ์ปฌ ๋””์Šคํฌ์— ์“ฐ์—ฌ์ง€๋Š” ๋ฌธ๋งฅ์—์„œ ๋ณต์ œ๊ฐ€ ์ˆ˜ํ–‰ ๋˜๋ฏ€๋กœ ๋กœ์ปฌ I/O ์ง€์—ฐ์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

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

์ด๋Ÿฌํ•œ ์ฐจ์ด๋ฅผ ๊ธฐ์ˆ ์ ์œผ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œ์™€ ๋™๊ธฐํ™”๋ฅผ ํ•ญ์ƒ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

resource <resource> { disk { resync-rate 40M;ย ย  c-min-rate 40M;ย ย  c-plan-ahead 0;ย ย  ... } ... }

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

Importantย 

  • c-plan-ahead ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์–‘์ˆ˜ ๊ฐ’์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์„ ๊ฒฝ์šฐ ๋™์ ์œผ๋กœ ๋™๊ธฐํ™” ์†๋„๋ฅผ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ ๊ธฐ๋ณธ์ ์œผ๋กœ 20 ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ๊ณ ์ •๋Œ€์—ญ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ด ๊ฐ’์„ 0 ์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

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

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

๋ณต์ œ์™€ ๋™๊ธฐํ™”๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ๊ฒฝ์šฐ

  • bsr ์€ ์ตœ์†Œํ•œ c-min-rate(๊ธฐ๋ณธ 250KB) ๋งŒํผ์˜ ๋™๊ธฐํ™” ๋Œ€์—ญ์€ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

  • bsr ์€ ๋ณต์ œ ๋Œ€์—ญ๊ณผ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ๋ฐฐ๋ถ„ํ•˜๋ฉด์„œ ๋™์‹œ์— ๋™๊ธฐํ™” ๋Œ€์—ญ์ด ์ตœ๋Œ€ํ•œ c-max-rate ์— ๋„๋‹ฌํ•˜๋„๋ก ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

BSR๊ณผ DRBD ์˜ ์ฐจ์ด์ 

  • BSR์€ ๋™๊ธฐํ™”์™€ ๋ณต์ œ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ๋•Œ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ c-min-rate ์—์„œ c-max-rate ๊ฐ’์œผ๋กœ ์œ ์ง€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ๊ฐ€๋Šฅํ•œ ํ•œ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ์ถฉ๋ถ„ํžˆ ํ™•๋ณดํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

  • DRBD ๋Š” ๋™๊ธฐํ™”์™€ ๋ณต์ œ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ๋•Œ ๋™๊ธฐํ™” ๋Œ€์—ญ์„ ๊ฐ•์ œ๋กœ c-min-rate ์˜ ๊ฐ’์œผ๋กœ ๋–จ์–ด๋œจ๋ฆฝ๋‹ˆ๋‹ค.

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

์•„๋ž˜์™€ ๊ฐ™์€ ์ˆ˜์‹์œผ๋กœ ๋™๊ธฐํ™” ์‹œ๊ฐ„์„ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

tresync = D/R

  • tresyncย ๋Š” ๋™๊ธฐํ™” ์˜ˆ์ƒ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

  • D๋Š” ๋ณ„๋‹ค๋ฅธ ์˜ํ–ฅ(๋ณต์ œ ๋งํฌ๊ฐ€ ๋Š์–ด์ง„ ์ƒํ™ฉ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ๋“ฑ)์„ ๊ฑฐ์˜ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—์„œ ๋™๊ธฐํ™”๋  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

  • R์€ ์กฐ์ • ๊ฐ€๋Šฅํ•œ ๋™๊ธฐํ™”์œจ์ด๋ฉฐ ์ด๋Š” ๋ณต์ œ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ ๋ฐ I/O ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์— ๋”ฐ๋ผ ํ•œ๊ณ„ ๊ฐ’์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๋™๊ธฐํ™” ๋Œ€์—ญ ์„ค์ • ์˜ˆ

100Mbps ๋Œ€์—ญ์—์„œ 5๊ฐœ ๋ณต์ œ ๋ฆฌ์†Œ์Šค๋ฅผ ์šด์˜ํ•  ๊ฒฝ์šฐ,

  • 100Mbps ๋Š” ์•ฝ 10MB/s ์ด๋ฏ€๋กœ 5๊ฐœ ๋Œ€์—ญ์„ ๊ณตํ‰ํžˆ ๋ฐฐ๋ถ„ํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๋ณ„ 10/5 = ์•ฝ 2MB/s

  • ๋ณต์ œ/๋™๊ธฐํ™” ๋Œ€์—ญ์˜ ๋ฐฐ๋ถ„ ๋น„์œจ์€ ํŠน๋ณ„ํ•œ ์š”๊ตฌ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ๊ฐ๊ฐ 50%๋กœ ์ง€์ •, ๋”ฐ๋ผ์„œ ๋™๊ธฐํ™” ์ตœ๋Œ€ ๋Œ€์—ญ(c-max-rate) ์€ 1MB

  • ์ตœ์†Œํ•œ๋„๋กœ ๋ณด์žฅํ•  ๋™๊ธฐํ™” ๋Œ€์—ญ์„ c-min-rate ๋กœ ์ง€์ •, ์˜ˆ๋ฅผ ๋“ค์–ด 128KB

  • resync-rate ๋Š” ์žฌ๋™๊ธฐํ™” ์‹œ ์‹œ์ž‘ ๊ฐ’.

resource {

resync-rate 128KB;

c-min-rate 128KB;

c-max-rate 1MB;

}

ย 

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

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

resource <resource> { disk { c-min-rate 40M;ย ย  resync-ratio "3:1"; ... } ... }

์œ„ ์˜ˆ์ œ๋Š” ๋ณต์ œ 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 ํ•ญ๋ชฉ์œผ๋กœ ํ˜ผ์žก ๊ฐ์ง€ ์ž„๊ณ„์น˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

resource <resource> { net { sndbuf-size 1G; on-congestion pull-ahead; congestion-fill 900M; congestion-extents 5500; congestion-highwater 20000; ... } ... }

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 ์ž…๋‹ˆ๋‹ค.

ย 

์†ก์‹ ๋ฒ„ํผ(sndbuf)์™€ DRX ๋ฒ„ํผ

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

๋”ฐ๋ผ์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฒ„ํผ๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๋Š” DRX ๋ฒ„ํผ๋กœ ๊ตฌ์„ฑํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ย 

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

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

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

resource <resource> disk { disk-flushes no; md-flushes no; ... } ... }

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

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

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

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

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

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

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

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

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

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

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

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

resource <resource> { net { data-integrity-alg <algorithm>; } ... }

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

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

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

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

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

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

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

ํ™œ์„ฑํ™”

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

resource <resource> { ย ย ย net { ย ย ย ย ย ย ย verify-algย <algorithm>; ย ย ย } ย ย ย ... }

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

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

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

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

bsradm verify <resource>

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

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

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

bsradm disconnect <resource> bsradm connect <resource>

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

bsradm verify-stop <resource>

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

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

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

bsradm verify <resource>

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

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

ย schtasks /create /tnย "bsr_verify"ย /trย "%bsr_path%\verify.bat"ย /scย WEEKLY /D sun /st 00:42

ย 

์—ญํ•  ์œ ์ง€

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

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

resource <resource> { options { ย ย  persist-role yes; ย ย } ย ย ... }

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

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

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

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

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

resource <resource> { ย ย options { ย ย  persist-role yes; ย ย } on active { ... } on standby-DR { ... options { target-only yes; ... } } ย ย ... }

ํƒ€๊นƒ ์ „์šฉ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ ํ™•์ธ

๋ณต์ œ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•œ ํ›„ ์Šน๊ฒฉ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํ™•์ธ์„ ์œ„ํ•ด ์Šน๊ฒฉ์„ ํ•œ ์‹œ์ ์—๋Š” SB๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํƒœ์ด๋ฏ€๋กœ ๋ณต์ œ๋ฅผ ๋‹ค์‹œ ์ •์ƒํ™”ํ•˜๋ ค๋ฉด ๋‹ค์‹œ ๊ฐ•๋“ฑ ํ›„ SB ํ•ด๊ฒฐ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.