์์ฒด ๊ด๋ฆฌ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ Oplog ํฌ๊ธฐ ๋ณ๊ฒฝ
์ด ํ์ด์ง์ ๋ด์ฉ
๊ฒฝ๊ณ
local.oplog.rs
์ปฌ๋ ์
์ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด ์ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ oplog ์ปฌ๋ ์
๋์์ ์ฐธ์กฐํ์ธ์.
์ด ์ ์ฐจ๋ replSetResizeOplog
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ ์ธํธ์ ๊ฐ ๋ฉค๋ฒ์ ๋ํ oplog[1]์ ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉฐ, ์ด๋ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ๋ก ์งํํ๊ธฐ ์ ์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๋ถํฐ ์์ํฉ๋๋ค.
๋จผ์ ๊ฐ ์ธ์ปจ๋๋ฆฌ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ๋ํด ์ด ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค. ๋ชจ๋ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ์ oplog ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ ํ์๋ ํ๋ผ์ด๋จธ๋ฆฌ ๋ฉค๋ฒ์ ๋ํด ์ด ๋จ๊ณ๋ฅผ ์ํํฉ๋๋ค.
A. ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ์ฐ๊ฒฐ
mongosh
๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค.
mongosh --host <hostname>:<port>
์ฐธ๊ณ
๋ณต์ ๋ณธ ์ธํธ์์ ์ธ์ฆ์ ์ ์ฉํ๋ ๊ฒฝ์ฐ, clusterManager
๋๋
clusterAdmin
์ญํ ๊ณผ ๊ฐ์ด local
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํ ์ ์๋ ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก ์ธ์ฆํด์ผ ํฉ๋๋ค.
B. (์ ํ ์ฌํญ) oplog์ ํ์ฌ ํฌ๊ธฐ ํ์ธ
oplog์ ํ์ฌ ํฌ๊ธฐ๋ฅผ ๋ณด๋ ค๋ฉด local
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ํํ๊ณ oplog.rs
์ปฌ๋ ์
์ ๋ํด
db.collection.stats()
๋ฅผ ์คํํฉ๋๋ค.
stats()
๋ oplog ํฌ๊ธฐ๋ฅผ maxSize
๋ก ํ์ํฉ๋๋ค.
use local db.oplog.rs.stats().maxSize
maxSize
ํ๋๋ ์ปฌ๋ ์
ํฌ๊ธฐ๋ฅผ ๋ฐ์ดํธ ๋จ์๋ก ํ์ํฉ๋๋ค.
C. ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ oplog ํฌ๊ธฐ ๋ณ๊ฒฝ
replSetResizeOplog
๋ช
๋ น์ ์ฌ์ฉํ์ฌ oplog์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค. size
๋ double์ด๋ฉฐ 990
MB๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. mongosh
์์ oplog
size
๋ฅผ ๋ช
์์ ์ผ๋ก ์บ์คํ
ํ๋ ค๋ฉด
Double()
์์ฑ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ค์ ์์ ์ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ oplog ํฌ๊ธฐ๋ฅผ 16GB ๋๋ 16,000MB๋ก ๋ณ๊ฒฝํฉ๋๋ค.
db.adminCommand({replSetResizeOplog: 1, size: Double(16000)})
[1] | 2}๊ฐ ์ญ์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด oplog๊ฐ ๊ตฌ์ฑ๋ ํฌ๊ธฐ ์ ํ์ ์ด๊ณผํ์ฌ ์ปค์ง ์ majority commit point ์์ต๋๋ค. |
D. (์ ํ ์ฌํญ) oplog.rs
๋ฅผ ์์ถํ์ฌ ๋์คํฌ ๊ณต๊ฐ ํ๋ณด
oplog์ ํฌ๊ธฐ๋ฅผ ์ค์ฌ๋ ์๋ oplog ํฌ๊ธฐ์ ํ ๋น๋ ๋์คํฌ ๊ณต๊ฐ์ด ์๋์ผ๋ก ํ์๋์ง๋ ์์ต๋๋ค . ๋์คํฌ ๊ณต๊ฐ์ ๋ค์ ํ๋ณดํ๋ ค๋ฉด local
๋ฐ์ดํฐ๋ฒ ์ด์ค์
oplog.rs
์ปฌ๋ ์
์ ๋ํด compact
๋ฅผ ์คํํด์ผ ํฉ๋๋ค. oplog ํฌ๊ธฐ๋ฅผ ๋๋ฆฐ ํ
oplog.rs
์ปฌ๋ ์
์์ compact
๋ฅผ ์คํํด๋ ์๋ฌด๋ฐ ์ด์ ์ด ์์ต๋๋ค.
์ค์
๋ณต์ ๋ณธ ์ธํธ ๊ตฌ์ฑ์์ compact
์์
์ด ์งํ๋๋ ๋์ oplog ํญ๋ชฉ์ ๋ณต์ ํ ์ ์์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ์์ถํ๋ ๋์ oplog ๋ณต์ ๊ฐ ์ ์์ ์ผ๋ก ๊ณ์๋ ์ ์์ผ๋ฏ๋ก ๋ ์ด์ oplog์ ์์ถ ์์
์ ์ ์ง ๊ด๋ฆฌ ๊ธฐ๊ฐ์ผ๋ก ์ ํํ ํ์๊ฐ ์์ต๋๋ค.
ํ๋ผ์ด๋จธ๋ฆฌ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ์ ๋ํด compact
๋ฅผ ์คํํ์ง ๋ง์ธ์.
mongo
์
ธ์ (๋ณต์ ๋ณธ ์ธํธ๊ฐ ์๋๋ผ) ํ๋ผ์ด๋จธ๋ฆฌ์ ์ง์ ์ฐ๊ฒฐํ๊ณ rs.stepDown()
์ ์คํํฉ๋๋ค. ์ฑ๊ณตํ๋ฉด ํ๋ผ์ด๋จธ๋ฆฌ๊ฐ ๊ฐ๋ฑ๋ฉ๋๋ค. mongo
์
ธ์์ ์ด์ ์ธ์ปจ๋๋ฆฌ ๋ฉค๋ฒ๊ฐ ๋ ๋ฉค๋ฒ์ ๋ํด compact
๋ช
๋ น์ ์คํํฉ๋๋ค.
๋ค์ ์์
์ oplog.rs
์ปฌ๋ ์
์์ compact
๋ช
๋ น์ ์คํํฉ๋๋ค.
use local db.runCommand({ "compact" : "oplog.rs" } )
์ธ์ฆ์ ์ ์ฉํ๋ ํด๋ฌ์คํฐ์ ๊ฒฝ์ฐ, local
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ
oplog.rs
์ปฌ๋ ์
์์ compact
๊ถํ ์์
์ ๊ฐ์ง ์ฌ์ฉ์๋ก ์ธ์ฆํด์ผ ํฉ๋๋ค.
compact
์ธ์ฆ ์๊ตฌ ์ฌํญ์ ๊ดํ ์ ์ฒด ๋ฌธ์๋ compact
ํ์ ๊ถํ์์ ํ์ธํ์ธ์.