2023. 9. 16. 16:24ใSystem ์์ ์ค/Server ๊ด๋ จ
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
๐ ๋ชฉ์ฐจ
1. [Hyper-V] [Open Stack] Open Stack์ด๋?
2. [Hyper-V] [Open Stack] [Controller Node] Hyper-V ๊ตฌ์ฑ ๋ฐ Ubuntu 22.04.3 LTS Server ์ค์น
3. [Hyper-V] [Open Stack] [Controller Node] โ ์คํ์คํ ํจํค์ง ์ค์น
4. [Hyper-V] [Open Stack] [Controller Node] โก NTP Server ๊ตฌ์ฑ
5. [Hyper-V] [Open Stack] [Controller Node] โข RabbitMQ - Message Queue ์ค์น ๋ฐ ๊ตฌ์ฑ
6. [Hyper-V] [Open Stack] [Controller Node] โฃ Memcached ์ค์น ๋ฐ ๊ตฌ์ฑ
7. [Hyper-V] [Open Stack] [Controller Node] โค Etcd ์ค์น ๋ฐ ๊ตฌ์ฑ
8. [Hyper-V] [Open Stack] [Controller Node] โฅ Keystone - Identity ์ค์น ๋ฐ ๊ตฌ์ฑ
9. [Hyper-V] [Open Stack] [Controller Node] โฆ Image Service - Glance ์ค์น ๋ฐ ๊ตฌ์ฑ
10. [Hyper-V] [Open Stack] [Controller Node] โง Compute Service - Nova ์ค์น ๋ฐ ๊ตฌ์ฑ
11. [Hyper-V] [Open Stack] [Contoller Node] โจ Neutron - Network ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
12. [Hyper-V] [Open Stack] [Controller Node] โ โช Horizon - Dashboard ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
13. [Hyper-V] [Open Stack] [Compute Node] Hyper-V ๊ตฌ์ฑ ๋ฐ Ubuntu 22.04.3 LTS Server ์ค์น ๋ฐ ์ด๊ธฐ ๊ตฌ์ฑ
14. [Hyper-V] [Open Stack] [Compute Node] โ ์คํ์คํ ํจํค์ง ์ค์น
15. [Hyper-V] [Open Stack] [Compute Node] โก Nova ์ค์น ๋ฐ ๊ตฌ์ฑ
16. [Hyper-V] [Open Stack] [Compute Node] โข Neutron - Network ์๋น์ค ์ค์น ๋ฐ ๊ตฌ์ฑ
๐ Controller Node ๊ตฌ์ฑ
๐ฝ ๊ฐ์
๐ฝ ๊ตฌ์ฑ ์์ ์ค์น ๋ฐ ๊ตฌ์ฑ
๐ฆ ํจ์ง์ง ์ค์น ๋ฐ ์ค์ - ์ปดํจํธ ๋ ธ๋ (์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ๋ ธ๋)
์ต์ด ํ์ ํจํค์ง ์ค์น ์งํํด ์ค๊ฒ์.
์ฌ๊ธฐ์๋ ๋ค์ ์์ ํด ์ค์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๊ฒผ์ด์.
์ปดํจํธ ๋
ธ๋๋ฅผ ๊ตฌ์ฑํ๋ฉด์ ๋ฏธ๋ฆฌ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง๋ก ์ฌ์ฉํ HDD๋ฅผ LVM์ผ๋ก ๋ง๋ค์ด ์ฃผ์๋๋ฐ,
๋ฉ๋ด์ผ์ ๋ณด๋ LVM์ผ๋ก ๋ง๋ค๋๊ฒ ์๋์์ด์.
๊ทธ๋์ LVM์ ์ญ์ ํด ์ฃผ์ด์ผ ํด์.
์ต์ด ๋ง์ดํธ๋ฅผ ํด์ ํด ์ค๊ฒ์.
์์ ๊ฐ์ด ์ญ์ ํด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , ์์ ๊ฐ์ด XFS๋ก ํฌ๋งท์ ์งํํด ์ฃผ์์ด์.
์์ ๊ฐ์ด ๋ง์ดํธ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ , ๋ง์ดํธ๋ฅผ ํด ์ฃผ์์ด์.
์ด ๋, noatime์ ํ์ผ์ ์ ๊ทผ ์๊ฐ์ ์
๋ฐ์ดํธ ํ์ง ์๋๋ก ํ๋ ์ต์
์ด์์. ํ์ผ์ ์ ๊ทผํ ๋๋ง๋ค ํด๋น ํ์ผ์ ์ ๊ทผ ์๊ฐ์ ๊ธฐ๋กํ๋ ์์
์ ์๋ตํ๋๋ก ํ์ฌ ๋์คํฌ I/O๋ฅผ ์ค์ฌ์ค ๊ฒ์ด์์. ์ด๋ ๊ฒ ํ๋ฉด ํ์ผ ์์คํ
์ ๋ํ ์ฝ๊ธฐ ์์
์ ์ฑ๋ฅ์ ํฅ์ ์ํฌ ์ ์์ด์.
๋ํ, nodiratime์ ๋๋ ํฐ๋ฆฌ์ ์ ๊ทผ ์๊ฐ์ ์
๋ฐ์ดํธํ์ง ์๋๋ก ํด ์ค ๋ถ๋ถ์ด์์. noatime๊ณผ ๋น์ทํ ๋งฅ๋ฝ์ด์ด์์.
๊ทธ๋ฐ ๋ค ๋ง์ดํธ ๋์ ๋๋ ํฐ๋ฆฌ ์์ ์๋ฅผ ๋ณ๊ฒฝํด ์ฃผ์์ด์.
๋ง์ดํธ๊ฐ ์ ๋๊ฑธ ํ์ธํ ์ ์์ด์.
์ด์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ , fstab์ ๋ฑ๋กํด์ค๊ฑฐ์์.
์์ ๊ฐ์ด ์์ฑํ๊ณ , ์ ์ฅํ๊ณ ๋์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด OS๊ฐ ์ฌ๊ธฐ๋ ๋์ด๋ ๋ง์ดํธ๊ฐ ํ๋ฆฌ์ง ์๊ณ , ๊ณ์ ์ฌ๋ผ์ค๊ฒ ํ ์ ์์ด์.
๐ฆ Swift Ring ํ์ผ ๋ณต์ฌ - ์ปจํธ๋กค๋ฌ ๋ ธ๋ (๋คํธ์ํฌ ๋ ธ๋)
์ด๋ฒ์ ์ด ์ ์ ๋ง๋ค์๋ ๋ง ํ์ผ์ ๋ณต์ฌํด์ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋๋๋ก ํด๋ณผ๊ฒ์.
๐ฆ Swift ๋ฐ Rsync ๊ตฌ์ฑ - ์ปดํจํธ ๋ ธ๋ (์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ๋ ธ๋)
์์์ ์ ๋ฌ ๋ฐ์ ๋ง ํ์ผ ์์ ์๋ฅผ ๋ณ๊ฒฝํด ์ฃผ์์ด์.
๊ทธ๋ฐ ๋ค ์์ ๊ฐ์ด swift.conf ์ค์ ํ์ผ์ ๋ด๋ ค ๋ฐ์ ์ฃผ์์ด์.
์ปจํธ๋กค๋ฌ ๋
ธ๋์ ๋๊ฐ์ด ๋ณ๊ฒฝํด ์ฃผ์์ด์.
์ฌ๊ธฐ๊น์ง ๋์๋ค๋ฉด ์ ์ฅํ๊ณ , ๋์ต๋๋ค.
์์ ๋๊ฐ์์ง ํ์ธํ๊ณ , ๋ค๋ฅด๋ฉด ๋ณ๊ฒฝํ๊ณ , ์ ์ฅํ๊ณ ๋์ต๋๋ค.
์์ ๋๊ฐ์์ง ํ์ธํ๊ณ , ๋ค๋ฅด๋ฉด ๋ณ๊ฒฝํ๊ณ , ์ ์ฅํ๊ณ ๋์ต๋๋ค.
์์ ๋๊ฐ์์ง ํ์ธํ๊ณ , ๋ค๋ฅด๋ฉด ๋ณ๊ฒฝํ๊ณ , ์ ์ฅํ๊ณ ๋์ต๋๋ค.
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
uid = swift
gid = swift
# specify the IP address of each storage node
address = ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง IP
[account]
path = /srv/node
read only = false
write only = no
list = yes
incoming chmod = 0644
outgoing chmod = 0644
max connections = 25
lock file = /var/lock/account.lock
[container]
path = /srv/node
read only = false
write only = no
list = yes
incoming chmod = 0644
outgoing chmod = 0644
max connections = 25
lock file = /var/lock/container.lock
[object]
path = /srv/node
read only = false
write only = no
list = yes
incoming chmod = 0644
outgoing chmod = 0644
max connections = 25
lock file = /var/lock/object.lock
[swift_server]
path = /etc/swift
read only = true
write only = no
list = yes
incoming chmod = 0644
outgoing chmod = 0644
max connections = 5
lock file = /var/lock/swift_server.lock
๊ทธ๋ฐ ๋ค /etc ๋ฐ์ rsyncd.conf ๋ฅผ ์์ ๊ฐ์ด ๋ง๋ค์ด ์ค๋๋ค.
systemctl restart rsync swift-account-auditor \
swift-account-replicator \
swift-account \
swift-container-auditor \
swift-container-replicator \
swift-container-updater \
swift-container \
swift-object-auditor \
swift-object-replicator \
swift-object-updater \
swift-object
systemctl enable rsync swift-account-auditor \
swift-account-replicator \
swift-account \
swift-container-auditor \
swift-container-replicator \
swift-container-updater \
swift-container \
swift-object-auditor \
swift-object-replicator \
swift-object-updater \
swift-object
์์ ๊ฐ์ด Swift ๋ฐ๋ชฌ์ ์ฌ๊ธฐ๋ํ๊ณ , ์๋น์ค์ ๋ฑ๋กํด ์ฃผ์์ด์.
์ด์ ์ปจํธ๋กค๋ฌ ๋
ธ๋์์ Swift๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ค์ํํธ ํต์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด ์๋ก์ด ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ํ์๊ฐ ์๊ณ , ๊ธฐ์กด ๊ด๋ฆฌ์๋ ์ค์ํํธ ์ฌ์ฉ์์ ํจ๊ป ํค์คํค์์ ์ฌ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํด์.
์ต์ด ์ค์ํํธ ์๋น์ค๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , ์ค์ํํธ๋ฅผ ๊ด๋ฆฌํ ์ด์ ๊ถํ์ ๋ง๋ค์ด ์ฃผ์์ด์.
์ด์ ์์ ๊ฐ์ด ์ค์ํํธ ๊ด๋ฆฌ ๊ณ์ ์ ๋ง๋ค์ด ์ค๋๋ค.
userpassword์๋ ๋๋๋ก ํน์๋ฌธ์๋ฅผ ์ ์ธํ ์ํธ๋ฅผ ๋ฃ๋๊ฑธ ์ถ์ฒํด์.
๋ง๋ ๊ณ์ ์ ๊ถํ์ ์์ ๊ฐ์ด ๋ฃ์ด์ฃผ์์ด์.
์ด์ ์ค์ํํธ ํด๋ผ์ด์ธํธ ์์
์ ์งํํด ์ค๊ฒ์.
์์ ๊ฐ์ด ํ๊ฒฝ ๋ณ์ ํ์ผ์ ์๋กญ๊ฒ ๋ง๋ค์ด ์ค๋๋ค.
์ด๋ ์ค์ํํธ ๊ณ์ ์ ๋ํ ๊ฑฐ์์.
userpassword๋ ์์์ ๋ง๋ swiftuser01์ ๋ํ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฃ์ด์ฃผ์ด์ผ ํด์.
์์ ๊ฐ์ด ํ๊ฒฝ ๋ณ์ ํ์ผ์ ๊ถํ์ ๋ณ๊ฒฝํ๊ณ , source ๋ช
๋ น์ด๋ฅผ ํตํด ํ์ฌ Shell Session์์ ์คํฌ๋ฆฝํธ๋ ํ์ผ์ ๋ด์ฉ์ ์คํํ๊ณ , ๊ทธ ํ๊ฒฝ์ ํ์ฌ Shell์ ์ ์ฉํด ์ฃผ์์ด์.
๐ฆ ์ ๊ตฌ์ฑ ๋์๋? ๐ค
์์ ๊ฐ์ด swift ์ํ ์ฒดํฌ๋ฅผ ํ๋ ๋ด์ฉ์ ํ์ธํ ์ ์์ด์.
ํ
์คํธ๋ฅผ ์ํด ์์ ๊ฐ์ด ํ
์คํธ ์ปจํ
์ด๋๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
๊ทธ๋ฆฌ๊ณ , ํ
์คํธ์ฉ ํ
์คํธ ํ์ผ์ ๋ง๋ค๊ณ , ์ปจํ
์ด๋์ ์
๋ก๋ ํด ๋ณด์์ด์.
์ด๋ฒ์ ๋ด๋ ค๋ฐ๊ธฐ ํ
์คํธ๋ฅผ ์ํด ์์ ๊ฐ์ด ์ปจํธ๋กค๋ฌ ๋
ธ๋์ testfile.txt๋ฅผ ์ญ์ ํด ์ฃผ์์ด์.
์์ ๊ฐ์ด ๋ด๋ ค๋ฐ๊ธฐ๋ ์ฑ๊ณตํ๊ฑธ ํ์ธํ ์ ์์ด์.
ํ
์คํธ๊ฐ ๋๋ฌ์ผ๋ ๋ด์ฉ๋ค์ ์ง์์ฃผ๋๋ก ํ ๊ฒ์.
์ต์ด ์์ ๊ฐ์ด ์ค๋ธ์ ํธ๋ฅผ ์ ๊ฑฐํด ์ฃผ์์ด์.
๊ทธ๋ฐ ๋ค ์์ ๊ฐ์ด ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง ์ปจํ
์ด๋๋ฅผ ์ญ์ ํด ์ฃผ์์ด์.
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
๐ง ์ฐธ๊ณ ์๋ฃ