Container/Kubernetes

[Kubernetes] ํŒŒ๋“œ ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์˜์†์ ์œผ๋กœ ์ €์žฅํ•˜์ž: PV, PVC

YounghunJo 2024. 9. 8. 14:21
๋ฐ˜์‘ํ˜•

๐Ÿ”Š ํ•ด๋‹น ํฌ์ŠคํŒ…์€ ์‹œ์ž‘ํ•˜์„ธ์š”! ๋„์ปค/์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„œ์ ์„ ์ฝ๊ณ  ๊ฐœ์ธ์ ์ธ ๋ชฉ์  ํ•˜์— ์ž‘์„ฑ๋˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค. ํฌ์ŠคํŒ…์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“  ์ž๋ฃŒ๋Š” ์ œ๊ฐ€ ์ง์ ‘ ์žฌ๊ตฌ์„ฑํ•˜์˜€์Œ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.
 

Kubernetes


1. ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•ด์•ผ๋งŒ ํ•˜๋Š” ํŒŒ๋“œ : stateful ํŒŒ๋“œ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ ๊ด€๋ จ๋œ ์ง์ „ ํฌ์ŠคํŒ…๊นŒ์ง€๋Š” ๋ชจ๋‘ ํŒŒ๋“œ๊ฐ€ ์ƒํƒœ๊ฐ€ ์—†๋Š” ์ฆ‰, statelessํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด์—ˆ๋‹ค. ์ƒํƒœ๊ฐ€ ์—†๋Š” ํŒŒ๋“œ๋ผ๋Š” ๊ฒƒ์€ ๊ทธ ํŒŒ๋“œ์˜ ๋‚ด๋ถ€์—๋Š” ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ๋‹จ์ˆœํžˆ ํŒŒ๋“œ ์™ธ๋ถ€์—์„œ ํ•ด๋‹น ํŒŒ๋“œ๋กœ ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๋•Œ, ์–ด๋–ค ์ฒ˜๋ฆฌ๋งŒ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ๋งŒ ํ–ˆ์Œ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ํŒŒ๋“œ ๋‚ด๋ถ€์—์„œ ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ณง ํŒŒ๋“œ๊ฐ€ ์ƒํƒœ๊ฐ€ ์žˆ๋Š” ์ฆ‰, statefulํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด stateful ํ•œ ํŒŒ๋“œ๋“ค์€ ๋‚ด๋ถ€์— ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜์†์ ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ๋“œ๋Š” ์‚ญ์ œ๋˜๊ฑฐ๋‚˜ ์žฌ์‹œ์ž‘๋  ๊ฒฝ์šฐ ํŒŒ๋“œ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ํœ˜๋ฐœ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๋ฌผ๋ก  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋„ ๋„์ปค์ฒ˜๋Ÿผ ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณผ๋ฅจ์„ ์ปจํ…Œ์ด๋„ˆ์— ๋งˆ์šดํŠธํ•ด์„œ ํŒŒ๋“œ ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๋ณด๊ด€ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ํ•œ๊ณ„์ ์ด ์กด์žฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ์›Œ์ปค ๋…ธ๋“œ๋“ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ํŠน์ • ์›Œ์ปค ๋…ธ๋“œ์— ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒŒ๋“œ๋ฅผ ์ƒ์„ฑํ•œ ๋…ธ๋“œ์˜ ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ณผ๋ฅจ์„ ํŒŒ๋“œ์— ๋งˆ์šดํŠธํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ ํ•ด๋‹น ๋…ธ๋“œ์— ์žฅ์• ๊ฐ€ ์ƒ๊ฒจ ๋…ธ๋“œ๊ฐ€ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋œ๋‹ค๋ฉด, ๊ทธ ๋…ธ๋“œ์—์„œ ์ƒ์„ฑ๋˜์—ˆ๋˜ ํŒŒ๋“œ ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? ๋‹น์—ฐํžˆ ํœ˜๋ฐœ๋œ๋‹ค.

 

Worker node 1์— ์žฅ์• ๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒฝ์œ 

 

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Worker node 1์— ํŒŒ๋“œ๋ฅผ ๋ฐฐํฌํ–ˆ๊ณ , Worker node 1์ด๋ผ๋Š” ํ˜ธ์ŠคํŠธ์˜ /mnt ๋””๋ ‰ํ† ๋ฆฌ๋ผ๋Š” ๊ฒƒ์„ ๋งˆ์šดํŠธํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ Worker node 1์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ  ์ด์— ๋”ฐ๋ผ Worker node 1์— ์žˆ๋˜ ํŒŒ๋“œ๊ฐ€ ์žฌ์ƒ์„ฑ๋˜์—ˆ๋Š”๋ฐ, ์žฌ์ƒ์„ฑ๋  ๋•Œ๋Š” Worker node 2์— ์ƒ์„ฑ๋˜์—ˆ๋‹ค๊ณ  ํ•ด๋ณด์ž. ํ•˜์ง€๋งŒ Worker node 2์—๋Š” Worker node 1์ด๋ž‘ ๋‹ค๋ฅด๊ฒŒ mnt ๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๊ณ , ์ด๋ ‡๊ฒŒ ๋˜๋ฉด Worker node 1์˜ /mnt ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณด๊ด€๋˜์–ด ์žˆ๋˜ ํŒŒ๋“œ์˜ ๋ฐ์ดํ„ฐ๋Š” ์œ ์‹ค๋˜๊ฒŒ ๋œ๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋…ธ๋“œ์—์„œ๋„ ์ ‘๊ทผํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํผ์‹œ์Šคํ„ดํŠธ ๋ณผ๋ฅจ(์ดํ•˜ PV, Persistent Volume)์„ ์‚ฌ์šฉํ•œ๋‹ค. PV๋Š” ์›Œ์ปค ๋…ธ๋“œ๋“ค์ด ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋งˆ์šดํŠธ ํ•˜์—ฌ ์˜์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ณผ๋ฅจ์„ ์˜๋ฏธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ PV๋ฅผ ์ด์šฉํ•˜๋ฉด ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋…ธ๋“œ ๋ ˆ๋ฒจ์—์„œ์˜ ์žฅ์•  ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์—ฌ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋„ ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด PV(Persistent Volume)๊ณผ PVC(Persistent Volume Claim)์ด๋ผ๋Š” ๋ฆฌ์†Œ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด์ œ ์ด ์˜ค๋ธŒ์ ํŠธ๋“ค์— ๋Œ€ํ•œ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

2. ๋กœ์ปฌ ๋ณผ๋ฅจ : hostPath ์™€ empyDir

PV์™€ PVC์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ์— ์•ž์„œ์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ๋ณผ๋ฅจ์„ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋ณผ๋ฅจ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” 2๊ฐ€์ง€ ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

2-1. ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ : hostPath

'ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ '๋ผ๋Š” ํ‚ค์›Œ๋“œ๋Š” ์‚ฌ์‹ค ๋„์ปค ํฌ์ŠคํŒ…(๋ชฉ์ฐจ 5-1 ์ฐธ์กฐ)์—์„œ ๋ฐฐ์›Œ๋ณธ ์ ์ด ์žˆ๋‹ค. ๋‹น์‹œ ํฌ์ŠคํŒ…์—์„œ ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•  ๋•Œ ์‚ฌ์šฉํ•œ ๊ทธ๋ฆผ ์ž๋ฃŒ๋ฅผ ๋‹ค์‹œ ์‚ดํŽด๋ณด์ž.

 

 

์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ ๋ฅผ ์ˆ˜ํ–‰ํ•ด์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ํ˜ธ์ŠคํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€Œ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ง€๊ธˆ ์†Œ๊ฐœํ•˜๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ์˜ ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ  ์ฆ‰, hostPath์—์„œ๋Š” 'ํ˜ธ์ŠคํŠธ'๊ฐ€ ๋ฐ”๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ '์›Œ์ปค ๋…ธ๋“œ'๊ฐ€ ๋œ๋‹ค. ์ฆ‰, ์›Œ์ปค ๋…ธ๋“œ์—์„œ ์ƒ์„ฑ๋œ ํŒŒ๋“œ๊ฐ€ ์›Œ์ปค ๋…ธ๋“œ์˜ ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ณต์œ ํ•ด์„œ ํŒŒ๋“œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๊ณณ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค. hostPath ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์ œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

apiVersion: v1
kind: Pod
metadata:
  name: host-path-pod
spec:
  containers:
    - name: zedd-container
      image: busybox
      args: ["tail", "-f", "/dev/null"]
      volumeMounts:
        - name: zedd-host-path-volume
          mountPath: /etc/data
  volumes:
    - name: zedd-host-path-volume
      hostPath:
        path: /tmp

 

์œ„ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ์—์„œ ๋จผ์ € ์ฃผ๋ชฉํ•  ๋ถ€๋ถ„์€ spec.volumes ํ•ญ๋ชฉ์ด๋‹ค. ํ•ด๋‹น ํ•ญ๋ชฉ์— ์ƒ์„ฑํ•  hostPath ๋ณผ๋ฅจ๋ช…์„ ๋ช…์‹œํ•ด์ฃผ๊ณ , ํ˜ธ์ŠคํŠธ์˜ ์–ด๋–ค ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ• ์ง€ ๋ช…์‹œํ•ด์ค€๋‹ค. /tmp ๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ spec.conatiners.volumeMounts ๋ถ€๋ถ„์„ ๋ณด์ž. ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ hostPath ๋ณผ๋ฅจ์„ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ๋งˆ์šดํŠธํ• ํ…๋ฐ, ๋งˆ์šดํŠธํ•  ๋ณผ๋ฅจ๋ช…๊ณผ ๋งˆ์šดํŠธ์‹œํ‚ฌ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๋ช…์‹œํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ํ˜ธ์ŠคํŠธ ๋ณผ๋ฅจ ๊ณต์œ  ๋ฐฉ์‹์€ ์›Œ์ปค ๋…ธ๋“œ์— ์žฅ์• ๊ฐ€ ๋‚ฌ์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.(์•„๊นŒ ์œ„ ๊ทธ๋ฆผ์—์„œ ๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ) ๋ฌผ๋ก  ๋ชจ๋“  ์›Œ์ปค ๋…ธ๋“œ์— hostPath ๋ณผ๋ฅจ์„ ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ CAdvisor ๋ผ๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ํˆด์ด ์žˆ๋‹ค.

2-2. ํŒŒ๋“œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ํŒŒ๋“œ๋ฅผ ์ด์šฉ: emptyDir

์ด๋ฒˆ์—” ํŒŒ๋“œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํŒŒ๋“œ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํŒŒ๋“œ๋“ค์ด ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž„์‹œ ์ €์žฅ ๊ณต๊ฐ„์„ ์ƒ์„ฑํ•ด ํŒŒ๋“œ๋“ค์ด ํ•ด๋‹น ๊ณต๊ฐ„์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‹น์—ฐํžˆ ๊ด€๋ จ๋œ ํŒŒ๋“œ๋“ค์ด ๋ชจ๋‘ ์‚ญ์ œ๋œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋„ ์‚ญ์ œ๋˜๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž.

 

apiVersion: v1
kind: Pod
metadata:
  name: emptydir-pod
spec:
  containers:
    - name: content-creator
      image: alicek106/alpine-wget:latest
      args: ["tail", "-f", "/dev/null"]
      volumeMounts:
        - name: zedd-emptydir-volume
          mountPath: /data
    - name: apache-webserver
      image: httpd:2
      volumeMounts:
        - name: zedd-emptydir-volume
          mountPath: /usr/local/apache2/htdocs/
  volumes:
    - name: zedd-emptydir-volume
      emptyDir: {}

 

๋จผ์ € spec.volumes ํ•ญ๋ชฉ์„ ๋ณด์ž. ํ•ด๋‹น ํ•ญ๋ชฉ์—๋Š” emptyDir ์ด๋ผ๊ณ  ์„ ์–ธํ•ด ๋ณผ๋ฅจ์„ ์ƒ์„ฑํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  spec.containers ์ค‘ content-creator ๋ผ๋Š” ์ด๋ฆ„์˜ volumeMounts ํ•ญ๋ชฉ์„ ๋ณด์ž. ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ๋ณผ๋ฅจ์„ ๋ช…์‹œํ•˜๊ณ  ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—๋Š” /data ๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  apache-webserver ๋ผ๋Š” ์ด๋ฆ„์˜ ์ปจํ…Œ์ด๋„ˆ์˜ volumeMounts ํ•ญ๋ชฉ์—๋„ ๋˜‘๊ฐ™์ด ์ƒ์„ฑํ•œ ๋ณผ๋ฅจ์„ ๋ช…์‹œํ•˜๊ณ , ๋งˆ์šดํŠธํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๋ช…์‹œํ–ˆ๋‹ค.

 

์œ„ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด content-creator ์™€ apache-webserver ๋ผ๋Š” 2๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” ์„œ๋กœ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, content-creator ์—์„œ index.html ์ด๋‚˜ ๊ธฐํƒ€ ํ”„๋ก ํŠธ์—”๋“œ ๊ด€๋ จ ํŒŒ์ผ์„ /data ๊ฒฝ๋กœ์— ์ƒ์„ฑํ•˜๋ฉด apache-webserver์—์„œ๋Š” /usr/local/apache2/htdocs ๋ผ๋Š” ๊ฒฝ๋กœ์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์ด ์ž๋™์œผ๋กœ ์ƒ๊ฒจ์„œ ์›น๋ธŒ๋ผ์šฐ์ €์— ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด๋“ค์ด ์ƒ๊ธด๋‹ค.

 

์ด๋ ‡๊ฒŒ empryDir ๋ณผ๋ฅจ์€ ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํŒŒ์ผ์„ ์ƒ์„ฑ(write) ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ , ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ๋Š” ํ•ด๋‹น ํŒŒ์ผ์„ ์‚ฌ์šฉ(read)ํ•˜๋Š” ์—ญํ• ๋กœ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ณผ๋ฅจ ๊ณต์œ 

๋ชฉ์ฐจ 2๋ฒˆ์—์„œ ์•Œ์•„๋ณธ hostPath, emptyDir ๋ณผ๋ฅจ์€ ๋กœ์ปฌ ๋ณผ๋ฅจ์œผ๋กœ์„œ ๋ชฉ์ฐจ 1๋ฒˆ์—์„œ ์–ธ๊ธ‰ํ•œ ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์ด๋ฒˆ ๋ชฉ์ฐจ์—์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋‹จ์ˆœํžˆ ์‹œ์ค‘(?)์— ์กด์žฌํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•ด์„œ ๋ชฉ์ฐจ 1๋ฒˆ์—์„œ ์–ธ๊ธ‰ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด๋„๋ก ํ•˜์ž.(๋ฌผ๋ก  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋„ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค) NFS, iSCSI, GlusterFS, Ceph, AWS EBS(Elastic Block Store), GCP gcePersistentDisk ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์ด ์žˆ์ง€๋งŒ ํ•ด๋‹น ๋ชฉ์ฐจ์—์„œ๋Š” NFS๋ฅผ ํ™œ์šฉํ•œ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์•Œ์•„๋ณด์ž.

 

๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์˜ ์œ„์น˜๋Š” ๋„คํŠธ์›Œํฌ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ๋งŒ ์žˆ๋‹ค๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€๋˜ ์™ธ๋ถ€๋˜ ์ƒ๊ด€์ด ์—†๋‹ค. NFS๋Š” Netowkr File System์˜ ์ค„์ž„๋ง๋กœ, ๋Œ€๋ถ€๋ถ„์˜ OS์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์Šคํ† ๋ฆฌ์ง€์ด๋‹ค. NFS๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋™์‹œ์— ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ NFS๋Š” ๋ณดํ†ต ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋งŒ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๋Š” ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ ์†”๋ฃจ์…˜์— ๋น„ํ•ด์„œ๋Š” ๋‹น์—ฐํžˆ ์•ˆ์ •์„ฑ์ด ๋–จ์–ด์ง„๋‹ค. 

 

NFS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด NFS ์„œ๋ฒ„์™€ NFS ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. NFS ์„œ๋ฒ„๋Š” ์˜์†์ ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์งˆ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋ฒ„์ด๊ณ , NFS ํด๋ผ์ด์–ธํŠธ๋Š” NFS ์„œ๋ฒ„์— ๋งˆ์šดํŠธํ•ด์„œ ์Šคํ† ๋ฆฌ์ง€์— ํŒŒ์ผ์„ ์ฝ๊ณ  ์“ฐ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. 

 

NFS๋ฅผ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ์ž์„ธํ•œ ์‹ค์Šต์€ ์ฑ… p.399์ชฝ์„ ์ฐธ์กฐํ•˜๋„๋ก ํ•˜์ž.

4. ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ ์ข…๋ฅ˜๊ฐ€ ๋ญ๊ฑด ํŒŒ๋“œ๋Š” ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•ด! : PV, PVC

3๋ฒˆ ๋ชฉ์ฐจ์—์„œ ์†Œ๊ฐœํ•œ NFS ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•œ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ๋„ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ ‡๊ฒŒ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ ์ข…๋ฅ˜ ์ค‘ ๋ฌด์—‡์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€์™€ ๊ฐ™์€ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์ƒ์„ธ์ ์ธ ์ŠคํŽ™์„ ํŒŒ๋“œ์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ๊ฐ™์ด ์ •์˜๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ์‚ฌ์šฉํ•  ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ๊ณผ ํŒŒ๋“œ ๊ฐ„์˜ ์ข…์†์„ฑ์ด ์ƒ๊ฒจ๋ฒ„๋ฆฐ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, A, B, C๋ผ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐ๊ฐ ํŒŒ๋“œ๋กœ ๋ฐฐํฌํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด A,B,C ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ŠคํŽ™์„ ๋ช…์‹œํ•˜๋Š” ํŒŒ๋“œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๊ฐ€ ๊ฐ๊ฐ ์žˆ์„ ๊ฒƒ์ด๊ณ , ๊ทธ ๊ฐ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์–ด๋–ค ๋„คํŠธ์›Œํฌ ๋ณผ๋ฅจ์„ ์‚ฌ์šฉํ• ์ง€, ๊ทธ ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์ŠคํŽ™์€ ๋ฌด์—‡์ธ์ง€ ํŒŒ๋“œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ๋ชจ๋‘ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

์ด๋Ÿฌํ•œ ํ˜„์ƒ์€ ์–ด๋–ค ๊ฒฝ์šฐ์ผ ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ? ์‚ฌ์‹ค ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ผ๋Š” ์ธํ”„๋ผ๋„ ๊ด€๋ฆฌํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ๋„ ํ•˜๋Š” ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž๋ฉด ์ƒ๊ด€์ด ์—†๋‹ค. ํ•˜์ง€๋งŒ ์กฐ์ง์—์„œ ์‹œ์Šคํ…œ์ด ์ปค์ง์— ๋”ฐ๋ผ ์ธํ”„๋ผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐœ๋ฐœ์ž์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช…ํ™•ํžˆ ์—ญํ• ์ด ๋ถ„๋ฆฌ๋˜๊ธฐ ๋งˆ๋ จ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์„œ๋กœ ํ˜‘์—…์„ ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธํ”„๋ผ ๊ด€๋ฆฌ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด ์ข‹๊ณ , ๋ฐ˜๋Œ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์ธํ”„๋ผ ๋ ˆ๋ฒจ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ํŽธํ•˜๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งŒ ๊ฐœ๋ฐœํ•˜๋ฉด ์ฐธ ์ข‹์„ ๊ฒƒ์ด๋‹ค. ์–ด๋–ป๊ฒŒ ๋ณด๋ฉด PV, PVC๋ผ๋Š” ๋ฆฌ์†Œ์Šค ์˜ค๋ธŒ์ ํŠธ๋Š” ์ด๋Ÿฌํ•œ ํ˜‘์—…์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ–ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

PV, PVC๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ”„๋ผ ๊ด€๋ฆฌ์ž์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ถ„๋ฆฌ๋œ๋‹ค

 

PV, PVC๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ธํ”„๋ผ ๊ด€๋ฆฌ์ž์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ๊ฐ ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ถ„๋ฆฌ๋œ๋‹ค. ์ผ๋‹จ ์ธํ”„๋ผ ๊ด€๋ฆฌ์ž๋Š” PV๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์–ด๋–ค PV๊ฐ€ ์–ด๋–ค ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ๋ ์ง€๋งŒ์„ ๊ด€๋ฆฌํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” PVC ๋ผ๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑํ•˜๋ ค๋Š” ํŒŒ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ๋งŒ ๋ช…์‹œํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ด ๋•Œ, PVC์— ๋ช…์‹œ๋˜๋Š” ๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ํ•ด๋‹น ๋ณผ๋ฅจ์ด ์–ด๋–ค ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๊ทธ ๋ณผ๋ฅจ์ด ์ƒ์„ฑ๋  ๋•Œ ์‚ฌ์šฉํ•  ์Šคํ† ๋ฆฌ์ง€์˜ ์šฉ๋Ÿ‰, ๊ทธ ๋ณผ๋ฅจ์— ๋ช‡ ๊ฐœ์˜ ํŒŒ๋“œ(์ธ์Šคํ„ด์Šค)๋งŒ ๋งˆ์šดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ๋“ฑ๊ณผ ๊ฐ™์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ๋Š” ์–ด๋–ค ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€ ์ข…๋ฅ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณผ๋ฅจ์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” ์‹ ๊ฒฝ์“ธ ํ•„์š” ์—†์ด ๋‹จ์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ•„์š”ํ•œ ๋ณผ๋ฅจ์˜ ์šฉ๋Ÿ‰์ด ์–ผ๋งˆ์ด๊ณ , ํ•ด๋‹น ๋ณผ๋ฅจ์— ๋ช‡ ๊ฐœ์˜ ํŒŒ๋“œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์•ผ๋˜๊ณ  ํ•˜๋Š” ๋“ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž…์žฅ์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ช…์‹œํ•˜๋ฉด ๋œ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ, PV, PVC๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‹จ๊ณ„ํ™”ํ•œ ๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

  1. PV๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์ฆ‰, ์‹ค์งˆ์ ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ์ €์žฅ์†Œ๋Š” ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 
  2. ์ƒ์„ฑํ•œ ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” PV๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  3. ํŒŒ๋“œ์—์„œ ๋งˆ์šดํŠธํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š” PV์— ๋Œ€ํ•œ ์ŠคํŽ™์„ ๋ช…์‹œํ•˜๋Š” PVC ํ•ญ๋ชฉ์„ ํŒŒ๋“œ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ๋ช…์‹œํ•œ๋‹ค.
  4. PVC ํ•ญ๋ชฉ์— ๋ช…์‹œ๋œ ์ŠคํŽ™์„ ์ถฉ์กฑํ•˜๋Š” PV๋ฅผ ํ•˜๋‚˜ ์„ ํƒํ•ด์„œ PVC ์™€ PV ๊ฐ„์— ๋ฐ”์ธ๋”ฉํ•œ๋‹ค.
  5. ๋ฐ”์ธ๋”ฉ๋”˜ PV๋ฅผ ํŒŒ๋“œ ๋‚ด์— ๋งˆ์šดํŠธ ์‹œํ‚จ๋‹ค.

PV, PVC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•œ ์„ค๋ช…์€ ์œ„ ๋‚ด์šฉ์ด ํ•ต์‹ฌ์ด๋‹ค. ๊ทธ ์ด์™ธ์— PV๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด PVC์— ๋ช…์‹œํ•˜๋Š” ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์— ๋Œ€ํ•œ ์„ค๋ช…, PV ์‚ฌ์šฉ์ด ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ ์ดํ›„ ์–ด๋–ค ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๋Š”์ง€๋ฅผ ๋ช…์‹œํ•˜๋Š” ๋ผ์ดํ”„์‚ฌ์ดํด๊ณผ Reclaim Policy, ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ฏธ๋ฆฌ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๋„ ์ž๋™ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค์™€ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๋น„์ €๋‹๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์— ๋Œ€ํ•ด์„œ๋Š” ์ฑ… p.411์ชฝ๋ถ€ํ„ฐ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•