5.0 ์ค๋ฉ๋ ํด๋ฌ์คํฐ๋ฅผ 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋
์ด ํ์ด์ง์ ๋ด์ฉ
๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ์๋ํ๊ธฐ ์ ์ ์ด ๋ฌธ์์ ๋ด์ฉ์ ์์งํ์ธ์.
๋ค์ด๊ทธ๋ ์ด๋ ๊ฒฝ๋ก
์ค์
๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋ชจ๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ์คํ ์ค์ธ์ง ํ์ธํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ชจ๋ ๊ตฌ์ฑ์์ด ์์๋ ๋๊น์ง ์ ๊ทธ๋ ์ด๋ ๋๋ ๋ค์ด๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋์ง ์์ต๋๋ค.
5.0์์ ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ต์ ํจ์น ๋ฆด๋ฆฌ์ค์ธ 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
MongoDB๋ ๋จ์ผ ๋ฒ์ ๋ค์ด๊ทธ๋ ์ด๋๋ง ์ง์ํฉ๋๋ค. ํ์ฌ ๋ฆด๋ฆฌ์ค๋ณด๋ค ์ด์ ๋ฒ์ ์ธ ๋ฆด๋ฆฌ์ค๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 5.0 ์๋ฆฌ์ฆ๋ฅผ 4.4 ์๋ฆฌ์ฆ ๋ฐฐํฌ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ํ์ง๋ง 4.4 ์๋ฆฌ์ฆ ๋ฐฐํฌ๋ฅผ 4.2 ์๋ฆฌ์ฆ ๋ฐฐํฌ๋ก ํ ๋จ๊ณ ๋ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ง์๋์ง ์์ต๋๋ค.
๋ฐฑ์ ์์ฑ
์ ํ ์ฌํญ์ด์ง๋ง ๊ถ์ฅ๋ฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐฑ์ ์ ๋ง๋ญ๋๋ค.
์ ์ ์กฐ๊ฑด
5.0์์ 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ง์๋๊ณ ํธํ๋์ง ์๋ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๊ฑฐ๋ ํธํ๋์ง ์๋ ๊ตฌ์ฑ ์ค์ ์ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
1. ํด๋ฌ์คํฐ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ณ ๋ ค
MongoDB 5.0์์๋ ํด๋ฌ์คํฐ ์ ์ฒด ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ณ ๋ ค ๊ธฐ๋ณธ๊ฐ์ด ๋ณ๊ฒฝ๋์์ผ๋ฉฐ, MongoDB 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ฉด ์ด๋ฌํ ๊ธฐ๋ณธ๊ฐ์ด ๋ค์ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ํด๋ฌ์คํฐ์ ๊ธฐ๋ณธ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํด๋ฌ์คํฐ์ ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ ๊ณ ๋ ค (write concern) ์ ๋ํ ๊ธฐ๋ณธ๊ฐ ์ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ ค๋ฉด
setDefaultRWConcern
๋ช ๋ น์ ์ฌ์ฉํฉ๋๋ค.ํด๋ฌ์คํฐ์ ์ค์ฌ์๊ฐ ํฌํจ๋์ด ์๊ณ ํน์ ์ํฉ์์ ์บ์ ์๋ ฅ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ด์ ์
"Majority"
์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ๋นํ์ฑํํ๋ค๋ฉด, ๋ค์ด๊ทธ๋ ์ด๋ ํ--enableMajorityReadConcern false
๋๋replication.enableMajorityReadConcern: false
๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
2. ๋๋ .
$
๋ฌธ์๊ฐ ํฌํจ๋ ๋ฌธ์ ํ๋
MongoDB 5.0์ ๋ฌธ์ ํ๋ ์ด๋ฆ์ .
๋๋ $
๋ฌธ์๋ฅผ ํฌํจํ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. MongoDB 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ .
๋๋ $
๋ฌธ์๊ฐ ํฌํจ๋ ํ๋ ์ด๋ฆ์ด ํฌํจ๋ ๋ฌธ์๋ฅผ ๋ชจ๋ ์ญ์ ํด์ผ ํฉ๋๋ค.
3. ์ฌ๋ฆผํ ์๊ฐ๋ ๋ฐ์ดํฐ ํ์ผ
MongoDB 5.0์ ์ฌ๋ฆผํ ์๊ฐ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ง์ํฉ๋๋ค. --timeZoneInfo
๋ช
๋ น์ค ์ต์
๋๋ processManagement.timeZoneInfo
๊ตฌ์ฑ ํ์ผ ์ค์ ์ผ๋ก MongoDB์ ์ ๊ณต๋ ๋๋ก ๋ฐฐํฌ์์ ์ฌ๋ฆผํ ์๊ฐ๋ ๋ฐ์ดํฐ ํ์ผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, MongoDB 4.4.7 ์ด์์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๊ฑฐ๋, ๊ทธ๋ ์ง ์์ผ๋ฉด ์ด์ ์ ๋น์ฌ๋ฆผํ ๋ฐ์ดํฐ ํ์ผ์ ์ฌ์ฉํ๋๋ก ์๊ฐ๋ ๋ฐ์ดํฐ ํ์ผ์ ๋๋๋ ค์ผ ํฉ๋๋ค.
4. ๋ฆฌ์ค๋ฉ
๋ค์ด๊ทธ๋ ์ด๋ ์ ์ฐจ๋ฅผ ์๋ํ๊ธฐ ์ ์ ๋ฆฌ์ค๋ฉ ์์
์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์๋์ง ํ์ธํฉ๋๋ค. ํ๋ผ์ด๋จธ๋ฆฌ ํ์ผ์ค๋ฒ๋ก ์ธํด ์ต๊ทผ์ ๋ฆฌ์ค๋ฉ ์์
์ด ์คํจํ ๊ฒฝ์ฐ ์ค๋ฉ๋ ํด๋ฌ์คํฐ์ featureCompatibilityVersion
๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋จผ์ cleanupReshardCollection
๋ช
๋ น์ ์คํํด์ผ ํฉ๋๋ค.
์ค๋ cluster์ featureCompatibilityVersion
๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๋์ ๋ฆฌ์ค๋ฉ ์์
์ด ์ฌ์ ํ ์คํ ์ค์ด๋ฉด ๋ฆฌ์ค๋ฉ ์์
์ด ์ค๋จ๋ฉ๋๋ค.
5. ๊ธฐ๋ฅ ํธํ์ฑ ๋ฒ์ (fCV) ๋ค์ด๊ทธ๋ ์ด๋
๋จผ์ ๋ค์์ ํ์ธํฉ๋๋ค.
์ด๊ธฐ ๋๊ธฐํ๊ฐ ์งํ ์ค์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด๊ธฐ ๋๊ธฐํ๊ฐ ์งํ ์ค์ผ ๋
setFeatureCompatibilityVersion
๋ช ๋ น์ ์คํํ๋ฉด ์ด๊ธฐ ๋๊ธฐํ๊ฐ ๋ค์ ์์๋ฉ๋๋ค.๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ์
newlyAdded
ํ๋๊ฐ ์๋ ๋ ธ๋๊ฐ ์๋์ง ํ์ธํฉ๋๋ค. ์ค๋ cluster์ ๊ฐ ๋ ธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์ด๋ฅผ ํ์ธํฉ๋๋ค.use local db.system.replset.find( { "members.newlyAdded" : { $exists : true } } ); newlyAdded
ํ๋๋ ์ด๊ธฐ ๋๊ธฐํ ์ค๊ณผ ์ด๊ธฐ ๋๊ธฐํ ์งํ ๋ ธ๋์ ๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ ๋ฌธ์์ ๋ํ๋ฉ๋๋ค.2} ๋๋ ์ํ์
ROLLBACK
RECOVERING
๋ณต์ ๋ณธ ์งํฉ ๊ตฌ์ฑ์์ด ์๋์ง ํ์ธํฉ๋๋ค.
๋ค์์ผ๋ก ์ค๋ ํด๋ฌ์คํฐ์ featureCompatibilityVersion
๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
mongo
์ ธ์mongos
์ธ์คํด์ค์ ์ฐ๊ฒฐํฉ๋๋ค.featureCompatibilityVersion
์"4.4"
๋ก ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.db.adminCommand({setFeatureCompatibilityVersion: "4.4"}) setFeatureCompatibilityVersion
๋ช ๋ น์ ๋ด๋ถ ์์คํ ์ปฌ๋ ์ ์ ๋ํ ์ฐ๊ธฐ๋ฅผ ์ํํ๋ฉฐ ๋ฉฑ๋ฑ์์ ๋๋ค. ์ด๋ค ์ด์ ๋ก๋ ๋ช ๋ น์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์ง ์์ผ๋ฉดmongos
์ธ์คํด์ค์์ ๋ช ๋ น์ ๋ค์ ์๋ํฉ๋๋ค.์ฐธ๊ณ
์ค๋ฉ๋ ํด๋ฌ์คํฐ์์
setFeatureCompatibilityVersion
๊ฐ ์คํ๋๋ ๋์ ์ฒญํฌ ๋ง์ด๊ทธ๋ ์ด์ , ๋ถํ ๋ฐ ๋ณํฉ์ConflictingOperationInProgress
๋ก ์ธํด ์คํจํ ์ ์์ต๋๋ค.setFeatureCompatibilityVersion
๊ฐManualInterventionRequired
์ค๋ฅ์ ํจ๊ป ์คํจํ๊ณ cluster๊ฐ ์ต๊ทผ์ election๋ก ์ธํด ์คํจํ ๋ฆฌ์ค๋ฉ ์์ ์ ๊ฑฐ์น ๊ฒฝ์ฐcleanupReshardCollection
๋ช ๋ น์ ์คํํ ํsetFeatureCompatibilityVersion
๋ฅผ ๋ค์ ์๋ํด์ผ ํฉ๋๋ค.
์ค๋ฉ๋ cluster์ ๋ชจ๋ ๋ฉค๋ฒ๊ฐ ์ ๋ฐ์ดํธ๋
featureCompatibilityVersion
์ ๋ฐ์ํ๋๋ก ํ๋ ค๋ฉด ๊ฐ shard ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ๊ฐ config ์๋ฒ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ์ฐ๊ฒฐํ์ฌ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 ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
6. FCV 5.0 ์ ๊ฑฐ ์ง์ํ ๊ธฐ๋ฅ
๋ค์ ๋จ๊ณ๋ fCV๊ฐ "5.0"
๋ก ์ค์ ๋ ์ ์ด ์๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค.
4.4์ ํธํ๋์ง ์๋ ์๊ตฌ์ ์ธ 5.0 ๊ธฐ๋ฅ์ ๋ชจ๋ ์ ๊ฑฐํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- time series ์ปฌ๋ ์
- ๋ชจ๋ time series ์ปฌ๋ ์ ์ ์ ๊ฑฐํฉ๋๋ค.
- ๋ฐํ์ ๊ฐ์ฌ ํํฐ ๊ด๋ฆฌ
7. 5.0 ๊ธฐ๋ฅ ์ ๊ฑฐ
5.0 ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ชจ๋ ์๊ตฌ ๊ธฐ๋ฅ์ ์ ๊ฑฐํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์์ด ํฌํจ๋์ง๋ง ์ด์ ๊ตญํ๋์ง๋ ์์ต๋๋ค.
๋ทฐ ์ ์์
$dateAdd
๋๋$sampleRate
์ ๊ฐ์ 5.0 ์ฐ์ฐ์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ์ฐ์ฐ์๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ์ ์ฒด ๋ชฉ๋ก์ ์ ์ง๊ณ ์ฐ์ฐ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ ์ฐจ
์ค๋ cluster ๋ค์ด๊ทธ๋ ์ด๋
๊ฒฝ๊ณ
๋ค์ด๊ทธ๋ ์ด๋ ์ ์ฐจ๋ฅผ ์งํํ๊ธฐ ์ ์ cluster์ ์ง์ฐ๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ฅผ ํฌํจํ ๋ชจ๋ ๋ฉค๋ฒ๊ฐ ํ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๋์ง ํ์ธํฉ๋๋ค. ์ฆ, ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ featureCompatibilityVersion
๋ฐ ๊ฐ ๋
ธ๋์ ๋ํด ํธํ๋์ง ์๋ ๊ธฐ๋ฅ ์ ๊ฑฐ๋ฅผ ํ์ธํฉ๋๋ค.
์ต์ 4.4 ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค.
ํจํค์ง ๊ด๋ฆฌ์๋ ์๋ ๋ค์ด๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ 4.4 ์๋ฆฌ์ฆ์ ์ต์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ค์ด๋ก๋ํฉ๋๋ค. ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ 4.4 ๋ฐ์ด๋๋ฆฌ์ ๋ํ ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋ค์ ์ค์ ๋ค์ด๊ทธ๋ ์ด๋ ํ๋ก์ธ์ค๋ฅผ ์ํํฉ๋๋ค.
์ค์
๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋ชจ๋ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๊ฐ ์คํ ์ค์ธ์ง ํ์ธํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ชจ๋ ๊ตฌ์ฑ์์ด ์์๋ ๋๊น์ง ์ ๊ทธ๋ ์ด๋ ๋๋ ๋ค์ด๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋์ง ์์ต๋๋ค.
5.0์์ ๋ค์ด๊ทธ๋ ์ด๋ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ต์ ํจ์น ๋ฆด๋ฆฌ์ค์ธ 4.4๋ก ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
๋ฐธ๋ฐ์๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
mongosh
๋ฅผ ์ค๋ ํด๋ฌ์คํฐ์ mongos
์ธ์คํด์ค์ ์ฐ๊ฒฐํ๊ณ sh.stopBalancer()
๋ฅผ ์คํํ์ฌ ๋ฐธ๋ฐ์๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
sh.stopBalancer()
์ฐธ๊ณ
๋ง์ด๊ทธ๋ ์ด์
์ด ์งํ ์ค์ธ ๊ฒฝ์ฐ ์์คํ
์ ๋ฐธ๋ฐ์๋ฅผ ์ค์งํ๊ธฐ ์ ์ ์งํ ์ค์ธ ๋ง์ด๊ทธ๋ ์ด์
์ ์๋ฃํฉ๋๋ค. sh.isBalancerRunning()
์ ์คํํ์ฌ ๋ฐธ๋ฐ์์ ํ์ฌ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐธ๋ฐ์๊ฐ ๋นํ์ฑํ๋์๋์ง ํ์ธํ๋ ค๋ฉด sh.getBalancerState()
๋ฅผ ์คํํ๋ฉด ๋ฐธ๋ฐ์๊ฐ ๋นํ์ฑํ๋ ๊ฒฝ์ฐ false๋ฅผ ๋ฐํํฉ๋๋ค.
sh.getBalancerState()
๋ฐธ๋ฐ์ ๋นํ์ฑํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฐธ๋ฐ์ ๋นํ์ฑํ๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ ์ค๋๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ค๋๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
์ค๋์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
mongosh
์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์์ ํ ์ข ๋ฃํ๊ฑฐ๋mongod
ํ๋ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํ๋ ์ถ๊ฐ ๋ฐฉ๋ฒ์ ๋ณด๋ ค๋ฉดmongod
ํ๋ก์ธ์ค ์ค์ง๋ฅผ ์ฐธ์กฐํฉ๋๋ค.db.adminCommand( { shutdown: 1 } ) 5.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 4.4 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊พธ๊ณ ๋ค์ ์์ํฉ๋๋ค.
๋ค์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋ฉค๋ฒ๊ฐ
SECONDARY
์ํ๋ก ๋ณต๊ตฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ฉค๋ฒ์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉดmongosh
๋ฅผ ์ค๋์ ์ฐ๊ฒฐํ๊ณrs.status()
๋ฉ์๋๋ฅผ ์คํํฉ๋๋ค.๊ฐ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ์ ๋ํด ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ด ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
์ค๋ ์ค์ฌ์(์๋ ๊ฒฝ์ฐ)๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ์ ์ค์ฌ์๊ฐ ํฌํจ๋์ด ์์ง ์์ผ๋ฉด ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ์ธ์.
mongosh
์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์์ ํ ์ข ๋ฃํ๊ฑฐ๋mongod
ํ๋ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํ๋ ์ถ๊ฐ ๋ฐฉ๋ฒ์ ๋ณด๋ ค๋ฉดmongod
ํ๋ก์ธ์ค ์ค์ง๋ฅผ ์ฐธ์กฐํฉ๋๋ค.db.adminCommand( { shutdown: 1 } ) ์ค์ฌ์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ์ ๋ด์ฉ์ ์ญ์ ํฉ๋๋ค.
storage.dbPath
๊ตฌ์ฑ ์ค์ ๋๋--dbpath
๋ช ๋ น์ค ์ต์ ์ด ์ค์ฌ์mongod
์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ ํฉ๋๋ค.rm -rf /path/to/mongodb/datafiles/* 5.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 4.4 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊พธ๊ณ ๋ค์ ์์ํฉ๋๋ค.
๋ฉค๋ฒ๊ฐ
ARBITER
์ํ๋ก ๋ณต๊ตฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ฉค๋ฒ์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉดmongosh
๋ฅผ ๋ฉค๋ฒ์ ์ฐ๊ฒฐํ๊ณrs.status()
๋ฉ์๋๋ฅผ ์คํํฉ๋๋ค.
์ค๋์ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๋จ๊ณ์ ์ผ๋ก ๋ฎ์ถฅ๋๋ค.
mongosh
๋ฅผ ํ๋ผ์ด๋จธ๋ฆฌ์ ์ฐ๊ฒฐํ๊ณrs.stepDown()
๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๋ฌผ๋ฌ๋๊ณ ์ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๊ฐ์ ๋ก ์ ์ถํฉ๋๋ค.rs.stepDown() rs.status()
์(๋ฅผ) ์คํํฉ๋๋ค.rs.status() ์ํ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ฌผ๋ฌ๋๊ณ ๋ค๋ฅธ ๋ฉค๋ฒ๊ฐ
PRIMARY
์ํ๋ฅผ ์ทจํ๋ค๊ณ ํ์๋๋ฉด ๊ณ์ ์งํํฉ๋๋ค.mongosh
์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ๊ฐ๋ฑ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์์ ํ ์ข ๋ฃํ๊ฑฐ๋mongod
ํ๋ก์ธ์ค ์ค์ง ๋ฅผ ์ฐธ์กฐํ์ฌmongod
ํ๋ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํฉ๋๋ค.db.adminCommand( { shutdown: 1 } ) 5.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 4.4 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊พธ๊ณ ๋ค์ ์์ํฉ๋๋ค.
๋๋จธ์ง ์ค๋์ ๋ํด์๋ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
config ์๋ฒ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
config ์๋ฒ์ ๋ณต์ ๋ณธ ์ธํธ(CSRS)์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ฅผ ํ ๋ฒ์ ํ๋์ฉ ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.
mongosh
์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ์์ ํ ์ข ๋ฃํ๊ฑฐ๋mongod
ํ๋ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํ๋ ์ถ๊ฐ ๋ฐฉ๋ฒ์ ๋ณด๋ ค๋ฉดmongod
ํ๋ก์ธ์ค ์ค์ง๋ฅผ ์ฐธ์กฐํฉ๋๋ค.db.adminCommand( { shutdown: 1 } ) 5.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 4.4 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊พธ๊ณ ๋ค์ ์์ํฉ๋๋ค.
๋ค์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๊ธฐ ์ ์ ๋ฉค๋ฒ๊ฐ
SECONDARY
์ํ๋ก ๋ณต๊ตฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ฉค๋ฒ์ ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉดmongosh
๋ฅผ ์ค๋์ ์ฐ๊ฒฐํ๊ณrs.status()
๋ฉ์๋๋ฅผ ์คํํฉ๋๋ค.๊ฐ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ์ ๋ํด ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ค๋ฉด ์ด ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค.
config ์๋ฒ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ๋จ๊ณ์ ์ผ๋ก ๋ฎ์ถฅ๋๋ค.
ํ๋ผ์ด๋จธ๋ฆฌ์
mongosh
๋ฅผ ์ฐ๊ฒฐํ๊ณrs.stepDown()
์ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์ฐ์ ์์์์ ๋ด๋ ค์ค๊ฒ ํ๊ณ ๊ฐ์ ๋ก ์ ํ๋ผ์ด๋จธ๋ฆฌ์ ๋ํ ํฌํ๋ฅผ ์งํํฉ๋๋ค.rs.stepDown() rs.status()
์(๋ฅผ) ์คํํฉ๋๋ค.rs.status() ์ํ๊ฐ ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๋ฌผ๋ฌ๋๊ณ ๋ค๋ฅธ ๋ฉค๋ฒ๊ฐ
PRIMARY
์ํ๋ฅผ ์ทจํ๋ค๊ณ ํ์๋๋ฉด ๊ณ์ ์งํํฉ๋๋ค.mongosh
์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ ๊ฐ๋ฑ๋ ํ๋ผ์ด๋จธ๋ฆฌ๋ฅผ ์์ ํ ์ข ๋ฃํ๊ฑฐ๋mongod
ํ๋ก์ธ์ค ์ค์ง ๋ฅผ ์ฐธ์กฐํ์ฌmongod
ํ๋ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ์ข ๋ฃํฉ๋๋ค.db.adminCommand( { shutdown: 1 } ) 5.0 ๋ฐ์ด๋๋ฆฌ๋ฅผ 4.4 ๋ฐ์ด๋๋ฆฌ๋ก ๋ฐ๊พธ๊ณ ๋ค์ ์์ํฉ๋๋ค.
๋ฐธ๋ฐ์ ๋ค์ ํ์ฑํ
์ค๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์์ ๋ค์ด๊ทธ๋ ์ด๋๊ฐ ์๋ฃ๋๋ฉด mongosh
๋ฅผ mongos
์ ์ฐ๊ฒฐ ํ๊ณ ๋ฐธ๋ฐ์๋ฅผ ๋ค์ ํ์ฑํํฉ๋๋ค.
sh.startBalancer()
mongosh
๋ฉ์๋ sh.startBalancer()
๋ ์ค๋ ํด๋ฌ์คํฐ์ ๋ํ ์๋ ๋ถํ ์ ํ์ฑํํฉ๋๋ค.