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

5.0 ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ 4.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ

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

  • ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ
  • ๋ฐฑ์—… ์ƒ์„ฑ
  • ์•ก์„ธ์Šค ์ œ์–ด
  • ์ „์ œ ์กฐ๊ฑด
  • ์ ˆ์ฐจ

๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹œ๋„ํ•˜๊ธฐ ์ „์— ์ด ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ์ˆ™์ง€ํ•˜์„ธ์š”.

์ค‘์š”

๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ๊ตฌ์„ฑ์›์ด ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜๋Š” ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

5.0์—์„œ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค์ธ 4.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

MongoDB๋Š” ๋‹จ์ผ ๋ฒ„์ „ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค๋ณด๋‹ค ์ด์ „ ๋ฒ„์ „์ธ ๋ฆด๋ฆฌ์Šค๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 5.0 ์‹œ๋ฆฌ์ฆˆ๋ฅผ 4.4 ์‹œ๋ฆฌ์ฆˆ ๋ฐฐํฌ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 4.4 ์‹œ๋ฆฌ์ฆˆ ๋ฐฐํฌ๋ฅผ 4.2 ์‹œ๋ฆฌ์ฆˆ ๋ฐฐํฌ๋กœ ํ•œ ๋‹จ๊ณ„ ๋” ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์„ ํƒ ์‚ฌํ•ญ์ด์ง€๋งŒ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐฑ์—…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

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

MongoDB 5.0์—์„œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๊ณ ๋ ค ๊ธฐ๋ณธ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฉฐ, MongoDB 4.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ธฐ๋ณธ๊ฐ’์ด ๋‹ค์‹œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ๊ณ ๋ ค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด setDefaultRWConcern ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํด๋Ÿฌ์Šคํ„ฐ์— ์ค‘์žฌ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ  ํŠน์ • ์ƒํ™ฉ์—์„œ ์บ์‹œ ์••๋ ฅ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „์— "Majority" ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๋‹ค๋ฉด, ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ํ›„ --enableMajorityReadConcern false ๋˜๋Š” replication.enableMajorityReadConcern: false๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB 5.0์€ ๋ฌธ์„œ ํ•„๋“œ ์ด๋ฆ„์— . ๋˜๋Š” $ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MongoDB 4.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— . ๋˜๋Š” $ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ํ•„๋“œ ์ด๋ฆ„์ด ํฌํ•จ๋œ ๋ฌธ์„œ๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MongoDB 5.0์€ ์Šฌ๋ฆผํ˜• ์‹œ๊ฐ„๋Œ€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. --timeZoneInfo ๋ช…๋ น์ค„ ์˜ต์…˜ ๋˜๋Š” processManagement.timeZoneInfo ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ •์œผ๋กœ MongoDB์— ์ œ๊ณต๋œ ๋Œ€๋กœ ๋ฐฐํฌ์—์„œ ์Šฌ๋ฆผํ˜• ์‹œ๊ฐ„๋Œ€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, MongoDB 4.4.7 ์ด์ƒ์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด์ „์˜ ๋น„์Šฌ๋ฆผํ˜• ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์‹œ๊ฐ„๋Œ€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์„ ๋˜๋Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๋‹ค์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์ดˆ๊ธฐ ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰ ์ค‘์ด ์•„๋‹Œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋™๊ธฐํ™”๊ฐ€ ์ง„ํ–‰ ์ค‘์ผ ๋•Œ setFeatureCompatibilityVersion ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด ์ดˆ๊ธฐ ๋™๊ธฐํ™”๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ ์— newlyAdded ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ๋…ธ๋“œ๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ฐ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ด๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    use local
    db.system.replset.find( { "members.newlyAdded" : { $exists : true } } );

    newlyAdded ํ•„๋“œ๋Š” ์ดˆ๊ธฐ ๋™๊ธฐํ™” ์ค‘๊ณผ ์ดˆ๊ธฐ ๋™๊ธฐํ™” ์งํ›„ ๋…ธ๋“œ์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ ๋ฌธ์„œ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

  • 2} ๋˜๋Š” ์ƒํƒœ์˜ ROLLBACK RECOVERING ๋ณต์ œ๋ณธ ์ง‘ํ•ฉ ๊ตฌ์„ฑ์›์ด ์—†๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ featureCompatibilityVersion ๋ฅผ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

  1. mongo shell์„ ํ”„๋ผ์ด๋จธ๋ฆฌ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  2. featureCompatibilityVersion์„ "4.4"๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

    db.adminCommand({setFeatureCompatibilityVersion: "4.4"})

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

  3. ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋ชจ๋“  ๋ฉค๋ฒ„๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ featureCompatibilityVersion ์„ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ๊ฐ ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„์— ์—ฐ๊ฒฐํ•˜์—ฌ featureCompatibilityVersion ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

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

    "featureCompatibilityVersion" : { "version" : "4.4" }

    ๋ฉค๋ฒ„๊ฐ€ "5.0" ์˜ featureCompatibilityVersion ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ„์†ํ•˜๊ธฐ ์ „์— ๋ฉค๋ฒ„๊ฐ€ ๋ฒ„์ „ "4.4" ๋ฅผ ๋ฐ˜์˜ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

์ฐธ๊ณ 

์ค‘์žฌ์ž๋Š” admin.system.version ์ปฌ๋ ‰์…˜์„ ๋ณต์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ค‘์žฌ์ž๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ FCV ๊ฐ’์— ๊ด€๊ณ„์—†์ด ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๋ฒ„์ „๊ณผ ๋™์ผํ•œ ๊ธฐ๋Šฅ ํ˜ธํ™˜์„ฑ ๋ฒ„์ „์„ ํ•ญ์ƒ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ ์˜ˆ๋กœ MongoDB 5.0 ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•œ ์ค‘์žฌ์ž์˜ FCV ๊ฐ’์€ 4.4์ž…๋‹ˆ๋‹ค.

๋ฐ˜ํ™˜๋œ featureCompatibilityVersion ๊ฐ’์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ FeatureCompatibilityVersion ๋ณด๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„๋Š” fCV๊ฐ€ "5.0"๋กœ ์„ค์ •๋œ ์ ์ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

4.4์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ์˜๊ตฌ์ ์ธ 5.0 ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

time series ์ปฌ๋ ‰์…˜
๋ชจ๋“  time series ์ปฌ๋ ‰์…˜์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„ ๊ฐ์‚ฌ ํ•„ํ„ฐ ๊ด€๋ฆฌ

  • db.admin.runCommand ๊ฐ€ ์žˆ๋Š” ๊ทธ๋ฃน์˜ ํ”„๋ผ์ด๋จธ๋ฆฌ ์„œ๋ฒ„์—์„œ ๊ธฐ๋ณธ๊ฐ’์„ ์žฌ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ผ์ด๋จธ๋ฆฌ๋Š” ์—…๋ฐ์ดํŠธํ•  ๊ทธ๋ฃน์˜ ๋งˆ์ง€๋ง‰ ๊ตฌ์„ฑ ์„œ๋ฒ„์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    db.admin.runCommand(
    {
    setAuditConfig: 1,
    filter: {},
    auditAuthorizationSuccess: false
    }
    )

    ๊ตฌ์„ฑ ๋ฌธ์„œ๋Š” ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ํ›„์—๋„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    config.settings.remove({_id: 'audit'});
  • ๋…ธ๋“œ์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ auditLog.runtimeConfiguration ์„ false ๋กœ ์„ค์ •ํ•˜์—ฌ ๊ฐ ๋…ธ๋“œ์—์„œ ๋Ÿฐํƒ€์ž„ ๊ฐ์‚ฌ ํ•„ํ„ฐ ๊ด€๋ฆฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • ๋กœ์ปฌ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ด ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๊ฐ์‚ฌ ํ•„ํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

5.0 ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์˜๊ตฌ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋˜์ง€๋งŒ ์ด์— ๊ตญํ•œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋ทฐ ์ •์˜์— $dateAdd ๋˜๋Š” $sampleRate์™€ ๊ฐ™์€ 5.0 ์—ฐ์‚ฐ์ž๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ์—ฐ์‚ฐ์ž๋ฅผ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ชฉ๋ก์€ ์ƒˆ ์ง‘๊ณ„ ์—ฐ์‚ฐ์ž๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฒฝ๊ณ 

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

1

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

์ค‘์š”

๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ๊ตฌ์„ฑ์›์ด ์‹œ์ž‘๋  ๋•Œ๊นŒ์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜๋Š” ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์™„๋ฃŒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

5.0์—์„œ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค์ธ 4.4๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

2

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ฐ ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„๋ฅผ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

  1. mongosh ์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ mongod ํ”„๋กœ์„ธ์Šค ์ค‘์ง€ ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ mongod ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

    db.adminCommand( { shutdown: 1 } )
  2. 5.0 ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ 4.4 ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ฐ”๊พธ๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  3. ๋‹ค์Œ ์„ธ์ปจ๋”๋ฆฌ๋ฅผ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋ฉค๋ฒ„๊ฐ€ SECONDARY ์ƒํƒœ๋กœ ๋ณต๊ตฌ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๋ฉค๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์—์„œ rs.status() ๋ฉ”์„œ๋“œ๋ฅผ mongosh ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฉค๋ฒ„๊ฐ€ SECONDARY ๋‹จ๊ณ„๊ฐ€ ๋˜๋ฉด ๋‹ค์Œ ์„ธ์ปจ๋”๋ฆฌ๋ฅผ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

3

๋ณต์ œ๋ณธ ์„ธํŠธ์— ์ค‘์žฌ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ์„ธ์š”.

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ์ค‘์žฌ์ž ๋ฉค๋ฒ„๋ฅผ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค.

  1. mongosh์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ mongod ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ข…๋ฃŒํ•˜๋Š” ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•์„ ๋ณด๋ ค๋ฉด mongod ํ”„๋กœ์„ธ์Šค ์ค‘์ง€๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

    db.adminCommand( { shutdown: 1 } )
  2. ์ค‘์žฌ์ž ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋‚ด์šฉ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. storage.dbPath ๊ตฌ์„ฑ ์„ค์ • ๋˜๋Š” --dbpath ๋ช…๋ น์ค„ ์˜ต์…˜์ด ์ค‘์žฌ์ž mongod ์˜ ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    rm -rf /path/to/mongodb/datafiles/*
  3. 5.0 ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ 4.4 ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ฐ”๊พธ๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฉค๋ฒ„๊ฐ€ ARBITER ์ƒํƒœ๋กœ ๋ณต๊ตฌ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๋ฉค๋ฒ„์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด mongosh ๋ฅผ ๋ฉค๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ  rs.status() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

4

์—์„œ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ผ์ด๋จธ๋ฆฌ rs.stepDown() mongosh ๋ฅผ ๋ฌผ๋Ÿฌ๋‚˜๊ณ  ์ผ๋ฐ˜์ ์ธ ํŽ˜์ผ์˜ค๋ฒ„ ์ ˆ์ฐจ๋ฅผ ๊ฐ•์ œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

rs.stepDown()

rs.stepDown() ์€ ํŽ˜์ผ์˜ค๋ฒ„ ์ ˆ์ฐจ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ”„๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ง์ ‘ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค.

5

rs.status() ๊ฐ€ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ๋ฌผ๋Ÿฌ๋‚˜๊ณ  ๋‹ค๋ฅธ ๋ฉค๋ฒ„๊ฐ€ PRIMARY ์ƒํƒœ๋ฅผ ์ทจํ–ˆ์Œ์„ ํ‘œ์‹œํ•˜๋Š” ๊ฒฝ์šฐ:

  1. mongosh์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ mongod ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ข…๋ฃŒํ•˜๋Š” ์ถ”๊ฐ€ ๋ฐฉ๋ฒ•์„ ๋ณด๋ ค๋ฉด mongod ํ”„๋กœ์„ธ์Šค ์ค‘์ง€๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.

    db.adminCommand( { shutdown: 1 } )
  2. mongod ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ 4.4 ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋ฐ”๊พธ๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

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

๋…๋ฆฝํ˜•