Docs Menu
Docs Home
/
MongoDB ๋งค๋‰ด์–ผ
/ / /

์ž์ฒด ๊ด€๋ฆฌํ˜• ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๊ตฌ์„ฑ์› ์ถ”๊ฐ€

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • ๊ฐœ์š”
  • ์š”๊ตฌ ์‚ฌํ•ญ:
  • ์ ˆ์ฐจ

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

๋ณต์ œ๋ณธ ์„ธํŠธ์—์„œ๋Š” ์ตœ๋Œ€ 7๋ช…์˜ ํˆฌํ‘œ ๋ฉค๋ฒ„๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ํˆฌํ‘œ ๋ฉค๋ฒ„๊ฐ€ 7๋ช…์ด ์žˆ๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋ฉค๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด, ํ•ด๋‹น ๋ฉค๋ฒ„๋ฅผ ๋น„ํˆฌํ‘œ ๋ฉค๋ฒ„๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ existing member์—์„œ ํˆฌํ‘œ๊ถŒ์„ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์—์„œ๋Š” init ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋ฉค๋ฒ„ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ณต์ œ๋ณธ ์„ธํŠธ์— ์ƒˆ ๋ฉค๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

๊ฐ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ๋Š” ๋‹จ ํ•˜๋‚˜์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ์—๋งŒ ์†ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ๋Š” ๋‘˜ ์ด์ƒ์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ์†ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ์ ˆ์ฐจ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ฑฐ๋œ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ๊ฑฐ๋œ ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„๊ต์  ์ตœ์‹ ์ธ ๊ฒฝ์šฐ, ๋…ธ๋“œ๋Š” ๋ณต๊ตฌ๋˜์–ด ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ๋ฅผ ๋”ฐ๋ผ์žก์Šต๋‹ˆ๋‹ค.

์ค‘์š”

๋…๋ฆฝํ˜• ๋ชจ๋“œ์— ์žˆ๋Š” ๋™์•ˆ ์ œ๊ฑฐ๋œ ๋…ธ๋“œ์— ์ƒˆ๋กœ ๋ณต์ œ๋œ ์ปฌ๋ ‰์…˜์„ ์ƒ์„ฑํ•˜์ง€ ๋งˆ์„ธ์š”. ๋…๋ฆฝํ˜• ๋…ธ๋“œ๊ฐ€ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋‹ค์‹œ ํ•ฉ๋ฅ˜ํ•˜๋ฉด ์ƒˆ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•œ ํ›„์† ์ž‘์—…์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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

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

    ์ค‘์š”

    ํ•ญ์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ ์Šค๋ƒ…์ƒท์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋ฉค๋ฒ„ ์‚ฌ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„๋ฅผ ์‹œ๋“œํ•˜๋Š” ๋ฐ์— mongodump ๋ฐ mongorestore๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

๊ฒฝ๊ณ 

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

2} ๋ฐmongod MongoDB mongos ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์— ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด net.ipv6 ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ • ๋˜๋Š” --ipv6 ๋ช…๋ น์ค„ ์˜ต์…˜์ด ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ IPv6 ์ฃผ์†Œ์— ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

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

๊ธฐ๋ณธ ๋ฐ”์ธ๋”ฉ์„ ์žฌ์ •์˜ํ•˜๊ณ  ๋‹ค๋ฅธ IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•˜๋ ค๋ฉด net.bindIp ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ • ๋˜๋Š” --bind_ip ๋ช…๋ น์ค„ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” IP ์ฃผ์†Œ ๋ชฉ๋ก์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

MongDB ๋ถ€ํ„ฐ 5.0 ์‹œ์ž‘, ๋ถ„ํ•  ์ˆ˜ํ‰ DNS IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์‹œ์ž‘ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๊ณ  ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. disableSplitHorizonIPCheck ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ mongod ์ธ์Šคํ„ด์Šค๋Š” ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์™€ IP ์ฃผ์†Œ 198.51.100.1 ์™€ ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ๋ช… My-Example-Associated-Hostname์— ๋ชจ๋‘ ๋ฐ”์ธ๋”ฉ๋ฉ๋‹ˆ๋‹ค.

mongod --bind_ip localhost,My-Example-Associated-Hostname

์ด ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์›๊ฒฉ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” ๊ด€๋ จ IP ์ฃผ์†Œ 198.51.100.1๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

mongosh --host My-Example-Associated-Hostname
mongosh --host 198.51.100.1

์ค‘์š”

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

IP ์ฃผ์†Œ ๋Œ€์‹  ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”Œ๋ฆฟ ๋„คํŠธ์›Œํฌ ํ˜ธ๋ผ์ด์ฆŒ ์ „๋ฐ˜์— ๊ฑธ์ณ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”. MongoDB 5.0๋ถ€ํ„ฐ IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์Šคํƒ€ํŠธ์—… ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๋ฉฐ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. ํ™œ์„ฑ ๋ณต์ œ๋ณธ ์„ธํŠธ์ž…๋‹ˆ๋‹ค.

  2. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ™œ์„ฑ ๋ณต์ œ๋ณธ ์„ธํŠธ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด MongoDB ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

์•„๋‹ˆ๋ฉด MongoDB ์„ค์น˜ ํŠœํ† ๋ฆฌ์–ผ ๋ฐ ์ž์ฒด ๊ด€๋ฆฌํ˜• ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฐฐํฌ ํŠœํ† ๋ฆฌ์–ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

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

    ์ƒˆ ๋ฉค๋ฒ„๊ฐ€ ๋ณต๊ตฌ ์ค‘์ธ ์ƒํƒœ์ธ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฉค๋ฒ„๋Š” ์ข…๋ฃŒ ํ›„ ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„๊ฐ€ ๋˜์–ด์•ผ๋งŒ MongoDB๊ฐ€ ๋ณต์ œ ํ”„๋กœ์„ธ์Šค์˜ ์ผํ™˜์œผ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€๋งŒ ๊ด€๋ฆฌ์ž์˜ ๊ฐœ์ž…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

    ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒˆ ๋ฉค๋ฒ„์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  Oplog์—์„œ ํ—ˆ์šฉํ•˜๋Š” ์ฐฝ ๋‚ด์—์„œ ๋ณต์ œ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ƒˆ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ดˆ๊ธฐ ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด ๊ฒฝ์šฐ ์ž์ฒด ๊ด€๋ฆฌ ๋ณต์ œ ์„ธํŠธ ๋ฉค๋ฒ„ ์žฌ๋™๊ธฐํ™”์— ์„ค๋ช…๋œ ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์™„์ „ํžˆ ์žฌ๋™๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.

    rs.printReplicationInfo()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ oplog์™€ ๊ด€๋ จ๋œ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ ๋ฐฐํฌ ํŒจํ„ด์— ๋Œ€ํ•œ ๋ฐฐ๊ฒฝ ์ง€์‹์€ ๋ณต์ œ ์„ธํŠธ ๋ฐฐํฌ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ค‘์š”

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

IP ์ฃผ์†Œ ๋Œ€์‹  ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”Œ๋ฆฟ ๋„คํŠธ์›Œํฌ ํ˜ธ๋ผ์ด์ฆŒ ์ „๋ฐ˜์— ๊ฑธ์ณ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜์„ธ์š”. MongoDB 5.0๋ถ€ํ„ฐ IP ์ฃผ์†Œ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋Š” ์Šคํƒ€ํŠธ์—… ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ์‹คํŒจํ•˜๋ฉฐ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  1. ์ƒˆ mongod ์ธ์Šคํ„ด์Šค๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๋ณต์ œ๋ณธ ์„ธํŠธ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” /srv/mongodb/db0 ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ์™€ rs0 ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    mongod --dbpath /srv/mongodb/db0 --replSet rs0 --bind_ip localhost,<hostname(s)|ip address(es)>

    ๊ฒฝ๊ณ 

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

    ๊ตฌ์„ฑ ์˜ต์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ mongod ๋งค๋‰ด์–ผ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

    ์ฐธ๊ณ 

    ์˜ต์…˜

    mongod.conf ๊ตฌ์„ฑ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ, ๋ณต์ œ๋ณธ ์„ธํŠธ ์ด๋ฆ„ ๋ฐ IP ๋ฐ”์ธ๋”ฉ์„ ์ง€์ •ํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ mongod๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    mongod --config /etc/mongod.conf
  2. ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ํ”„๋ผ์ด๋จธ๋ฆฌ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

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

  3. rs.add()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ณธ ์„ธํŠธ์— ์ƒˆ ๋ฉค๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. member configuration document๋ฅผ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ˜ธ์ŠคํŠธ mongodb3.example.net์— ๋ฉค๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    rs.add( { host: "mongodb3.example.net:27017" } )

    ๊ฒฝ๊ณ 

    MongoDB 5.0 ์ด์ „์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ๊ด€๋  ๋•Œ๊นŒ์ง€ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋ณด์กฐ ์„œ๋ฒ„๊ฐ€ ์ฝ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋ณธ ์„œ๋ฒ„๊ฐ€ ๋  ์ˆ˜ ์—†๋”๋ผ๋„ ์—ฌ์ „ํžˆ ํˆฌํ‘œ ๋ฉค๋ฒ„๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. 5.0 ์ด์ „ ๋ฒ„์ „์˜ MongoDB๋ฅผ ์‹คํ–‰ ์ค‘์ด๊ณ  votes ๋ฐ priority ์„ค์ •์ด 0๋ณด๋‹ค ํฐ ๋ณด์กฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ, ํˆฌํ‘œ ํšŒ์›์˜ ๊ณผ๋ฐ˜์ˆ˜๊ฐ€ ์˜จ๋ผ์ธ ์ƒํƒœ์ด์ง€๋งŒ ๊ธฐ๋ณธ ํšŒ์›์„ ์„ ์ถœํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด priority :0 ๋ฐ votes :0๋กœ ์ƒˆ ๋ณด์กฐ๋ฅผ ์ฒ˜์Œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ rs.status()๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ฉค๋ฒ„๊ฐ€ SECONDARY ์ƒํƒœ๋กœ ์ „ํ™˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ rs.reconfig() ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์šฐ์„  ์ˆœ์œ„์™€ ํˆฌํ‘œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

๋Œ์•„๊ฐ€๊ธฐ

๋ณต์ œ๋ณธ ์„ธํŠธ๋กœ ๋ณ€ํ™˜

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ