๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๊ธฐ ์ํ ์ต์ํ์ ํธ์คํธ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ Linux ๋ฐฐํฌํ Photon OS 5.0์ ๋ฆด๋ฆฌ์ค๊ฐ ์ถ์๋์์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ VMware์์ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ๋ณด์์ ๊ฐํํ๊ณ VMware vSphere, Microsoft Azure, Amazon Elastic Compute ๋ฐ Google Compute Engine ํ๊ฒฝ์ ๋ํ ๊ณ ๊ธ ์ต์ ํ๋ฅผ ์ ๊ณตํ๋ ์ถ๊ฐ ์์๋ฅผ ํฌํจํ์ฌ ์ฐ์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ ๋ฐ ์ ํฉํ ๊ฒ์ผ๋ก ๋ช ์๋์์ต๋๋ค. Photon OS์ฉ์ผ๋ก ๊ฐ๋ฐ๋ ๊ตฌ์ฑ์์์ ์์ค ์ฝ๋๋ GPLv2 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ์ ๊ณต๋ฉ๋๋ค(LGPLv2.1 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๊ณต๊ฐ๋๋ libtdnf ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์ธ). ๋ณ๋์ ์ฌ์ฉ์ ๊ณ์ฝ(EULA)์ ๋ฐ๋ผ x86_64, ARM64, Raspberry Pi ์์คํ ๋ฐ ๋ค์ํ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๊ธฐ์ฑ ISO ๋ฐ OVA ์ด๋ฏธ์ง๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ด ์์คํ ์ Docker, Rocket ๋ฐ Garden ํ์์ ํฌํจํ ๋๋ถ๋ถ์ ์ปจํ ์ด๋ ํ์์ ์คํํ ์ ์์ผ๋ฉฐ Mesos ๋ฐ Kubernetes์ ๊ฐ์ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ์ ์ง์ํฉ๋๋ค. ์ํํธ์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ค์นํ๊ธฐ ์ํด pmd(Photon Management Daemon)๋ผ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค์ YUM ํจํค์ง ๊ด๋ฆฌ์์ ํธํ๋๊ณ ํจํค์ง ๊ธฐ๋ฐ ๋ฐฐํฌ ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ ๋ชจ๋ธ์ ์ ๊ณตํ๋ ์์ฒด tdnf ํดํท์ ์ฌ์ฉํฉ๋๋ค. ๋ํ ์ด ์์คํ ์ ๊ฐ๋ฐ ํ๊ฒฝ(์: VMware Fusion ๋ฐ VMware Workstation์ ์ฌ์ฉํ๋ ํ๊ฒฝ)์์ ํ๋ก๋์ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์ด๋๋ฅผ ์ฝ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
systemd๋ ์์คํ ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ปค๋์ VMware ํ์ดํผ๋ฐ์ด์ ์ ์ต์ ํ๋์ด ๊ตฌ์ถ๋์์ผ๋ฉฐ KSPP(์ปค๋ ์์ฒด ๋ณดํธ ํ๋ก์ ํธ)์์ ๊ถ์ฅํ๋ ๋ณด์ ๊ฐํ ์ค์ ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํจํค์ง๋ฅผ ๋น๋ํ ๋ ๋ณด์ ๊ฐํ ์ปดํ์ผ๋ฌ ์ต์ ์ด ํ์ฑํ๋ฉ๋๋ค. ๋ฐฐํฌํ์ ์ต์(538MB, ๊ธฐ๋ณธ ์์คํ ํจํค์ง์ ์ปจํ ์ด๋ ์คํ์ ์ํ ๋ฐํ์๋ง ํฌํจ), ๊ฐ๋ฐ์์ฉ ๋น๋(4.3GB, ์ปจํ ์ด๋์์ ์ ๊ณต๋๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ๋ฅผ ์ํ ์ถ๊ฐ ํจํค์ง ํฌํจ), ์ค์ ์คํ ์์ ์ฉ ๋น๋์ ์ธ ๊ฐ์ง ์๋์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. -time(683MB, ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ํ PREEMPT_RT ํจ์น๊ฐ ํฌํจ๋ ์ปค๋ ํฌํจ)
Photon OS 5.0 ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๊ฐ์ ์ฌํญ:
- XFS ๋ฐ BTRFS ํ์ผ ์์คํ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- VPN WireGuard, ๋ค์ค ๊ฒฝ๋ก, SR-IOV(๋จ์ผ ๋ฃจํธ ์ ์ถ๋ ฅ ๊ฐ์ํ) ์ค์ , ๊ฐ์ ์ฅ์น ์์ฑ ๋ฐ ๊ตฌ์ฑ, NetDev, VLAN, VXLAN, ๋ธ๋ฆฌ์ง, ๋ณธ๋, VETH(๊ฐ์ ์ด๋๋ท) ์ธํฐํ์ด์ค ์์ฑ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋คํธ์ํฌ ๊ตฌ์ฑ ๊ด๋ฆฌ์ ํ๋ก์ธ์ค MacVLAN/MacVTap, IPvlan/IPvtap ๋ฐ ํฐ๋(IPIP, SIT, GRE, VTI) ๊ตฌ์ฑ ๋ฐ ๋ณด๊ธฐ์ ์ฌ์ฉํ ์ ์๋ ๋คํธ์ํฌ ์ฅ์น ๋งค๊ฐ๋ณ์์ ๋ฒ์๊ฐ ํ์ฅ๋์์ต๋๋ค.
- PMD-Nextgen(Photon Management Daemon) ํ๋ก์ธ์ค์ ํธ์คํธ ์ด๋ฆ, TLS, SR-IOV, Tap ๋ฐ Tun ์ธํฐํ์ด์ค ๊ตฌ์ฑ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋คํธ์ํฌ ์ด๋ฒคํธ ๋ธ๋ก์ปค์ JSON ํ์์ ๋คํธ์ํฌ ๋ฐ์ดํฐ๋ฅผ ๋์ฒดํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฒฝ๋ ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ถํ๋ ๊ธฐ๋ฅ์ด cntrctl ์ ํธ๋ฆฌํฐ์ ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ฅผ ๋ค์ด ๋ฉ๋ชจ๋ฆฌ, CPU ๋ฐ I/O ์๋น๋ฅผ ์ ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ cgroups v2์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. cgroups v2์ v1์ ์ฃผ์ ์ฐจ์ด์ ์ CPU ๋ฆฌ์์ค ํ ๋น, ๋ฉ๋ชจ๋ฆฌ ์๋น ์กฐ์ ๋ฐ I/O๋ฅผ ์ํด ๋ณ๋์ ๊ณ์ธต ๊ตฌ์กฐ ๋์ ๋ชจ๋ ์ ํ์ ๋ฆฌ์์ค์ ๋ํด ๊ณตํต cgroups ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
- ์์ ์ ์ค์งํ๊ฑฐ๋ ์ฌ๋ถํ ํ์ง ์๊ณ Linux ์ปค๋์ ํจ์น๋ฅผ ์ ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค(์ปค๋ ๋ผ์ด๋ธ ํจ์น).
- SELinux ์ ์ฑ ์ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฃจํธ ์ฌ์ฉ์ ์์ด ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- linux-esx ์ปค๋์ ARM64 ์ํคํ ์ฒ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- PostgreSQL DBMS์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ถ๊ธฐ 13, 14, 15๊ฐ ์ง์๋ฉ๋๋ค.
- tdnf ํจํค์ง ๊ด๋ฆฌ์๋ ๋ณ๊ฒฝ ๋ด์ญ(๋ชฉ๋ก, ๋กค๋ฐฑ, ์คํ ์ทจ์ ๋ฐ ๋ค์ ์คํ) ์์ ์ ์ํ ๋ช ๋ น์ ๋ํ ์ง์์ ์ถ๊ฐํ์ผ๋ฉฐ mark ๋ช ๋ น์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ค์น ํ๋ก๊ทธ๋จ์ ์ค์น ์ ๋จ๊ณ์์ ํธ์ถ๋๋ ์คํฌ๋ฆฝํธ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. ์์ ๋ง์ initrd ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ ํธ๋ฆฌํฐ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ๋๋ผ์ด๋ธ์ ๋ ๊ฐ์ ๋์ผํ ๋ฃจํธ ํํฐ์ (์กํฐ๋ธ ๋ฐ ํจ์๋ธ)์ด ์์ฑ๋๋ "A/B" ํํฐ์ ๋ ๋ชจ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ ์ ๋ฐ์ดํธ๋ ํ์ฑ ํํฐ์ ์ ์๋์ ์ด๋ค ์ํฅ๋ ์ฃผ์ง ์๊ณ ์๋ ํํฐ์ ์ ์ค์น๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํํฐ์ ์ด ๊ต์ฒด๋ฉ๋๋ค. ์ ์ ๋ฐ์ดํธ๊ฐ ์๋ ํํฐ์ ์ด ํ์ฑํ๋๊ณ ์ด์ ํ์ฑ ํํฐ์ ์ด ์๋ ๋ชจ๋๋ก ์ ํ๋์ด ๋ค์ ์ ๋ฐ์ดํธ ์ค์น๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ ๋ฐ์ดํธ ํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
- ์ ๋ฐ์ดํธ๋ ํจํค์ง ๋ฒ์ (์: Linux ์ปค๋ 6.1.10, GCC 12.2, Glibc 2.36, Systemd 253, Python3 3.11, Openjdk 17, Openssl 3.0.8, Cloud-init 23.1.1, Ruby 3.1.2, Perl 5.36, Kubernetes 1.26.1) .1.20.2, ๊ณ XNUMX.
์ถ์ฒ : opennet.ru