๋ณต์ ๋ณธ ์ธํธ๋ฅผ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋
์ด ํ์ด์ง์ ๋ด์ฉ
MongoDB 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ์ฌ์ ์๊ตฌ ์ฌํญ์ ์ฒ ์ ํ ๊ฒํ ํ๊ณ ์ด ๋ฌธ์์ ๋ด์ฉ์ ์์งํ์ธ์.
๋ค์ ๋จ๊ณ์์๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ธ mongod
๋ฅผ ๋ฒ์ 7.0 ์์ 8.0 ๋ก ์
๊ทธ๋ ์ด๋ ํ๋ ์ ์ฐจ๋ฅผ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํฉ๋๋ค.
6.0์ผ๋ก์ ์ ๊ทธ๋ ์ด๋์ ๋ํ ์ง์นจ์ด ํ์ํ ๊ฒฝ์ฐ, 8MongoDB ์ ๋ฌธ ์๋น์ค ํ์ด MongoDB ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ฅ์ ์ฃผ์ง ์๊ณ ์ํํ๊ฒ ์ ํํ ์ ์๋๋ก ์ฃผ์ ๋ฒ์ ์ ์ํ ์ ๊ทธ๋ ์ด๋ ์ง์์ ์ ๊ณตํฉ๋๋ค.
์ ๊ทธ๋ ์ด๋ ๊ถ์ฅ ์ฌํญ ๋ฐ ์ฒดํฌ๋ฆฌ์คํธ
์ ๊ทธ๋ ์ด๋ํ ๋๋ ๋ค์ ์ฌํญ์ ๊ณ ๋ คํ์ธ์:
์ ๊ทธ๋ ์ด๋ ๋ฒ์ ๊ฒฝ๋ก
๊ธฐ์กด์ MongoDB ๋ฐฐํฌ์๋ฒ๋ฅผ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด 7.0 ์๋ฆฌ์ฆ ๋ฆด๋ฆฌ์ค๋ฅผ ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค.
7.0 ์๋ฆฌ์ฆ ์ด์ ๋ฒ์ ์์ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด 7.0 ์๋ฆฌ์ฆ๋ก ์ ๊ทธ๋ ์ด๋ํ ๋๊น์ง ๋ฉ์ด์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐ์์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 6.0 ์๋ฆฌ์ฆ๋ฅผ ์คํ ์ค์ธ ๊ฒฝ์ฐ ๋จผ์ 7.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
๋๋ผ์ด๋ฒ ํธํ์ฑ ํ์ธ
MongoDB๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ MongoDB 8.0 ํธํ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํฉ๋๋ค. ํน์ ๋๋ผ์ด๋ฒ์ ๋๋ผ์ด๋ฒ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ฌ MongoDB 8.0๊ณผ์ ํธํ์ฑ์ ํ์ธํ์ธ์.
ํธํ๋์ง ์๋ ๋๋ผ์ด๋ฒ์์ ์คํ๋๋ ์ ๊ทธ๋ ์ด๋๋ ๋ฐฐํฌ์์ ์๊ธฐ์น ์๊ฑฐ๋ ์ ์๋์ง ์์ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ค๋น
์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํ๊ธฐ ์ ์ MongoDB 8.0์ ํธํ์ฑ ๋ณ๊ฒฝ ์ฌํญ๋ฅผ ์ฐธ์กฐํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ฐฐํฌ๊ฐ MongoDB 8.0๊ณผ ํธํ๋๋์ง ํ์ธํ์ธ์. ์ ๊ทธ๋ ์ด๋๋ฅผ ์์ํ๊ธฐ ์ ์ ๋ฐฐํฌ์ ๋นํธํ์ฑ์ ํด๊ฒฐํ์ธ์.
MongoDB๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ํ๋ก๋์ ํ๊ฒฝ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ ์ ํญ์ ์คํ ์ด์ง ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ์ญ์์ค.
๋ค์ด๊ทธ๋ ์ด๋ ๊ณ ๋ ค ์ฌํญ
์ง์ ์ ๋์ ์์ด๋ ๋ฐฐํฌ์ ๋ฐ์ด๋๋ฆฌ ๋ฒ์ ์ ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
ํ์ต ๋ด์ฉ์ 8.0 ์ 7.0 ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ์ ์กฐ๊ฑด
๋ชจ๋ ํ์ ๋ฒ์
๋ชจ๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ 7.0 ๋ฒ์ ์ ์คํ ์ด์ผ ํฉ๋๋ค. ๋ณต์ ๋ณธ ์ธํธ ๋ฅผ 6.0์๋ฆฌ์ฆ ์ดํ์์ ์ ๊ทธ๋ ์ด๋ ํ๋ ค๋ฉด ๋จผ์ ์ ๊ทธ๋ ์ด๋ ๋ณต์ ๋ณธ ์ธํธ ์ ๋ชจ๋ ๋ฉค๋ฒ๋ฅผ ์ต์ 7.0์๋ฆฌ์ฆ ์ถ์ํ๋ค ๋ก ์ ๊ทธ๋ ์ด๋ํ ๋ค์, MongoDB 7.0 ์์ 8 ๋ก ์ ๊ทธ๋ ์ด๋ ํ๋ ์ ์ฐจ๋ฅผ ๋ฐ๋ฅด์ธ์.0.
๊ธฐ๋ฅ ํธํ์ฑ ๋ฒ์
7.0 ๋ณต์ ๋ณธ ์ธํธ์๋ featureCompatibilityVersion
์ด "7.0"
๋ก ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
๋ณต์ ์ธํธ์ ๋ชจ๋ ๊ตฌ์ฑ์์ด featureCompatibilityVersion
("7.0"
) ๋ก ์ค์ ๋์๋์ง ํ์ธํ๋ ค๋ฉด ๊ฐ ๋ณต์ ์ธํธ ๊ตฌ์ฑ์์ ์ฐ๊ฒฐํ๊ณ featureCompatibilityVersion
๋ฅผ ํ์ธํฉ๋๋ค.
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
๋ชจ๋ ๋ฉค๋ฒ๋ "featureCompatibilityVersion" : { "version" : "7.0" }
์ ํฌํจํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
0}์ ์ค์ ํ๊ฑฐ๋ ์
๋ฐ์ดํธํ๋ ค๋ฉด featureCompatibilityVersion
๊ธฐ๋ณธ๊ฐ์์ ๋ค์ ๋ช
๋ น์ ์คํํฉ๋๋ค. ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๊ตฌ์ฑ์์ ๋๋ถ๋ถ์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
db.adminCommand( { setFeatureCompatibilityVersion: "7.0" } )
์์ธํ ๋ด์ฉ์ setFeatureCompatibilityVersion
๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ณต์ ๋ณธ ์ธํธ ๋ ธ๋ ์ํ.
8} ๋ช
๋ น์ replSetGetStatus
์คํํ์ฌ ๋๋ ROLLBACK
์ํ์ ์๋ RECOVERING
๋ณต์ ์ธํธ ๋ฉค๋ฒ๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
db.adminCommand( { replSetGetStatus: 1 } )
8.0 ๋ค์ด๋ก๋ ๋ฐ์ด๋๋ฆฌ
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
MongoDB apt
, yum
, dnf
๋๋ zypper
๋ฆฌํฌ์งํ ๋ฆฌ์์ MongoDB๋ฅผ ์ค์นํ ๊ฒฝ์ฐ ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ 8.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
Linux ์์คํ ์ ์ ํฉํ 8.0 ์ค์น ์ง์นจ์ ๋ฐ๋ฆ ๋๋ค. ์ฌ๊ธฐ์๋ ์ ๋ฆด๋ฆฌ์ค์ ๋ํ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋ค์ ์ค์ ์ ๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์ํํ๋ ์์ ์ด ํฌํจ๋ฉ๋๋ค.
์๋์ผ๋ก
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ MongoDB๋ฅผ ์ค์นํ์ง ์์ ๊ฒฝ์ฐ, MongoDB ๋ค์ด๋ก๋ ์ผํฐ์์ MongoDB ๋ฐ์ด๋๋ฆฌ๋ฅผ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ 8.0 ์ค์น ์ง์นจ์ ์ฐธ์กฐํ์ธ์.
์ ๊ทธ๋ ์ด๋ ์ ์ฐจ
'๋กค๋ง' ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฌ์ฉํ์ฌ MongoDB 7.0์์ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ค๋ฅธ ๋ฉค๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋์ ๋ฉค๋ฒ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ฌ ๋ค์ดํ์์ ์ต์ํํ ์ ์์ต๋๋ค.
๋ณต์ ๋ณธ ์ธํธ์ ๋ณด์กฐ ๊ตฌ์ฑ์์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ์ ๋ณด์กฐ ๋ฉค๋ฒ๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
7.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 8.0 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊ฟ๋๋ค.
๋ฉค๋ฒ๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๊ธฐ๋ณธ๊ฐ์ ๋ด๋ ค๋์ต๋๋ค.
mongosh
๋ฅผ ํ๋ผ์ด๋จธ๋ฆฌ ์ ์ฐ๊ฒฐํ๊ณ rs.stepDown()
๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฅผ ๋ฌผ๋ฌ๋๊ณ ์ ํ๋ผ์ด๋จธ๋ฆฌ ๋จธ๋ฆฌ๋ฅผ ๊ฐ์ ๋ก ํฌํ ํฉ๋๋ค.
๊ธฐ๋ณธ ๊ณ์ ์ ์ ๊ทธ๋ ์ด๋ํฉ๋๋ค.
2}์์ ๊ธฐ๋ณธ ๊ตฌ์ฑ์์ด ๋ฌผ๋ฌ๋๊ณ ๋ค๋ฅธ ๊ตฌ์ฑ์์ด ์ํ๋ฅผ rs.status()
๋งก๊ฒ PRIMARY
๋๋ฉด, ๋ฌผ๋ฌ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ์์ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค.
๋ฌผ๋ฌ๋ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฅผ ์ข ๋ฃํ๊ณ
mongod
๋ฐ์ด๋๋ฆฌ๋ฅผ 8.0 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊ฟ๋๋ค.๋ฉค๋ฒ๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ 8.0 ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
์ด ์์ ์์๋ 7.0๊ณผ ํธํ๋์ง ์๋ 8.0 ๊ธฐ๋ฅ ์์ด 8.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ด๋ฌํ 8.0 ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ค๋ฉด ๊ธฐ๋ฅ ํธํ์ฑ ๋ฒ์ (fCV
)๋ฅผ 8.0์ผ๋ก ์ค์ ํฉ๋๋ค.
ํ
์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ฑํํ๋ฉด ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ์ด์ ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ์ง์์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ฑฐํด์ผ ํ๋ฏ๋ก ๋ค์ด๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๊ฐ ๋ณต์กํด์ง ์ ์์ต๋๋ค.
์ ๊ทธ๋ ์ด๋ ํ์๋ ๋ค์ด๊ทธ๋ ์ด๋ ๊ฐ๋ฅ์ฑ์ ์ต์ํํ๊ธฐ ์ํด ๋ฒ์ธ ๊ธฐ๊ฐ ๋์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ฑํํ์ง ์๊ณ ๋ฐฐํฌ๋ฅผ ์คํํ๋๋ก ํ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค์ด๊ทธ๋ ์ด๋ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋ฎ๋ค๊ณ ํ์ ํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ฑํํ์ญ์์ค.
ํ
์ด๊ธฐ ๋๊ธฐํ๊ฐ ์งํ ์ค์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด๊ธฐ ๋๊ธฐํ๊ฐ ์งํ ์ค์ผ ๋ setFeatureCompatibilityVersion
๋ช
๋ น์ ์คํํ๋ฉด ์ด๊ธฐ ๋๊ธฐํ๊ฐ ๋ค์ ์์๋ฉ๋๋ค.
๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์ setFeatureCompatibilityVersion
๋ช
๋ น์ ์คํํฉ๋๋ค.
db.adminCommand( { setFeatureCompatibilityVersion: "8.0" } )
featureCompatibilityVersion (fCV) : "8.0" replSetReconfig
๋ฅผ ์์์ ์ผ๋ก ์ํํ์ฌ ๊ตฌ์ฑ ๋ฌธ์ ์ term
ํ๋ ๋ฅผ ์ถ๊ฐํ๊ณ ์ ๊ตฌ์ฑ์ด ๋๋ค์์ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์์๊ฒ ์ ํ๋ ๋๊น์ง ์ฐจ๋จํฉ๋๋ค.
์ด ๋ช ๋ น์ ๋ด๋ถ ์์คํ ์ปฌ๋ ์ ์ ๋ํ ์ฐ๊ธฐ๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ์ด๋ค ์ด์ ๋ก๋ ๋ช ๋ น์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์ง ์๋ ๊ฒฝ์ฐ ์์ ์ ๋ฌด๋ ฅํ๋ฏ๋ก ์ฃผ ์๋ฒ์์ ๋ช ๋ น์ ์์ ํ๊ฒ ์ฌ์๋ํ ์ ์์ต๋๋ค.
์ถ๊ฐ ์ ๊ทธ๋ ์ด๋ ์ ์ฐจ
๋ ๋ฆฝ ์คํํ์ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ๋ ๋ฆฝ ์คํํ์ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ฅผ 8.0์ผ๋ก ์ ๊ทธ๋ ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.