์˜ค๋ผํด, Unbreakable Enterprise Kernel 8 ์ถœ์‹œ

Oracle์€ Red Hat Enterprise Linux์˜ ํ‘œ์ค€ ์ปค๋„ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ๋Œ€์•ˆ์œผ๋กœ Oracle Linux ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐœ๋ฐœ ์ค‘์ธ Linux ์ปค๋„์˜ ๋ณ€ํ˜•์ธ Unbreakable Enterprise Kernel 8(UEK R8)์˜ ์ฒซ ๋ฒˆ์งธ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ปค๋„์€ x86_64 ๋ฐ ARM64(aarch64) ์•„ํ‚คํ…์ฒ˜์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ํŒจ์น˜์— ๋Œ€ํ•œ ๋ถ„์„์„ ํฌํ•จํ•œ ์ปค๋„ ์†Œ์Šค ์ฝ”๋“œ๋Š” Oracle์˜ ๊ณต๊ฐœ Git ์ €์žฅ์†Œ์— ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค.

Unbreakable Enterprise Kernel 8์€ Linux ์ปค๋„ 6.12(UEK R7์€ ์ปค๋„ 5.4 ๊ธฐ๋ฐ˜, RHEL 10 ๋ฒ ํƒ€๋Š” ์ปค๋„ 6.11 ๊ธฐ๋ฐ˜)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ, ์ตœ์ ํ™” ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์—ˆ๊ณ , RHEL์—์„œ ์‹คํ–‰๋˜๋Š” ๋Œ€๋ถ€๋ถ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ, Oracle ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ํ•˜๋“œ์›จ์–ด์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋„๋ก ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. UEK R8 ์ปค๋„์ด ํฌํ•จ๋œ ์„ค์น˜ ๋ฐ src ํŒจํ‚ค์ง€๋Š” Oracle Linux 9.5์šฉ์œผ๋กœ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด ์ปค๋„์„ RHEL, CentOS, Alma Linux ๋ฐ Rocky Linux์˜ ์œ ์‚ฌ ๋ฒ„์ „์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์•„๋ฌด๋Ÿฐ ์žฅ์• ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค).

Unbreakable Enterprise Kernel 8์˜ ์ฃผ์š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ:

  • UEK ์ปค๋„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐœ๋ณ„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„ ๋ชจ๋“ˆ์€ ๊ธฐ๋ณธ ์ปค๋„ ์ด๋ฏธ์ง€์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ๋ณ„๋„์˜ ํŒจํ‚ค์ง€์— ํฌํ•จ๋œ ๋ชจ์Œ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. `kernel-uek-modules-core`(์ตœ์†Œ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ), `kernel-uek-modules`(๊ณ ๊ธ‰ ๊ตฌ์„ฑ ์š”์†Œ ํฌํ•จ) ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„), kernel-uek-modules-desktop, kernel-uek-modules-extra-netfilter, kernel-uek-modules-usb ๋ฐ kernel-uek-modules-wireless๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ํ•ต์‹ฌ kernel-uek-core ํŒจํ‚ค์ง€์—์„œ ๋ณ„๋„์˜ kernel-uek-tools ํŒจํ‚ค์ง€๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋กœ๋“œ ๊ธˆ์ง€ ๋ชจ๋“ˆ ๋ชฉ๋ก์ด ํฌํ•จ๋œ ๊ตฌ์„ฑ ํŒŒ์ผ์€ ํฌ๊ด„์ ์ธ ์šฉ์–ด ์‚ฌ์šฉ์„ ์œ„ํ•œ ๊ณ„ํš์˜ ์ผํ™˜์œผ๋กœ 'blacklist'์—์„œ 'denylist'๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Oracle Cloud์—์„œ ์‚ฌ์šฉ๋˜๋Š” ARM Ampere ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ, ๊ธฐ๋ณธ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ 64KB์—์„œ 4KB๋กœ ๋Š˜์–ด๋‚œ ๋ณ„๋„์˜ ์ปค๋„ ๋นŒ๋“œ์ธ kernel-uek64k๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
  • Intel SGX2(Software Guard Extensions)์—์„œ ์ œ๊ณตํ•˜๋Š” EDMM(Enclave Dynamic Memory Management) ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ณ„ ์ธํด๋ ˆ์ด๋ธŒ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๊ณ  ์ธํด๋ ˆ์ด๋ธŒ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ์ถ”๊ฐ€/์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Intel Quick Assist Technology(QAT) ์žฅ์น˜๋ฅผ ์ง€์›ํ•˜๋Š” Intel QAT ๋“œ๋ผ์ด๋ฒ„๊ฐ€ 4์„ธ๋Œ€ Intel Xeon ํ”„๋กœ์„ธ์„œ๋ฅผ ์ง€์›ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›์ž์  ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ CPU ์บ์‹œ์˜ ๋‘ ์ค„์„ ๊ต์ฐจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ถ„ํ•  ์ž ๊ธˆ์„ ๊ฐ์ง€ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž ๊ธˆ์€ ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค(๋‹จ์ผ ์บ์‹œ ๋ผ์ธ์— ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์›์ž์  ์—ฐ์‚ฐ๋ณด๋‹ค 1000์‚ฌ์ดํด ๋А๋ฆผ).
  • Intel ๋ฐ AMD CPU์˜ Retbleed ์ทจ์•ฝ์„ฑ์„ ์™„ํ™”ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ํ˜ธ์ถœ ๊นŠ์ด ์ถ”์ ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด ๋ฐฉ๋ฒ•์€ ๊ธฐ์กด์˜ Retbleed ์™„ํ™” ๋ฐฉ๋ฒ•๋งŒํผ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • x86 ์‹œ์Šคํ…œ์—์„œ๋Š” ๋ณด์กฐ CPU ์ฝ”์–ด๋ฅผ ๋™์‹œ์— ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ฝ”์–ด๊ฐ€ ๋งŽ์€ ์‹œ์Šคํ…œ์—์„œ ์ปค๋„ ๋ถ€ํŒ… ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค.
  • ๋ถ€ํŒ… ์‹œ x32-32 ์•„ํ‚คํ…์ฒ˜์šฉ์œผ๋กœ ๋นŒ๋“œ๋œ ์ปค๋„์—์„œ 86๋น„ํŠธ ์—๋ฎฌ๋ ˆ์ด์…˜ ์ง€์›์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ ๋ช…๋ น์ค„ ๋งค๊ฐœ๋ณ€์ˆ˜ "ia64_emulation"์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ CFS(์™„์ „ ๊ณต์ • ์Šค์ผ€์ค„๋Ÿฌ) ๋Œ€์‹  EEVDF(๊ฐ€์žฅ ๋น ๋ฅธ ์ ๊ฒฉ ๊ฐ€์ƒ ๋งˆ๊ฐ์ผ ์šฐ์„ ) ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹คํ–‰์„ ์ „์†กํ•  ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•  ๋•Œ, ์ƒˆ๋กœ์šด ์Šค์ผ€์ค„๋Ÿฌ๋Š” CPU ๋ฆฌ์†Œ์Šค๋ฅผ ์ถฉ๋ถ„ํžˆ ๋ฐ›์ง€ ๋ชปํ–ˆ๊ฑฐ๋‚˜ CPU ์‹œ๊ฐ„์„ ๋„ˆ๋ฌด ๋งŽ์ด ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ œ์–ด๊ถŒ ์ด์ „์ด ๊ฐ•์ œ๋กœ ์ด๋ฃจ์–ด์ง€์ง€๋งŒ, ๋‘ ๋ฒˆ์งธ ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜๋Œ€๋กœ ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค. ์ด์ „ CFS ์Šค์ผ€์ค„๋Ÿฌ๋Š” ํœด๋ฆฌ์Šคํ‹ฑ๊ณผ ๋ฏธ์„ธ ์กฐ์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— ํŠน๋ณ„ํ•œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•œ์ง€ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ, ์ƒˆ๋กœ์šด ์Šค์ผ€์ค„๋Ÿฌ๋Š” ์ด๋ฅผ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ถ”์ ํ•˜๋ฉฐ ๋ฏธ์„ธ ์กฐ์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. EEVDF๋Š” CFS๊ฐ€ ์ผ์ •์„ ์žก๋Š” ๋ฐ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๋˜ ์ž‘์—…์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.
  • eBPF ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋œ DTrace 2.0 ๋™์  ๋””๋ฒ„๊น… ์‹œ์Šคํ…œ์˜ ์ œ๊ณต์ด ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค. DTrace 2.0์€ ๊ธฐ์กด Linux ์ถ”์  ๋„๊ตฌ๊ฐ€ eBPF ์œ„์—์„œ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ eBPF ์œ„์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • KVM ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ์ตœ๋Œ€ 4096๊ฐœ์˜ ๊ฐ€์ƒ CPU(VCPU)๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • TLS ํ”„๋กœํ† ์ฝœ์˜ ์ปค๋„ ์ˆ˜์ค€ ๊ตฌํ˜„์ธ KTLS๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • /dev/random ์žฅ์น˜๋ฅผ ๋‹ด๋‹นํ•˜๋Š” RDRAND ์˜์‚ฌ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์˜ ๊ตฌํ˜„์ด ์—”ํŠธ๋กœํ”ผ ํ˜ผํ•ฉ ์ž‘์—…์— SHA2 ๋Œ€์‹  BLAKE1s ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์˜์‚ฌ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์˜ ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. getrandom() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ํ†ตํ•ด ๋‚œ์ˆ˜ ์ƒ์„ฑ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด vDSO(๊ฐ€์ƒ ๋™์  ๊ณต์œ  ๊ฐ์ฒด) ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ปจํ…์ŠคํŠธ ์ „ํ™˜์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ ํ˜ธ์ถœ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ปค๋„์—์„œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ์† ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋„คํŠธ์›Œํฌ์˜ ์šด์˜์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๋Œ€ TCP ํŒจํ‚ท ํฌ๊ธฐ๋ฅผ 4GB๊นŒ์ง€ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š” BIG TCP ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 16๋น„ํŠธ ํ—ค๋” ํ•„๋“œ ํฌ๊ธฐ๋กœ ํŒจํ‚ท ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฐ ๊ฒƒ์€ "์ ๋ณด" ํŒจํ‚ท์„ ๊ตฌํ˜„ํ•˜์—ฌ ๋‹ฌ์„ฑ๋˜์—ˆ๋Š”๋ฐ, IP ํ—ค๋”์˜ ํฌ๊ธฐ๋Š” 0์œผ๋กœ ์„ค์ •๋˜๊ณ  ์‹ค์ œ ํฌ๊ธฐ๋Š” ๋ณ„๋„์˜ ์ฒจ๋ถ€ ํ—ค๋”์˜ 32๋น„ํŠธ ํ•„๋“œ์— ํฌํ•จ๋˜์–ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์˜ ๊ฒฝ์šฐ SO_RESERVE_MEM ์˜ต์…˜์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์†Œ์ผ“์— ๋Œ€ํ•ด ํŠน์ • ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•ญ์ƒ ์†Œ์ผ“์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๊ณ  ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ์Šคํƒ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ๋ฐ˜ํ™˜ ์ž‘์—…์˜ ์ˆ˜๋ฅผ ์ค„์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์‹œ์Šคํ…œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • fq(Fair Queuing) ํŒจํ‚ท ์Šค์ผ€์ค„๋Ÿฌ์˜ ์„ฑ๋Šฅ์ด ์ตœ์ ํ™”๋˜์–ด tcp_rr(TCP ์š”์ฒญ/์‘๋‹ต) ํ…Œ์ŠคํŠธ์—์„œ ๊ณผ๋ถ€ํ•˜ ์‹œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 5% ์ฆ๊ฐ€ํ•˜๊ณ , ๋ฌด์ œํ•œ UDP ํŒจํ‚ท ํ๋ฆ„ ์‹œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 13% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์„ธ์„œ ๋ฐ์ดํ„ฐ ์บ์‹ฑ์˜ ํšจ์œจ์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๊ฐ€ ์žฌ๊ตฌ์„ฑ๋˜์—ˆ๊ณ , ์ด๋ฅผ ํ†ตํ•ด ๋งŽ์€ ์ˆ˜์˜ ๋ณ‘๋ ฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ TCP ์Šคํƒ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Oracle DBMS์—์„œ ์ž๋™ ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ASMLib 3 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„๋™๊ธฐ ์ž…์ถœ๋ ฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜ io_uring์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋ณด์•ˆ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. XFS ๋ฐ Ext4 FS์— io_uring ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์—์„œ ํŒŒ์ผ์— ๋ณ‘๋ ฌ๋กœ ์ง์ ‘ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
  • Btrfs ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ฆผ/์‚ญ์ œ๋ฅผ ์ง€์›ํ•˜๋Š” ์žฅ์น˜์˜ ๊ฒฝ์šฐ "discard=async" ๋งˆ์šดํŠธ ์˜ต์…˜์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ๋ชจ๋“  ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋น„๋™๊ธฐ ๋ชจ๋“œ๋กœ ๋™์‹œ์— ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ์—†์ด ์••์ถ•๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 64KB๋ณด๋‹ค ํฐ ๋ธ”๋ก์— ์“ฐ๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ• ๋‹น๋Ÿ‰ ํšŒ๊ณ„๊ฐ€ ๊ฐ„์†Œํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋œ ์žฅ์น˜ ๋งˆ์šดํŠธ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. NOCOW ๋ชจ๋“œ์—์„œ ์“ฐ๊ธฐ ๊ฒ€์‚ฌ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ฒ˜๋ฆฌ๋Ÿ‰์ด 9% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค). ์ž˜๋ชป๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฒดํฌ์„ฌ๊ณผ ์Šˆํผ๋ธ”๋ก ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฌด์‹œํ•˜๊ธฐ ์œ„ํ•ด "ignoremetacsums" ๋ฐ "ignoresuperflags" ๋งˆ์šดํŠธ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์žฅ์น˜ ์ œ๊ฑฐ, ๋ธ”๋ก ๊ท ํ˜• ์กฐ์ • ๋ฐ ์žฌ๋ถ„๋ฐฐ ์ž‘์—…์€ ๋ณ‘๋ ฌ ๋ชจ๋“œ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • XFS์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ธ”๋ก ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ํฐ ๊ฐ€์ƒ ๋””์Šคํฌ์— ๋Œ€ํ•œ ๋Œ€๊ทœ๋ชจ ์ต์Šคํ…ํŠธ ์นด์šดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์›์ž ์ปค๋ฐ‹ ๋ชจ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ ๋ชจ๋“œ์—์„œ FS๋ฅผ ๊ฒ€์‚ฌ(fsck)ํ•˜๊ณ  ๋ณต์›ํ•˜๋Š” ์‹คํ—˜์  ๊ตฌํ˜„์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • NFS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ NFS 4.2 ์‚ฌ์–‘์— ์ •์˜๋œ READ_PLUS ์ž‘์—…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ๋นˆ ๊ณต๋ฐฑ์ด ํฌํ•จ๋œ ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์ฝ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ํด๋ฆฌ์˜ค ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํด๋ฆฌ์˜ค)๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํด๋ฆฌ์˜ค๋Š” ๋ณตํ•ฉ ํŽ˜์ด์ง€์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ์˜๋ฏธ๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ๊ณ  ์ž‘์—… ๊ตฌ์„ฑ์ด ๋” ๊น”๋”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘ ์ž‘์—…์€ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๋ฉ”์ดํ”Œ ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์ดํ”Œ ํŠธ๋ฆฌ๋Š” ๋ฒ”์œ„ ์ธ๋ฑ์‹ฑ์„ ์ง€์›ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์บ์‹œ ํ™œ์šฉ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ B-ํŠธ๋ฆฌ์˜ ๋ณ€ํ˜•์ž…๋‹ˆ๋‹ค. ํ˜„๋Œ€ ํ”„๋กœ์„ธ์„œ.
  • mmap์€ ๊ฐœ๋ณ„ VMA(๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ) ์ˆ˜์ค€์—์„œ ์ž ๊ธˆ์„ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ž‘์—…์„ ์ตœ์ ํ™”ํ•˜๋Š” ptdesc ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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