VMware, Photon OS 5.0 Linux ๋ฐฐํฌํŒ ์ถœ์‹œ

๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ํ˜ธ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€