๋ฌธ์ ํ โ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ โ MongoDB ๋งค๋ด์ผ
Red Hat ๋๋ CentOS์ MongoDB Enterprise Edition ์ค์น
์ด ํ์ด์ง์ ๋ด์ฉ
์ฐธ๊ณ
MongoDB Atlas
MongoDB Atlas ๋ ํด๋ผ์ฐ๋์์ ํธ์คํ ๋๋ MongoDB ์๋น์ค ์ต์ ์ผ๋ก, ์ค์น ์ค๋ฒํค๋๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ๋ฌด๋ฃ ๊ณ์ธต์ ์ ๊ณตํ์ฌ ์์ํ ์ ์์ต๋๋ค.
๊ฐ์
์ด ํํ ๋ฆฌ์ผ์ ์ฌ์ฉํ์ฌ MongoDB 5 ์(๋ฅผ) ์ค์นํฉ๋๋ค. Red Hat Enterprise Linux, CentOS Linux ๋๋ Oracle Linux [1] ์์ yum
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ๋ 0 Enterprise Edition.
MongoDB Enterprise Edition ์ ์ผ๋ถ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ๋ณด์ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ด๋ จ๋ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
MongoDB ๋ฒ์
์ด ํํ ๋ฆฌ์ผ์์๋ MongoDB 5.0 Enterprise Edition์ ์ค์นํฉ๋๋ค. ๋ค๋ฅธ ๋ฒ์ ์ MongoDB Enterprise๋ฅผ ์ค์นํ๋ ค๋ฉด ํ์ด์ง ์ผ์ชฝ ์๋จ์ ๋ฒ์ ๋๋กญ๋ค์ด ๋ฉ๋ด์์ ํด๋น ๋ฒ์ ์ ๋ํ ๋ฌธ์๋ฅผ ์ ํํ์ธ์.
๊ณ ๋ ค ์ฌํญ
ํ๋ซํผ ์ง์
์ฐธ๊ณ
EOL ์๋ฆผ
MongoDB 5.0 Enterprise Edition์ x86_64์์RHEL / CentOS / Oracle 6์ ๋ํ ์ง์์ ์ ๊ฑฐํฉ๋๋ค.
MongoDB Enterprise Edition์ ๋ฒ์ 4 ๊ฐ์ RHEL 7 / CentOS / Oracle PPC64LE ์ ๋ํ ์ง์์ ์ ๊ฑฐํ์ต๋๋ค.0 ๋ฐ 5.0. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ํคํ ์ฒ๋ 5 ์ ๋ํด ์ง์๋ฉ๋๋ค.0.X ๋ฒ์ .
MongoDB 5.0 Enterprise Edition์ 64 x์์8664Red Hat Enterprise Linux(RHEL), CentOS Linux, Oracle Linux [1] , Rocky Linux ๋ฐ [2] ์ ๋นํธ ๋ฒ์ ์ ์ง์ํฉ๋๋ค. _ ์ํคํ ์ฒ:
RHEL / CentOS / Oracle / Rocky / Alma 8
RHEL / CentOS / Oracle 7
MongoDB๋ ์ด๋ฌํ ํ๋ซํผ์ 64๋นํธ ๋ฒ์ ๋ง ์ง์ํฉ๋๋ค.
MongoDB 5. RHEL /CentOS/Oracle/Rocky/Alma Linux์ 0 Enterprise Edition์ ์ผ๋ถ ํ๋ซํผ์์ ARM64 ์ํคํ ์ฒ๋ ์ง์ํฉ๋๋ค.
์์ธํ ์ ๋ณด๋ ํ๋ซํผ ์ง์์์ ํ์ธํ ์ ์์ต๋๋ค.
[1] | (1, 2) MongoDB๋ Red Hat ํธํ ์ปค๋(RHCK)์ ์คํํ๋ Oracle Linux๋ง ์ง์ํฉ๋๋ค. MongoDB๋ UEK(Unbreakable Enterprise Kernel)๋ฅผ ์ง์ํ์ง ์์ต๋๋ค . |
[2] | RHEL ๋ฒ์ 8.0 ์ด์์ ์ง์ํ๋๋ก ์ถ์๋ MongoDB ์จํ๋ ๋ฏธ์ค ์ ํ์ ํด๋น ๋ฐฐํฌํ์ด ์์ ํ RHEL ํธํ์ฑ์ ์ ๊ณตํ ์๋ฌด๋ฅผ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ Rocky Linux ๋ฒ์ 8.0 ์ด์๊ณผ AlmaLinux ๋ฒ์ 8.0 ์ด์์ ํธํ ๋ฐ ์ง์ํฉ๋๋ค. |
ํ๋ก๋์ ์ ๋ณด
ํ๋ก๋์ MongoDB ๋ฐฐํฌ์ ๋ํ ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ๊ณผ ๊ตฌ์ฑ ๊ถ์ฅ ์ฌํญ์ ์ ๊ณตํ๋ ํ๋ก๋์ ๋ ธํธ ๋ฌธ์๋ฅผ ๊ฒํ ํ ์ดํ์ ํ๋ก๋์ ํ๊ฒฝ์ MongoDB๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
MongoDB Enterprise Edition ์ค์น
๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ yum
ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Enterprise Edition์ ์ค์นํฉ๋๋ค.
์ ์ฅ์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
yum
๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Enterprise๋ฅผ ์ง์ ์ค์นํ๋ ค๋ฉด /etc/yum.repos.d/mongodb-enterprise-5.0.repo
ํ์ผ์ ์์ฑํฉ๋๋ค.
์ฐธ๊ณ
์ด์ ์ MongoDB๋ฅผ ์ค์นํ๋ ๊ณผ์ ์์ mongodb-enterprise.repo
ํ์ผ์ด ์ด ๋๋ ํ ๋ฆฌ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋น ํ์ผ์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. MongoDB 5.0์ ์ค์นํ๋ ค๋ฉด ์์ mongodb-enterprise-5.0.repo
ํ์ผ์ ์ฌ์ฉํฉ๋๋ค.
MongoDB ๋ฆฌํฌ์งํ ๋ฆฌ ์์ .rpm
ํ์ผ์ ์ง์ ๋ค์ด๋ก๋ํ ์๋ ์์ต๋๋ค. ๋ค์ด๋ก๋๋ Red Hat/CentOS ๋ฒ์ (์: 8
), MongoDB ๋ฆด๋ฆฌ์ค ๋ฒ์ (์: 5.0
), ์ํคํ
์ฒ(์: x86_64
) ์์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
MongoDB Enterprise ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
MongoDB Enterprise 5.0์ ์ค์นํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
sudo yum install -y mongodb-enterprise
MongoDB Enterprise์ ํน์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์นํฉ๋๋ค.
ํน์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์นํ๋ ค๋ฉด ๋ค์ ์์์ ๊ฐ์ด ๊ฐ ๊ตฌ์ฑ ์์ ํจํค์ง๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ง์ ํ๊ณ ํจํค์ง ์ด๋ฆ์ ๋ฒ์ ๋ฒํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.
sudo yum install -y mongodb-enterprise-5.0.26 mongodb-enterprise-database-5.0.26 mongodb-enterprise-server-5.0.26 mongodb-enterprise-shell-5.0.26 mongodb-enterprise-mongos-5.0.26 mongodb-enterprise-tools-5.0.26
mongodb-enterprise=5.0.26
๋ง ์ค์นํ๊ณ ๊ตฌ์ฑ ์์ ํจํค์ง๋ฅผ ํฌํจํ์ง ์์ผ๋ฉด ์ง์ ํ ๋ฒ์ ์ ๊ด๊ณ์์ด ๊ฐ MongoDB ํจํค์ง์ ์ต์ ๋ฒ์ ์ด ์ค์น๋ฉ๋๋ค.
MongoDB Enterprise์ ํน์ ๋ฒ์ ์ ๊ณ ์ ํฉ๋๋ค.
์ด์ฉ ๊ฐ๋ฅํ ๋ชจ๋ MongoDB ๋ฒ์ ์ ์ง์ ํ ์ ์์ง๋ง ์ต์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ yum
์ด ํจํค์ง๋ฅผ ์
๊ทธ๋ ์ด๋ํฉ๋๋ค. ์๋ํ์ง ์์ ์
๊ทธ๋ ์ด๋๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด /etc/yum.conf
ํ์ผ์ ๋ค์ exclude
์ง์๋ฌธ์ ์ถ๊ฐํ์ฌ ํจํค์ง๋ฅผ ๊ณ ์ ํฉ๋๋ค.
exclude=mongodb-enterprise,mongodb-enterprise-database,mongodb-enterprise-server,mongodb-enterprise-shell,mongodb-enterprise-mongos,mongodb-enterprise-tools
MongoDB Enterprise Edition ์คํ
์ ์ ์กฐ๊ฑด
ulimit
Unix ๊ณ์ด ์ด์ ์ฒด์ ๋ ๋๋ถ๋ถ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ ์ ์๋ ์์คํ
๋ฆฌ์์ค๋ฅผ ์ ํํฉ๋๋ค. ์ด๋ฌํ ์ ํ์ MongoDB ์๋์ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์์ผ๋ฏ๋ก ์กฐ์ ํด์ผ ํฉ๋๋ค. ํ๋ซํผ์ ๊ถ์ฅ๋๋ ์ค์ ์ ๊ดํ ๋ด์ฉ์ UNIX ulimit
์ค์ ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฐธ๊ณ
์ด๋ฆฐ ํ์ผ ์์ ๋ํ ulimit
๊ฐ์ด 64000
๋ฏธ๋ง์ธ ๊ฒฝ์ฐ MongoDB๋ ์์ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํฉ๋๋ค.
๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก
๋ค์๊ณผ ๊ฐ์ด ๊ธฐ๋ณธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ธ์.
๊ธฐ๋ณธ์ ์ผ๋ก MongoDB๋ mongod
์ฌ์ฉ์ ๊ณ์ ์ ์ฌ์ฉํ์ฌ ์คํ๋๋ฉฐ ๋ค์ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
/var/lib/mongo
(๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ)/var/log/mongodb
(๋ก๊ทธ ๋๋ ํ ๋ฆฌ)
ํจํค์ง ๊ด๋ฆฌ์๋ ์ค์น ๊ณผ์ ์์ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. ์์ ์ ๋ฐ ๊ทธ๋ฃน ์ด๋ฆ์ mongod
์
๋๋ค.
๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ ์ฌ์ฉ
๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ ์ด์ธ์ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ ๋ฐ ๋ก๊ทธ ๋๋ ํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
์ ๋๋ ํ ๋ฆฌ๋ฅผ ํ๋ ์ด์ ์์ฑํฉ๋๋ค.
๊ตฌ์ฑ ํ์ผ
/etc/mongod.conf
๋ฅผ ํธ์งํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ค์ ํ๋๋ฅผ ์์ ํฉ๋๋ค.storage.dbPath
๋ก ์๋ก์ด ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก ์ง์ (์:/some/data/directory
)systemLog.path
๋ก ์๋ก์ด ๋ก๊ทธ ํ์ผ ๊ฒฝ๋ก ์ง์ (์:/some/log/directory/mongod.log
)
MongoDB๋ฅผ ์คํํ๋ ์ฌ์ฉ์๊ฐ ๋๋ ํ ๋ฆฌ์ ์ก์ธ์คํ ์ ์๋์ง ํ์ธํฉ๋๋ค.
sudo chown -R mongod:mongod <directory> MongoDB ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ์๋ก์ด ์ฌ์ฉ์์๊ฒ ๋๋ ํ ๋ฆฌ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํด์ผ ํฉ๋๋ค.
SELinux๊ฐ ์ ์ฉ๋์ด ์๋ค๋ฉด, SELinux๋ฅผ ๊ตฌ์ฑํ์ธ์. ์์ธํ ๋ด์ฉ์ SELinux ๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
SELinux ๊ตฌ์ฑ
์ค์
SELinux๊ฐ enforcing
๋ชจ๋์ธ ๊ฒฝ์ฐ ๋ค์ ๋ ๊ฐ์ง ์ ์ฑ
์กฐ์ ์ ํตํด MongoDB์ ๋ํ SELinux ์ ์ฑ
์ ์ฌ์ฉ์ ์ง์ ํด์ผ ํฉ๋๋ค.
๋ค์์ ๋ํ ์ก์ธ์ค ํ์ฉ cgroup
ํ์ฌ SELinux ์ ์ฑ
์ MongoDB ํ๋ก์ธ์ค๊ฐ ์์คํ
์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ํ์ํ /sys/fs/cgroup
์ ์ ๊ทผํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.enforcing
๋ชจ๋์์ SELinux๋ฅผ ์คํํ๋ ค๋ฉด SELinux ์ ์ฑ
์ ๋ค์๊ณผ ๊ฐ์ด ์กฐ์ ํด์ผ ํฉ๋๋ค.
์์คํ ์
checkpolicy
ํจํค์ง๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค:sudo yum install checkpolicy ์ฌ์ฉ์ ์ง์ ์ ์ฑ ํ์ผ
mongodb_cgroup_memory.te
์ ๋ง๋ญ๋๋ค.cat > mongodb_cgroup_memory.te <<EOF module mongodb_cgroup_memory 1.0; require { type cgroup_t; type mongod_t; class dir search; class file { getattr open read }; } #============= mongod_t ============== allow mongod_t cgroup_t:dir search; allow mongod_t cgroup_t:file { getattr open read }; EOF ์์ฑ๋๋ฉด ๋ค์ ์ธ ๊ฐ์ง ๋ช ๋ น์ ์คํํ์ฌ ์ฌ์ฉ์ ์ง์ ์ ์ฑ ๋ชจ๋์ ์ปดํ์ผํ๊ณ ๋ก๋ํฉ๋๋ค.
checkmodule -M -m -o mongodb_cgroup_memory.mod mongodb_cgroup_memory.te semodule_package -o mongodb_cgroup_memory.pp -m mongodb_cgroup_memory.mod sudo semodule -i mongodb_cgroup_memory.pp
์ด์ SELinux๋ฅผ enforcing
๋ก ์ค์ ํ์ฌ MongoDB ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฐ๋ฅธ ํ์ผ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
FTDC์ netstat
์ ๋ํ ์ก์ธ์ค ํ์ฉ
ํ์ฌ SELinux ์ ์ฑ
์ MongoDB ํ๋ก์ธ์ค๊ฐ FTDC (ํํ์ ์ง๋จ ๋ฐ์ดํฐ ์บก์ฒ)์ ํ์ํ /proc/net/netstat
์ ์ด๊ณ ์ฝ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค.enforcing
๋ชจ๋์์ SELinux๋ฅผ ์คํํ๋ ค๋ฉด SELinux ์ ์ฑ
์ ๋ค์๊ณผ ๊ฐ์ด ์กฐ์ ํด์ผ ํฉ๋๋ค.
์์คํ ์
checkpolicy
ํจํค์ง๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํฉ๋๋ค:sudo yum install checkpolicy ์ฌ์ฉ์ ์ง์ ์ ์ฑ ํ์ผ
mongodb_proc_net.te
์ ๋ง๋ญ๋๋ค.cat > mongodb_proc_net.te <<EOF module mongodb_proc_net 1.0; require { type cgroup_t; type configfs_t; type file_type; type mongod_t; type proc_net_t; type sysctl_fs_t; type var_lib_nfs_t; class dir { search getattr }; class file { getattr open read }; } #============= mongod_t ============== allow mongod_t cgroup_t:dir { search getattr } ; allow mongod_t cgroup_t:file { getattr open read }; allow mongod_t configfs_t:dir getattr; allow mongod_t file_type:dir { getattr search }; allow mongod_t file_type:file getattr; allow mongod_t proc_net_t:file { open read }; allow mongod_t sysctl_fs_t:dir search; allow mongod_t var_lib_nfs_t:dir search; EOF ์์ฑ๋๋ฉด ๋ค์ ์ธ ๊ฐ์ง ๋ช ๋ น์ ์คํํ์ฌ ์ฌ์ฉ์ ์ง์ ์ ์ฑ ๋ชจ๋์ ์ปดํ์ผํ๊ณ ๋ก๋ํฉ๋๋ค.
checkmodule -M -m -o mongodb_proc_net.mod mongodb_proc_net.te semodule_package -o mongodb_proc_net.pp -m mongodb_proc_net.mod sudo semodule -i mongodb_proc_net.pp
์ค์
์์ ๋ด์ฉ ์ธ์๋ SELinux๊ฐ enforcing
๋ชจ๋์ธ ๊ฒฝ์ฐ ๋ค์ ๋ ๊ฐ์ง ๊ฒฝ์ฐ์ SELinux ์ ์ฑ
์ ์ถ๊ฐ๋ก ์ฌ์ฉ์ ์ง์ ํด์ผ ํฉ๋๋ค.
RHEL ์์ ๊ธฐ๋ณธ๊ฐ
pidFilePath
,systemLog.path
๋๋dbPath
๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ฌ์ฉ์ ์ง์ ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก ๋ฅผ ์ฌ์ฉํ๊ณ 7 ์์ต๋๋ค. ์ด์0 ๋ฐ/๋๋๊ธฐ๋ณธ MongoDB ํฌํธ๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ฌ์ฉ์ ์ง์ ํฌํธ ๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ฌ์ฉ์ ์ ์ MongoDB ๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก ์ฌ์ฉํ๊ธฐ
mongod
์๋น์ค๊ฐ ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก SELinux ์ ์ฑ ์ ์ ๋ฐ์ดํธํ์ธ์.sudo semanage fcontext -a -t <type> </some/MongoDB/directory.*> ์ฌ๊ธฐ์ ๋ค์ ์ ํ ์ค ํ๋๋ฅผ ์ ์ ํ ์ง์ ํฉ๋๋ค.
mongod_var_lib_t
๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐmongod_log_t
๋ก๊ทธ ํ์ผ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐmongod_var_run_t
pid ํ์ผ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐ
์ฐธ๊ณ
๋๋ ํ ๋ฆฌ ๋์
.*
์ ํฌํจํ๋ ๊ฒ์ ์์ง ๋ง์ธ์.์ ๋๋ ํฐ๋ฆฌ์ ๋ํ SELinux ์ฌ์ฉ์ ์ ์ฑ ์ ์ ๋ฐ์ดํธํ์ธ์.
sudo chcon -Rv -u system_u -t <type> </some/MongoDB/directory> ์ฌ๊ธฐ์ ๋ค์ ์ ํ ์ค ํ๋๋ฅผ ์ ์ ํ ์ง์ ํฉ๋๋ค.
mongod_var_lib_t
๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐmongod_log_t
๋ก๊ทธ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐmongod_var_run_t
pid ํ์ผ ๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐ
์ ๋ฐ์ดํธ๋ SELinux ์ ์ฑ ์ ๋๋ ํฐ๋ฆฌ์ ์ ์ฉํฉ๋๋ค.
sudo restorecon -R -v </some/MongoDB/directory>
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ
semanage fcontext
์์
์ ๊ฒฝ์ฐ ๋๋ ํฐ๋ฆฌ ๋์ .*
๋ฅผ ๋ฐ๋์ ํฌํจ์ํค์ธ์.
/mongodb/data
์ ๊ธฐ๋ณธ์ด ์๋ MongoDB ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ:sudo semanage fcontext -a -t mongod_var_lib_t '/mongodb/data.*' sudo chcon -Rv -u system_u -t mongod_var_lib_t '/mongodb/data' sudo restorecon -R -v '/mongodb/data' ๊ธฐ๋ณธ๊ฐ์ด ์๋
/mongodb/log
์ MongoDB ๋ก๊ทธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ (์: ๋ก๊ทธ ํ์ผ ๊ฒฝ๋ก๊ฐ/mongodb/log/mongod.log
์ธ ๊ฒฝ์ฐ):sudo semanage fcontext -a -t mongod_log_t '/mongodb/log.*' sudo chcon -Rv -u system_u -t mongod_log_t '/mongodb/log' sudo restorecon -R -v '/mongodb/log'
์ฌ์ฉ์ ์ง์ MongoDB ํฌํธ ์ฌ์ฉํ๊ธฐ
sudo semanage port -a -t mongod_port_t -p tcp <portnumber>
์ฐธ๊ณ
์ฌ์ฉ์ ์ง์ ํฌํธ๊ฐ ์ธ์๋๋๋ก ํ๋ ค๋ฉด mongod
๋ฅผ ๋ค์ ์์ํด์ผ ํ ์ ์์ต๋๋ค.
์ ์ฐจ
๋ค์ ๋จ๊ณ์ ๋ฐ๋ผ ์์คํ ์์ MongoDB Enterprise ์๋์ ์ ์คํํฉ๋๋ค. ์ด ์ง์นจ์ ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
init ์์คํ
mongod
์ ์คํํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ด์ ์ฒด์ ์ ๋ด์ฅ๋ init ์์คํ
์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ต์ ๋ฒ์ ์ Linux๋ systemctl
๋ช
๋ น์ ์ฌ์ฉํ๋ systemd๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝํฅ์ด ์๋ ๋ฐ๋ฉด, ๊ตฌ๋ฒ์ ์ service
๋ช
๋ น์ ์ฌ์ฉํ๋ System V init๋ฅผ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.
ํ๋ซํผ์์ ์ฌ์ฉํ๋ init ์์คํ ์ ์ ํํ ์ ์ ์๋ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.
ps --no-headers -o comm 1
์ดํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋์์ ์ ์ ํ ํญ์ ์ ํํฉ๋๋ค.
systemd
- ์๋์ systemd(systemctl) ํญ์ ์ ํํฉ๋๋ค.init
- ์๋์ System V Init(์๋น์ค) ํญ์ ์ ํํฉ๋๋ค.
MongoDB ์ ๊ฑฐ
์์คํ ์์ MongoDB๋ฅผ ์์ ํ ์ ๊ฑฐํ๋ ค๋ฉด MongoDB ์ ํ๋ฆฌ์ผ์ด์ ์์ฒด์ ๊ตฌ์ฑ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ก๊ทธ๊ฐ ํฌํจ๋ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ๋ค์ ์น์ ์์๋ ํ์ํ ๋จ๊ณ๋ฅผ ์๋ดํฉ๋๋ค.
๊ฒฝ๊ณ
์ด ํ๋ก์ธ์ค๋ MongoDB์ ๊ทธ ๊ตฌ์ฑ, ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํ ์ ๊ฑฐํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋๋๋ฆด ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ๊ตฌ์ฑ๊ณผ ๋ฐ์ดํฐ์ ๋ฐฑ์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ดํ์ ์งํํด์ผ ํฉ๋๋ค.
MongoDB๋ฅผ ์ค์งํฉ๋๋ค.
๋ค์ ๋ช
๋ น์ ์คํํ์ฌ mongod
ํ๋ก์ธ์ค๋ฅผ ์ค์งํฉ๋๋ค.
sudo service mongod stop
์ถ๊ฐ ์ ๋ณด
๊ธฐ๋ณธ ๋ก์ปฌ ํธ์คํธ ๋ฐ์ธ๋ฉ
๊ธฐ๋ณธ์ ์ผ๋ก MongoDB๋ bindIp
๋ฅผ ๋ก์ปฌ ํธ์คํธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋ฐ์ธ๋ฉ๋ 127.0.0.1
๋ก ์ค์ ํ ์ํ๋ก ์์ํฉ๋๋ค. ์ฆ mongod
๊ฐ ๋์ผํ ๋จธ์ ์์ ์คํ ์ค์ธ ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ๋ง ํ์ฉํ ์ ์๋ค๋ ์๋ฏธ์
๋๋ค. ์๊ฒฉ ํด๋ผ์ด์ธํธ๋ mongod
์ ์ฐ๊ฒฐํ ์ ์์ผ๋ฉฐ, ์ด ๊ฐ์ด ์๊ฒฉ ํด๋ผ์ด์ธํธ๊ฐ ์ก์ธ์คํ ์ ์๋ ์ ํจํ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ก ์ค์ ๋์ด ์์ง ์์ ํ mongod
๋ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์ด๊ธฐํํ ์ ์์ต๋๋ค.
์ด ๊ฐ์ ๋ค์ ์ค ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ
๋ก์ปฌ ํธ์คํธ๊ฐ ์๋(์: ๊ณต๊ฐ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋) IP ์ฃผ์์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ ์ ํด๋ฌ์คํฐ๋ฅผ ๋ฌด๋จ ์ก์ธ์ค๋ก๋ถํฐ ๋ณดํธํด์ผ ํฉ๋๋ค. ๋ณด์ ๊ถ์ฅ ์ฌํญ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ ๋ฅผ ์ฐธ์กฐํ์ธ์. ์ต์ํ ์ธ์ฆ์ ํ์ฑํ ํ๊ณ ๋คํธ์ํฌ ์ธํ๋ผ๋ฅผ ๊ฐํํ๋ ๊ฒ์ ๊ณ ๋ คํ์ธ์.
bindIp
๊ตฌ์ฑ์ ๊ดํ ์์ธํ ์ ๋ณด๋ IP ๋ฐ์ธ๋ฉ์์ ํ์ธํ ์ ์์ต๋๋ค.
MongoDB Enterprise Edition ํจํค์ง
MongoDB Enterprise Edition์ ์ ์ฉ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๊ณต์ ์ง์ ํจํค์ง๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
ํจํค์ง ์ด๋ฆ | ์ค๋ช
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
mongodb-enterprise | metapackage ๋ ์๋ ๋์ด๋ ๊ตฌ์ฑ์์ ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ค์นํฉ๋๋ค. | ||||||||||
mongodb-enterprise-database |
| ||||||||||
mongodb-mongosh | MongoDB Shell( mongosh )์ ํฌํจํฉ๋๋ค. | ||||||||||
mongodb-enterprise-tools |
|