mongomirror
๊ฒฝ๊ณ
mongomirror
์ ๋ค์์คํ์ด์ค ํํฐ์ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, includeNamespace <database.collection>
์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๋ค์์คํ์ด์ค๊ฐ ์๋ ์์ค์ ํธ๋์ญ์
์ ์ ์๋์ง ์์ ๋์์ผ๋ก ๊ฐ์ฃผ๋์ด ์ ์ฌ์ ์ธ ๋ฐ์ดํฐ ์์ค์ ์ด๋ํฉ๋๋ค.
mongomirror
์(๋) ๊ธฐ์กด MongoDB ๋ณต์ ๋ณธ ์ธํธ์์ MongoDB Atlas ๋ณต์ ๋ณธ ์ธํธ๋ก ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ๋๊ตฌ์
๋๋ค. mongomirror ๋ค์ด๋ก๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ตฌ๋ฌธ
mongomirror
์(๋ฅผ) ์คํํ๋ ค๋ฉด ๋ค์์ ์ง์ ํด์ผ ํฉ๋๋ค.
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ๋์ Atlas ๋ณต์ ๋ณธ ์ธํธ
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ์ธ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ, ์ ์ ํ ๊ถํ, ํด๋น ๋น๋ฐ๋ฒํธ, ์ ์ ํ ๊ถํ์ ๊ฐ์ง Atlas ํด๋ฌ์คํฐ์ ์ฌ์ฉ์
mongomirror --host <sourceReplSet> \ --destination <atlasCluster> \ --destinationUsername <atlasAdminUser> \ --destinationPassword <atlasPassword> \ [Additional options]
์ผ๋ถ ์ต์
์ ๋ช
๋ น์ ํฌํจํ์ง ์๊ณ config file
์ ์ง์ ํ ์ ์์ต๋๋ค.
์ต์
--host <host>
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ํธ์คํธ ์ ๋ณด์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<RSname>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>
--username <username>
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ์ธ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ
local
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํฌํจํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ์ ์ ์๋ ๊ถํ์ด ์๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์ ์ฌ์ฉ์ ์ด๋ฆ์ ๋๋ค.backup
์ญํ ์ ๊ฐ์ง ์ฌ์ฉ์๋ ์ ์ ํ ๊ถํ์ ์ ๊ณตํฉ๋๋ค. ํ์ํ ํน์ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์์ค ๋ณต์ ๋ณธ ์ธํธ์ ํ์ํ ์ก์ธ์ค ๊ถํ์ ์ฐธ์กฐํ์ธ์.
--authenticationDatabase <authenticationDatabase>
--username
์ ์ง์ ๋ ์ฌ์ฉ์๊ฐ ์์ฑ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ๊ฐ ์ฌ์ฉ์๋ฅผ ์ํ ์ธ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.SCRAM ์ธ์ฆ ์ฌ์ฉ์๋
admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.X.509 ์ธ์ฆ ์ฌ์ฉ์๋
$external
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.AWS IAM ์ธ์ฆ ์ฌ์ฉ์๋
$external
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
์์ธํ ์์๋ณด๋ ค๋ฉด ์ธ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐธ์กฐํ์ธ์.
--authenticationMechanism <authenticationMechanism>
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ๋ํด ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
๊ฐ์ค๋ชRFC 5802 ํ์ค SHA-1 ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ํฐ๋ ์ฑ๋ฆฐ์ง ์๋ต ์ธ์ฆ ๋ฉ์ปค๋์ฆ.
RFC 5802 ํ์ค SHA-256 ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ํฐ๋ ์ฑ๋ฆฐ์ง ์๋ต ์ธ์ฆ ๋ฉ์ปค๋์ฆ.
MongoDB TLS/SSL ์ธ์ฆ์ ์ธ์ฆ.
GSSAPI (Kerberos)
Kerberos๋ฅผ ์ฌ์ฉํ ์ธ๋ถ ์ธ์ฆ. ์ด ๋ฉ์ปค๋์ฆ์ MongoDB Enterprise์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
PLAIN (LDAP SASL)
LDAP๋ฅผ ์ฌ์ฉํ ์ธ๋ถ ์ธ์ฆ.
PLAIN
์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์๋ ์์ต๋๋ค.PLAIN
์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์กํฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ MongoDB Enterprise์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.MONGODB-IAM
๋ฒ์ 0.10.0์ ์๋ก์ด ๊ธฐ๋ฅ
AWS IAM์ ํตํ ์ธ๋ถ ์ธ์ฆ.
AWS IAM ์๊ฒฉ ์ฆ๋ช ์ผ๋ก ์ธ์ฆํ๋ ค๋ฉด ๋ค์ ์ต์ ์ ์ฌ์ฉํ์ธ์.
--username
<AWS access key id>--password
<secret access="" key="" id=""></secret>--awsSessionToken
<AWS session token>
์์ธํ ์์๋ณด๋ ค๋ฉด ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ฐธ์กฐํ์ธ์.
--awsSessionToken
๋ฒ์ 0.10.0์ ์๋ก์ด ๊ธฐ๋ฅ
MONGODB-IAM
์ธ์ฆ ๋ฉ์ปค๋์ฆ๊ณผ ํจ๊ป ์ฌ์ฉํ๊ธฐ ์ํ AWS ์ธ์ ํ ํฐ์ ๋๋ค.
--compressors <snappy,...>
๋ฒ์ 1.5.0์ ์๋ก์ด ๊ธฐ๋ฅ
ํ์ฑํํ ์์ถ๊ธฐ ๋ชฉ๋ก์ ์ผํ๋ก ๊ตฌ๋ถํฉ๋๋ค. ๋นํ์ฑํํ๋ ค๋ฉด 'none'์ ์ฌ์ฉํ์ญ์์ค. ๊ธฐ๋ณธ๊ฐ :
snappy,zstd,zlib
--config=<file>
mongomirror
์ ์ต์ ๊ณผ ๊ฐ์ ์ ์ฅํ๋ YAMLํ์ผ์ ๋๋ค. ์๋ ๊ฒฝ๋ก ๋๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ
mongomirror
ํ์ผ์ ํฌํจ๋ ์ต์ ๊ณผ ํจ๊ป์(๋ฅผ) ์คํํ ํ์ผ์ ์ง์ ํฉ๋๋ค.๊ตฌ์ฑ ํ์ผ์ ๋ค์ ์ต์ ์ ์ง์ํฉ๋๋ค.
password
<password>sslPEMKeyPassword
<password>destinationPassword
<password>
option: value
๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ ํ์ผ์์ ์ต์ ์ ์ง์ ํฉ๋๋ค. ๊ตฌ์ฑ ํ์ผ์ ์ต์ ์์--
์(๋ฅผ) ํฌํจํ์ง ๋ง์ธ์. ๊ตฌ์ฑ ํ์ผ์ ์ต์ ์ ์ค์ ํ ๊ฒฝ์ฐmongomirror
๋ช ๋ น์ด ๋ด์์ ํด๋น ์ต์ ์ ์ง์ ํ ํ์๊ฐ ์์ต๋๋ค.์์
๋ค์์ ํฌํจํ๋
myconfig.yaml
(์ด)๋ผ๋ ๊ตฌ์ฑ ํ์ผ์ ๋ง๋ญ๋๋ค.password: <passwordForUser> destinationPassword: <passwordForDestinationUser> --password
๋ฐ--destinationPassword
ํ๋๊ทธ๋ฅผ ํฌํจํ์ง ์๊ณmongomirror
๋ฅผ ์คํํ ์ ์์ต๋๋ค.mongomirror --host <sourceReplSet> \ --ssl \ --username <atlasAdminUser> \ --destinationUsername <atlasAdminUser> \ --config=myconfig.yaml \ --destination <atlasCluster> \ [Additional options]
--destination <destination>
๋์ Atlas ๋ณต์ ๋ณธ ์ธํธ์ ํธ์คํธ ์ ๋ณด์ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<RSname>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>
--destinationAuthenticationDatabase <authentication database>
Atlas ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์ ๋ํ ์ธ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. SCRAM ์ธ์ฆ ์ฌ์ฉ์๋ฅผ ์ํ ์ธ์ฆ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋
admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.์์ธํ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
--destinationAuthenticationMechanism <authentication mechanism>
Atlas ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ฅผ ์ํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๋๋ค. Atlas๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ฅผ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ธ์ฆ ํ์์ ์ ๊ณตํฉ๋๋ค.
๊ฐ์ค๋ชRFC 5802 ํ์ค SHA-1 ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ํฐ๋ ์ฑ๋ฆฐ์ง ์๋ต ์ธ์ฆ ๋ฉ์ปค๋์ฆ.
RFC 5802 ํ์ค SHA-256 ํด์ ํจ์๋ฅผ ์ฌ์ฉํ๋ ์ํฐ๋ ์ฑ๋ฆฐ์ง ์๋ต ์ธ์ฆ ๋ฉ์ปค๋์ฆ.
PLAIN (LDAP SASL)
LDAP๋ฅผ ์ฌ์ฉํ ์ธ๋ถ ์ธ์ฆ.
PLAIN
์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์๋ ์์ต๋๋ค.PLAIN
์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์กํฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ MongoDB Enterprise์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.์์ธํ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
--destinationUsername <Atlas user name>
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ณ , ์ฐ๊ณ , ๊ด๋ฆฌํ ์ ์๋ ๊ถํ์ด ์๋ Atlas ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์ ์ด๋ฆ์ ๋๋ค. Atlas ๊ด๋ฆฌ์ ์ญํ ์ด ์๋ ์ฌ์ฉ์๋ ์ ์ ํ ๊ถํ์ ์ ๊ณตํฉ๋๋ค. ํ์ํ ํน์ ๊ถํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋์ ํด๋ฌ์คํฐ์ ํ์ํ ์ก์ธ์ค๊ถํ์ ์ฐธ์กฐํ์ธ์.
--destinationPassword <password>
--destinationUsername
์ ์ง์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ์ ๋๋ค.
--drop
mongomirror
๊ฐ ๋์ ํด๋ฌ์คํฐ์ ๋ชจ๋ ์ฌ์ฉ์ collection(listCollections
๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณผ ์ ์์)์ ์ ๊ฑฐํด์ผ ํจ์ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค. ์ด ์ต์ ์local.system*
๋ฐ oplog์ ๊ฐ์ ๋ด๋ถ collection์ ์ ๊ฑฐํ์ง ์์ต๋๋ค.
--noIndexRestore
๋ฒ์ 0.10.0์ ์๋ก์ด ๊ธฐ๋ฅ
๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ธ๋ฑ์ค๋ฅผ ์๋ตํฉ๋๋ค.
--includeNamespace <database.collection>
์์ค ํด๋ฌ์คํฐ์์ ๋์ ํด๋ฌ์คํฐ์ ๋ฏธ๋ฌ๋งํ ๋ค์์คํ์ด์ค๋ฅผ ์ง์ ํฉ๋๋ค. ์ฌ๋ฌ ์ฐจ๋ก ์ ๊ณต๋ ์ ์์ต๋๋ค.
์ฐธ๊ณ
ํธ๋์ญ์ ์ด ์ฌ๋ฌ ๋ค์์คํ์ด์ค์ ๊ฑธ์ณ ์๋ ๊ฒฝ์ฐ
--includeNamespace
๋๋--includeDB
์ ์ง์ ๋ ๋ค์์คํ์ด์ค์ ์ ์ฉ๋ ์ฐ๊ธฐ ์์ ๋ง ๋์ ํด๋ฌ์คํฐ์ ์ ์ฉ๋ฉ๋๋ค.
--includeDB <database>
์์ค ํด๋ฌ์คํฐ์์ ๋์ ํด๋ฌ์คํฐ์ ๋ฏธ๋ฌ๋งํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ํฉ๋๋ค. ์ฌ๋ฌ ์ฐจ๋ก ์ ๊ณต๋ ์ ์์ต๋๋ค.
์ฐธ๊ณ
ํธ๋์ญ์ ์ด ์ฌ๋ฌ ๋ค์์คํ์ด์ค์ ๊ฑธ์ณ ์๋ ๊ฒฝ์ฐ
--includeNamespace
๋๋--includeDB
์ ์ง์ ๋ ๋ค์์คํ์ด์ค์ ์ ์ฉ๋ ์ฐ๊ธฐ ์์ ๋ง ๋์ ํด๋ฌ์คํฐ์ ์ ์ฉ๋ฉ๋๋ค.
--sslPEMKeyFile <file>
์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ํด๋ผ์ด์ธํธ๊ฐ ์ธ์ฆ์๋ฅผ ์ ์ํด์ผ ํ๋ ๊ฒฝ์ฐ์ ํด๋นํ๋ .pem ํ์ผ์ ๋๋ค..pem ํ์ผ์๋ TLS/SSL ์ธ์ฆ์ ๋ฐ ํค๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ต๋๋ค.์๋ ๊ฒฝ๋ก ๋๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ง์ ํฉ๋๋ค.
--sslPEMKeyPassword <value>
--sslPEMKeyFile
์ ์ง์ ๋ ์ธ์ฆ์ ํค ํ์ผ์ ํด๋ ํ๊ธฐ ์ํ ๋น๋ฐ๋ฒํธ์ ๋๋ค.--sslPEMKeyFile
์ด(๊ฐ) ์ํธํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
--sslCAFile <file>
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ๋ํ ์ธ์ฆ ๊ธฐ๊ด(CA)์ ์ต์์ ์ธ์ฆ์ ์ฒด์ธ์ด ํฌํจ๋ .pem ํ์ผ์ ๋๋ค. ์๋ ๊ฒฝ๋ก ๋๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ง์ ํฉ๋๋ค.
--sslCRLFile <filename>
์์ค ๋ณต์ ๋ณธ ์ธํธ์ ๋ํ ์ธ์ฆ์ ํด์ง ๋ชฉ๋ก์ด ํฌํจ๋ .pem ํ์ผ์ ๋๋ค. ์๋ ๊ฒฝ๋ก ๋๋ ์ ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ง์ ํฉ๋๋ค.
--sslAllowInvalidHostnames
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋ค์์ ์ฌ์ฉํ์ธ์.
tlsInsecure
๋์์์ค ๋ณต์ ๋ณธ ์ธํธ๊ฐ ์ ๊ณตํ๋ TLS/SSL ์ธ์ฆ์์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋นํ์ฑํํฉ๋๋ค. ์ธ์ฆ์์ ํธ์คํธ ์ด๋ฆ์ด ์ง์ ๋ ํธ์คํธ ์ด๋ฆ๊ณผ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ
mongomirror
๊ฐ ์์ค ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค.์ค์
์ด ์ต์ ์ ๋ชจ๋ ์ธ์ฆ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋ฐ๋ฏ๋ก ์๋ชป๋ ์ธ์ฆ์๋ฅผ ์๋ฝํ๊ฒ ๋ ์๋ ์์ต๋๋ค.
--sslAllowInvalidCertificates
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ๋ค์์ ์ฌ์ฉํ์ธ์.
tlsInsecure
๋์์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ์ ๊ณตํ๋ ์ธ์ฆ์์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฐํํฉ๋๋ค.
--allowInvalidCertificates
์ค์ ์ ์ฌ์ฉํ ๋ MongoDB๋ ์ ํจํ์ง ์์ ์ธ์ฆ์ ์ฌ์ฉ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ๋ก๊ทธํฉ๋๋ค.์ค์
์ด ์ต์ ์ ๋ชจ๋ ์ธ์ฆ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋ฐ๋ฏ๋ก ์๋ชป๋ ์ธ์ฆ์๋ฅผ ์๋ฝํ๊ฒ ๋ ์๋ ์์ต๋๋ค.
--tlsInsecure
์๋ฒ์ ์ธ์ฆ์ ์ฒด์ธ ๋ฐ ํธ์คํธ ์ด๋ฆ์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋ชป๋ ์ธ์ฆ์ ๋ฐ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ ์ง์์ด ์ค๋จ๋
sslAllowInvalidHostnames
๋ฐsslAllowInvalidCertificates
์ต์ ์ ๋์ฒดํฉ๋๋ค.
--gssapiServiceName <name>
์์ค ๋ณต์ ๋ณธ ์ธํธ๊ฐ Kerberos ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GSSAPI/Kerberos๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ์ด๋ฆ์ ๋๋ค. ์๋น์ค๊ฐ ๊ธฐ๋ณธ ์ด๋ฆ์ธ
mongodb
์(๋ฅผ) ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค.์ด ์ต์ ์ MongoDB Enterprise์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
--gssapiHostName <host>
์์ค ๋ณต์ ๋ณธ ์ธํธ๊ฐ Kerberos ์ธ์ฆ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ GSSAPI/Kerberos๋ฅผ ์ฌ์ฉํ๋ ์๋น์ค์ ํธ์คํธ ์ด๋ฆ์ ๋๋ค. ์์คํ ์ ํธ์คํธ ์ด๋ฆ์ด DNS์์ ํ์ธํ ํธ์คํธ ์ด๋ฆ๊ณผ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค.
์ด ์ต์ ์ MongoDB Enterprise์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
--readPreference <read preference>
๋ฒ์ 0.9.0๋ถํฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์
mongomirror
๋ ์์ค๊ฐ ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ์ด ์๋ ๋จ์ผ ํธ์คํธ์ธ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ๋ ํญ์ ํ๋ผ์ด๋จธ๋ฆฌ์์ ์ฝ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ํด๋น ํธ์คํธ์๋ง ์ง์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
--writeConcern <write concern>
๋ฒ์ 0.2.3๋ถํฐ ํ์ง:
mongomirror
๋ ํญ์ ๋ค์ ์ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
--numParallelCollections <num>, -j <num>
๊ธฐ๋ณธ๊ฐ: 4
๋ณ๋ ฌ๋ก ๋ณต์ฌ ๋ฐ ๋ณต์ํ ์ปฌ๋ ์ ์ ์์ ๋๋ค.
--bypassDocumentValidation
๋ฒ์ 0.2.3๋ถํฐ ํ์ง:
mongomirror
๋ ํญ์ ๋ฌธ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฐํํฉ๋๋ค.
--bookmarkFile <file>
๊ธฐ๋ณธ๊ฐ: mongomirror.bookmark
oplog ํ์์คํฌํ ๋ถ๋งํฌ ํ์ผ์ ์ด๋ฆ์ ๋๋ค.
--forceDump
๋น์ด ์์ง ์์ ๋ถ๋งํฌ ํ์ผ์ด ์กด์ฌํ๋๋ผ๋
mongomirror
๊ฐ ๋ชจ๋ ์์ค ์ปฌ๋ ์ ์ ๋ค์ ๋๊ธฐํํจ์ ๋ํ๋ด๋ ํ๋๊ทธ์ ๋๋ค.
--oplogPath <path>
๋ฒ์ 0.5.0์ ์๋ก์ด ๊ธฐ๋ฅ
mongomirror
๊ฐ ์ด๊ธฐ ๋๊ธฐํ oplog window๋ฅผ ๋์คํฌ์ ๋ฒํผ๋งํ๋๋ก ์ค์ ํฉ๋๋ค. ์ด ์ต์ ์ ๊ฐ์ ์ง์ ํ๋ฉดmongomirror
๋ ์์ค oplog ์ํธ๋ฆฌ๋ฅผ ๋จ์ผ ํ์ผ๋ก ์ง์ ๋ ๋๋ ํ ๋ฆฌ(<oplogPath>/oplog-mongomirror.bson.sz
)๋ก ์คํธ๋ฆฌ๋ฐํฉ๋๋ค. ์ ์ฒด oplog ํ์ผ์ด ๋์ ํด๋ฌ์คํฐ๋ก ์ฌ์๋ ํmongomirror
๋ ํ์ผ์ ์ ๊ฑฐํ๊ณ ๋ฒํผ๋ง ์์ด ์์ค oplog๋ฅผ ํ ์ผ๋งํ๊ธฐ ์์ํฉ๋๋ค.๊ธฐ๋ณธ์ ์ผ๋ก
mongomirror
๋ ์์ค์์ oplog ํญ๋ชฉ์ ์คํธ๋ฆฌ๋ฐํ์ฌ ๋์ ํด๋ฌ์คํฐ์ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์์ค oplog๊ฐ ์ ์ฒด ์ด๊ธฐ ๋๊ธฐํ oplog window๋ฅผ ํฌํจํ ๋งํผ ํฌ์ง ์์ ๊ฒฝ์ฐ์๋ ๋ง์ด๊ทธ๋ ์ด์ ์ด ์คํจํ ์ ์์ต๋๋ค. ์ด ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์์ค oplog์ ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ด ์ต์ ์ ์ง์ ํ์ฌ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ธ์ค ์ค์ ์์ค oplog์ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง์ง ์๋๋ก ํ๋ฉด ๋ฉ๋๋ค.์ค์
์ด๊ธฐ
mongomirror
๋๊ธฐํ ์ค์ ๋ฐ์ํ๋ ๋ชจ๋ ์์ค oplog ํญ๋ชฉ์ ์์ฉํ ์ ์๋ ์ถฉ๋ถํ ๋์คํฌ ๊ณต๊ฐ์ด ์์ด์ผ ํฉ๋๋ค.์๋ฅผ ๋ค์ด, ์์ค oplog๊ฐ 10GB์ด๊ณ 24์๊ฐ ๋์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ด๊ณ ์์ผ๋ฉฐ
mongomirror
์ ๋๊ธฐํ์ 48์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ผ๋ก ์์๋๋ ๊ฒฝ์ฐ, ์ง์ ๋ ๋๋ ํ ๋ฆฌ์ ์ต์ 20GB์ ๋์คํฌ ์ฌ์ ๊ณต๊ฐ์ด ์์ด์ผ ํฉ๋๋ค.
--oplogBatchSize <num>
๊ธฐ๋ณธ๊ฐ: 10,000
๋ฐฐ์น๋ก ์ ์กํ oplog ์ํธ๋ฆฌ์ ์๋ฅผ ์ง์ ํฉ๋๋ค.
mongomirror
๋ ๋ฌธ์ ๋ฐฐ์น ์ ์ก ์ ์ต๋ 16 MB ๋ณผ๋ฅจ ํฌ๊ธฐ๋ฅผ ํ์ฉํฉ๋๋ค.
--httpStatusPort <num>
์ง์ ํ ํฌํธ์์ HTTP ์๋ฒ๋ฅผ ์์ํ๋๋ก
mongomirror
์ ์ง์ํฉ๋๋ค.http://localhost:<num>
์ HTTP
GET
์์ฒญ์ ์ ์กํ์ฌmongomirror
์ ํ์ฌ ์ํ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
--httpStatusPort
๋ก ์คํํ ๋mongomirror
๋ ์ค๋ฅ๊ฐ ๋ฐ์ํด๋ ์ข ๋ฃ๋์ง ์์ต๋๋ค. ๋์ ์ค๋ฅ๋ฅผ ์ ์์ ์ผ๋ก ๊ธฐ๋กํ๊ณ HTTP๋ฅผ ํตํด ์ง์ ๋ ํฌํธ์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.mongomirror
๋ HTTP ์์ฒญ์ ๋ํ ์๋ต์ผ๋ก ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ค์ ์์ ๊ตฌ๋ฌธ์ ๊ฐ๋ฅํ ๋ชจ๋ ์ถ๋ ฅ ํ๋๋ฅผ ๋ํ๋ด๋ฉฐ ์ค์ ์๋ต์ ์ด๋ฌํ ํ๋์ ํ์ ์งํฉ๋ง ๋ฐํํ ์ ์์ต๋๋ค. ํ๋์ ๋ํ ์ค๋ช ๊ณผ ์์ ์๊ธฐ๋ ๋ค์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์.{ "stage" : "<stage Name>", "phase" : "<phase Name>", "details" : { "currentTimestamp" : "<BSON timestamp>", "latestTimestamp" : "<BSON timestamp>", "lastWriteOnSourceTimestamp" : "<BSON timestamp>", "<namespace>" : { "complete" : <boolean>, "copiedBytes" : <integer>, "totalBytes" : <integer>, "createIndexes" : <integer> }, ... }, "errorMessage" : "<error message>" } ๋ค์ ํ์์๋ ๊ฐ ํ๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ ๋ํด ์ค๋ช ํฉ๋๋ค:
ํ๋์ค๋ชstage
์งํ ์ค์ธ ๋จ๊ณ์ ์ด๋ฆ์ ๋๋ค. ๊ฐ๋ฅํ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
initializing
mongomirror
์ด(๊ฐ) ์์๋์์ง๋ง ์์ง ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ์ง ์์ต๋๋ค.initial sync
mongomirror
์ด(๊ฐ) ์์ค ๋ฐฐํฌ์๋ฒ ์ ์ด๋ฏธ ์กด์ฌํ๋ ๋ฌธ์์ ์ธ๋ฑ์ค๋ฅผ ๋ณต์ฌํ๊ณ ์์ต๋๋ค.mongomirror
๋ ๋ํ oplog ์ ํญ๋ชฉ์ ํ ์ผ๋งํ์ฌ ์ ์ฉํฉ๋๋ค.oplog sync
mongomirror
๊ฐ oplog ํญ๋ชฉ์ ํ ์ผ๋งํ์ฌ ์ ์ฉํฉ๋๋ค.
phase
๋จ๊ณ์ ์ด๋ฆ์ ๋๋ค.
stage
์ ์ด๋ค ๋ถ๋ถ์ด ์งํ ์ค์ธ์ง์ ๋ํ ๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.details
ํ์ฌ ๋จ๊ณ์ ์งํ ์ํฉ์ ๋ํ ์์ธํ ์ค๋ช ์ ์ ๊ณตํ๋ ๋ฌธ์์ ๋๋ค.
initial sync
๋จ๊ณ์์ ์ ๊ฐ ํ์details
๋ฌธ์๋ ์์ ๋ณต์ฌํ๋ ๋จ์ผ ์ปฌ๋ ์ mongomirror
๋ํ๋ ๋๋ค.stage
๋๋phase
mongomirror
์ ๋ฐ๋ผ ๋ ์๋ต์ ์ด ํ๋ ํฌํจํ์ง ์์ ์ ์์ต๋๋ค.details.<namespace>
๋ณต์ฌ๋๋ ์ปฌ๋ ์ ์ ์ ์ฒด ๋ค์์คํ์ด์ค์ด๋ฉฐ
<database>.<collection>
(์ผ)๋ก ํ์๋ฉ๋๋ค.๋ฌธ์ ๋๋ ์ธ๋ฑ์ค๋ฅผ ๋ณต์ฌํ ๋
initial sync
๋จ๊ณ์์๋ง ํ์๋ฉ๋๋ค.details.<namespace>.complete
๊ฐ ์ปฌ๋ ์ ์ ๋ชจ๋ ๋ฌธ์ ๋๋ ์ธ๋ฑ์ค๋ฅผ ๋์ Atlas cluster ๋ก ๋ณต์ฌํ๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋๋
true
false
๋ฅผ ํ์ํฉ๋๋ค.mongomirror
๋ฌธ์ ๋๋ ์ธ๋ฑ์ค๋ฅผ ๋ณต์ฌํ ๋
initial sync
๋จ๊ณ์์๋ง ํ์๋ฉ๋๋ค.details.<namespace>.copiedBytes
์ง๊ธ๊น์ง ๋ณต์ฌ๋ ๋ฐ์ดํธ ์์ ๋๋ค. ์ด๋
mongomirror
๋ณต์ฌ๋ ํ์ฌ/์ด ๋ฌธ์ ์๋ฅผ ๋ณด๊ณ ํ๋ ๋ก๊ทธ์๋ ๋ค๋ฅธ ์ธก์ ๊ฐ์ ๋๋ค.๋น์ธ๋ฑ์ค ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ ๋
initial sync
๋จ๊ณ ์ค์๋ง ํ์๋ฉ๋๋ค.details.<namespace>.totalBytes
collection์ ์ด ํฌ๊ธฐ(๋ฐ์ดํธ)์ ๋๋ค.
๋น์ธ๋ฑ์ค ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ ๋
initial sync
๋จ๊ณ ์ค์๋ง ํ์๋ฉ๋๋ค.details.<namespace>.createIndexes
์์ฑ๋์๊ฑฐ๋ ์์ฑ๋ ์ธ๋ฑ์ค์ ์์ ๋๋ค.
์ธ๋ฑ์ค๋ฅผ ๋ณต์ฌํ ๋
initial sync
๋จ๊ณ์์๋ง ํ์๋ฉ๋๋ค.details.currentTimestamp
๊ฐ์ฅ ์ต๊ทผ์ ์ฒ๋ฆฌ๋ oplog ํญ๋ชฉ์ BSON ํ์์คํฌํ ๊ฐ์ ๋๋ค.
mongomirror
๋ ์ด ๋ฐ์ดํฐ ์ 10 ์ด๋ง๋ค ์๋ก ๊ณ ์นจํ๋ฏ๋ก ๋ ๋ณด๊ณ ๋ ์๊ฐ๋ณด๋ค ์ฝ๊ฐ ๋mongomirror
์์ค ์ ์์ต๋๋ค.oplog ์ํธ๋ฆฌ๋ฅผ ํ ์ผ๋งํ๊ฑฐ๋ ์ ์ฉํ ๋
initial sync
๋๋oplog sync
๋จ๊ณ ๋์์๋ง ํ์๋ฉ๋๋ค.details.latestTimestamp
initial sync
๋จ๊ณ์์ ์ด๋ ์ด๊ธฐ ๋๊ธฐํ ์ค์ ์ด๊ธฐ ๋ฐ์ดํฐ๊ฐ ๋ณต์ฌ๋ ํ ์ฌ์ฉํ ์ ์๋ ์ต์ oplog ํญ๋ชฉ์ BSON ํ์์คํฌํ ๊ฐ์ ๋ํ๋ ๋๋ค.oplog sync
๋จ๊ณ์์๋ ์์ค ๋ฐฐํฌ์์ ์ฌ์ฉํ ์ ์๋ ์ต์ oplog ํญ๋ชฉ์ BSON ํ์์คํฌํ ๊ฐ์ ๋ํ๋ ๋๋ค.oplog ์ํธ๋ฆฌ๋ฅผ ํ ์ผ๋งํ๊ฑฐ๋ ์ ์ฉํ ๋
initial sync
๋๋oplog sync
๋จ๊ณ ๋์์๋ง ํ์๋ฉ๋๋ค.details
.lastWriteOnSourceTimestamp
no-op์ด ์๋ ๊ฐ์ฅ ์ต๊ทผ oplog ํญ๋ชฉ์ BSON ํ์์คํฌํ ๊ฐ์ ๋๋ค. ์์ ์์ ํญ๋ชฉ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ (write) ํธ์งํ์ง ์๋ ํํธ๋นํธ์ ๊ฐ์ ์์คํ ์์ค ์์ ์ ๋๋ค. ๋ ์ด๋ง๋ค
mongomirror
์ด ๊ฐ์ ์๋ก ๊ณ ์นฉ๋๋ค.10 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ธฐ (write) ํธ์งํ๋ ์์ ์ ๋ค์ ์๋ก ๊ณ ์นจ์ด ๋ฐ์ํ ๋๊น์ง ๋ณด๊ณ ๋์ง ์์ ์ ์์ต๋๋ค.lastWriteOnSourceTimestamp
ํ๋๋ ๋ง์ด๊ทธ๋ ์ด์ ์ค์ ์ ํํ๊ธฐ ์ ์ ์์ค ๋ฐฐํฌ์์ ์๋ก์ด ์ฐ๊ธฐ๊ฐ ๋ฐ์ํ์ง ์์์ ํ์ธํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.errorMessage
์์ ๋ฐ์ํ ์ค๋ฅ๋ฅผ ์ค๋ช ํ๋
mongomirror
๋ฌธ์์ด์ ๋๋ค.
--collStatsThreshold <num>
๋ฒ์ 1.5.0์ ์๋ก์ด ๊ธฐ๋ฅ
collStats๊ฐ ๋นํ์ฑํ๋๊ธฐ ์ ์ ์กด์ฌํ ์ ์๋ ์ต๋ ์ปฌ๋ ์ ์์ ๋๋ค. CollStats๋ฅผ ํญ์ ์คํํ๋ ค๋ฉด
-1
์ ์ฌ์ฉํ๊ณ ์คํํ์ง ์์ผ๋ ค๋ฉด0
์ ์ฌ์ฉํ์ธ์. ๊ธฐ๋ณธ๊ฐ์-1
์ ๋๋ค.
--removeAutoIndexId
๋ฒ์ 0.12.0์ ์๋ก์ด ๊ธฐ๋ฅ
๋์ ํด๋ฌ์คํฐ์ ๋ํ ์ด๊ธฐ ๋๊ธฐํ ์ค์ ์ปฌ๋ ์ ์์
autoIndexId
์ต์ ์ ์ ๊ฑฐํฉ๋๋ค. ๋ํ ๋ง์ด๊ทธ๋ ์ด์ ์ค์mongomirror
์ด(๊ฐ) ์์ฑํ๋ ๋ชจ๋ ์ปฌ๋ ์ ์์autoIndexId
์ต์ ์ ์ ๊ฑฐํฉ๋๋ค.
--preserveUUIDs
Atlas๊ฐ ์ค์๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ์ค์ UUID๋ฅผ ์ ์งํ๋๋ก ํ์ฉํฉ๋๋ค. ์ด ์ต์ ์ ์ค์ง Atlas์์ ์คํํ๋ ์ค์๊ฐ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ธ์ค์์๋ง ์๋ํฉ๋๋ค. ๋ช ๋ น์ค์์
--preserveUUIDs
์ต์ ์ ์ฌ์ฉํ๋ฉด ๊ถํ ์ค๋ฅ๋ก ์ธํด ์คํจํ๊ฒ ๋ฉ๋๋ค. ํด๋น ์ต์ ์mongomirror
๋ฅผ ์คํํ๋ ์์ฒด ๊ด๋ฆฌํ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ธ์ค์ ๋ช ๋ น์ค์์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋ฏ๋ก, ์ค๋ฅ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
์์
๋ณต์ ๋ณธ ์ธํธ๋ฅผ Atlas๋ก ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค(์์ค์์ ์ธ์ฆ ์์)
๋ค์ ์์์๋ ์ธ์ฆ์ด ํ์ํ์ง ์์ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค.
mongomirror --host sourceRS/source-host1:27017,source-host2:27017 \ --destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \ --destinationUsername myAtlasUser \ --destinationPassword myAtlasPwd
์ธ์ฆ์ด ํ์ํ์ง ์์ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ค๋ฉด ๋ค์ ์ต์
์ ์ฌ์ฉํ์ฌ mongomirror
์(๋ฅผ) ์คํํฉ๋๋ค.
--host
<sourcereplset seed="" list="" of="" members=""></sourcereplset>--destination
<atlas cluster=""></atlas>--destinationUsername
<atlasUser>--destinationPassword
<atlasPassword>
๋์์ ๊ฒฝ์ฐ ๋ค์ ํ์์ผ๋ก ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๊ทธ ๋ค์ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<replicaSetName>/<host1>:<port1>,<host2>:<port2>,<host3>:<port3>,...
์ง์ ๋ ์ฌ์ฉ์๋ Atlas์์ Atlas admin
์ญํ ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๋ง์ด๊ทธ๋ ์ด์ : ์์ค ๋ณต์ ๋ณธ ์ธํธ๊ฐ SCRAM-SHA1 ์ธ์ฆ์ ์ฌ์ฉํจ
๋ค์ ์์์๋ SCRAM-SHA1 ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ๋ฅผ Atlas๋ก ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค.
mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \ --username mySourceUser \ --password mySourcePassword \ --authenticationDatabase admin \ --destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \ --destinationUsername myAtlasUser \ --destinationPassword atlasPassw0Rd
SCRAM-SHA1 ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ค๋ฉด ๋ค์ ์ต์
์ ์ฌ์ฉํ์ฌ mongomirror
์(๋ฅผ) ์คํํฉ๋๋ค.
--host
<sourcereplset seed="" list="" of="" members=""></sourcereplset>--username
<sourceUser>--password
<sourcePassword>--authenticationDatabase
<sourceDatabase>--destination
<atlas cluster=""></atlas>--destinationUsername
<atlasUser>--destinationPassword
<atlasPassword>
์์ค ๋ณต์ ๋ณธ ์ธํธ ์ฌ์ฉ์๋ ์์ค ํด๋ฌ์คํฐ์ ํ์ํ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. backup
์ญํ ์ ์ ์ ํ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.
๋์์ ๊ฒฝ์ฐ ๋ค์ ํ์์ผ๋ก ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๊ทธ ๋ค์ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...
์ง์ ๋ ์ฌ์ฉ์๋ Atlas์ Atlas admin
์ด(๊ฐ) ์์ด์ผ ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๋ง์ด๊ทธ๋ ์ด์ : ์์ค ๋ณต์ ์ธํธ์ X.509 ํด๋ผ์ด์ธํธ ์ธ์ฆ ํ์
๋ค์ ์์์๋ X.509 ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค.
mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \ --username "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry" \ --authenticationDatabase '$external' \ --authenticationMechanism MONGODB-X509 \ --ssl \ --sslPEMKeyFile <path-to-my-client-certificate.pem> \ --sslCAFile <path-to-my-certificate-authority-certificate.pem> \ --destination myAtlasRS/atlas-host1:27017,atlas-host2:27017 \ --destinationUsername myAtlasUser \ --destinationPassword atlasPassw0Rd
X.509 ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ค๋ฉด ๋ค์ ์ต์
๊ณผ ํจ๊ป mongomirror
๋ฅผ ์คํํฉ๋๋ค.
--host
<sourcereplset seed="" list="" of="" members=""></sourcereplset>--username
<subject from="" the="" client="" certificate=""></subject>--authenticationMechanism
MONGODB-X509
--authenticationDatabase
'$external'
--sslPEMKeyFile
<path-to-my-client-certificate.pem>--sslCAFile
<path to="" root="" ca="" pem="" file=""></path>--destination
<atlas cluster=""></atlas>--destinationUsername
<atlasUser>--destinationPassword
<atlasPassword>
์์ค ๋ณต์ ๋ณธ ์ธํธ ์ฌ์ฉ์๋ ์์ค ํด๋ฌ์คํฐ์ ํ์ํ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. backup
์ญํ ์ ์ ์ ํ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.
๋์์ ๊ฒฝ์ฐ ๋ค์ ํ์์ผ๋ก ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๊ทธ ๋ค์ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...
์ง์ ๋ ์ฌ์ฉ์๋ Atlas์ Atlas admin
์ด(๊ฐ) ์์ด์ผ ํฉ๋๋ค.
๋ณต์ ๋ณธ ์ธํธ ๋ง์ด๊ทธ๋ ์ด์ : ์์ค ๋ณต์ ๋ณธ ์ธํธ์ Kerberos/GSSAPI ์ธ์ฆ ํ์
๋ค์ ์์์๋ Kerberos ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์ ํฉ๋๋ค.
mongomirror --host sourceRS/source-host1:27017,source-host2:27017,source-host3:27017 \ --username sourceUser/administrator@MYREALM.COM \ --authenticationDatabase '$external' \ --authenticationMechanism GSSAPI \ --destination myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017 \ --destinationUsername atlasUser \ --destinationPassword atlasPass
Kerberos ์ธ์ฆ์ ์ฌ์ฉํ๋ ์์ค ๋ณต์ ๋ณธ ์ธํธ์์ ๋ง์ด๊ทธ๋ ์ด์
ํ๋ ค๋ฉด ๋ค์ ์ต์
์ ์ฌ์ฉํ์ฌ mongomirror
๋ฅผ ์คํํฉ๋๋ค.
--host
<sourcereplset seed="" list="" of="" members=""></sourcereplset>--username
<kerberos user="" principal=""></kerberos>--authenticationDatabase
'$external'
--authenticationMechanism
GSSAPI
--destination
<atlas cluster=""></atlas>--destinationUsername
<atlasUser>--destinationPassword
<atlasPassword>
์์ค ๋ณต์ ๋ณธ ์ธํธ ์ฌ์ฉ์๋ ์์ค ํด๋ฌ์คํฐ์ ํ์ํ ์ก์ธ์ค ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค. backup
์ญํ ์ ์ ์ ํ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.
๋์์ ๊ฒฝ์ฐ ๋ค์ ํ์์ผ๋ก ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๊ทธ ๋ค์ ๋ ธ๋์ ์๋ ๋ชฉ๋ก์ ์ง์ ํฉ๋๋ค.
<replicaSetName>/<replicaMember>,<replicaMember>,<replicaMember>,...
์ง์ ๋ ์ฌ์ฉ์๋ Atlas์ Atlas admin
์ด(๊ฐ) ์์ด์ผ ํฉ๋๋ค.
mongomirror
์ถ๋ ฅ์ ํ์ผ๋ก ์ ์ฅํ๊ธฐ
๋์ค์ ๊ฒ์ฌํ๊ณ ๋๋ฒ๊น
ํ๊ธฐ ์ํด mongomirror
์ ์ฐจ์ ์ถ๋ ฅ ๋ก๊ทธ๋ฅผ ํ์ผ์ ์ ์ฅํ ์ ์์ต๋๋ค. ๋ค์ ํ์์ ์ฌ์ฉํ์ฌ mongomirror.log
ํ์ผ์ ์ถ๋ ฅ์ ์ ์ฅํฉ๋๋ค.
mongomirror <args> 2>&1 | tee -a mongomirror.log