[Kubernetes] ํ๋ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ์: PV, PVC
๐ ํด๋น ํฌ์คํ
์ ์์ํ์ธ์! ๋์ปค/์ฟ ๋ฒ๋คํฐ์ค ์์ ์ ์ฝ๊ณ ๊ฐ์ธ์ ์ธ ๋ชฉ์ ํ์ ์์ฑ๋๋ ๊ธ์
๋๋ค. ํฌ์คํ
์ ์ฌ์ฉ๋๋ ๋ชจ๋ ์๋ฃ๋ ์ ๊ฐ ์ง์ ์ฌ๊ตฌ์ฑํ์์์ ์๋ฆฝ๋๋ค.
1. ๋ฐ์ดํฐ๋ฅผ ๋ณด์กดํด์ผ๋ง ํ๋ ํ๋ : stateful ํ๋
์ฟ ๋ฒ๋คํฐ์ค์ ๊ด๋ จ๋ ์ง์ ํฌ์คํ ๊น์ง๋ ๋ชจ๋ ํ๋๊ฐ ์ํ๊ฐ ์๋ ์ฆ, statelessํ ์ ํ๋ฆฌ์ผ์ด์ ์ด์๋ค. ์ํ๊ฐ ์๋ ํ๋๋ผ๋ ๊ฒ์ ๊ทธ ํ๋์ ๋ด๋ถ์๋ ๋ณ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณ ์์ง ์์ผ๋ฉฐ, ๋จ์ํ ํ๋ ์ธ๋ถ์์ ํด๋น ํ๋๋ก ์์ฒญ์ ๋ณด๋์ ๋, ์ด๋ค ์ฒ๋ฆฌ๋ง์ ์ํํ๊ณ ์๋ต์ ๋ฐํํ๊ธฐ๋ง ํ์์ ์๋ฏธํ๋ค. ํ์ง๋ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํ๋ ๋ด๋ถ์์ ๋ณ๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ ์๋ ์๋ค. ๊ณง ํ๋๊ฐ ์ํ๊ฐ ์๋ ์ฆ, statefulํ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๋ค. ์ด๋ ๊ฒ ๋๋ฉด stateful ํ ํ๋๋ค์ ๋ด๋ถ์ ๊ฐ๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์งํด์ผ ํ ํ์๊ฐ ์๋ค. ์๋ํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋๋ ์ญ์ ๋๊ฑฐ๋ ์ฌ์์๋ ๊ฒฝ์ฐ ํ๋ ๋ด๋ถ์ ์๋ ๋ฐ์ดํฐ๋ค์ ํ๋ฐ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฌผ๋ก ์ฟ ๋ฒ๋คํฐ์ค์์๋ ๋์ปค์ฒ๋ผ ํธ์คํธ ๋๋ ํ ๋ฆฌ์ ๋ณผ๋ฅจ์ ์ปจํ ์ด๋์ ๋ง์ดํธํด์ ํ๋ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ๋ณด๊ดํ ์๋ ์๋ค. ํ์ง๋ง ์ด๋ ํ๊ณ์ ์ด ์กด์ฌํ๋ค. ์๋ฅผ ๋ค์ด, ์ฟ ๋ฒ๋คํฐ์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋๋ฅผ ์์ฑํ ๋ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๋ด์ ์์ปค ๋ ธ๋๋ค ์ค ํ๋๋ฅผ ์ ํํด ํน์ ์์ปค ๋ ธ๋์ ํ๋๋ฅผ ์์ฑํ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋๋ฅผ ์์ฑํ ๋ ธ๋์ ํธ์คํธ ๋๋ ํ ๋ฆฌ์ ๋ณผ๋ฅจ์ ํ๋์ ๋ง์ดํธํ๊ฒ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ฝ ํด๋น ๋ ธ๋์ ์ฅ์ ๊ฐ ์๊ฒจ ๋ ธ๋๊ฐ ์ฌ์์ํ๊ฑฐ๋ ์ญ์ ๋๋ค๋ฉด, ๊ทธ ๋ ธ๋์์ ์์ฑ๋์๋ ํ๋ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ๋ ๊น? ๋น์ฐํ ํ๋ฐ๋๋ค.
์ ๊ทธ๋ฆผ์ฒ๋ผ 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๋ผ๋ ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํด์ ์ด๋ค PV๊ฐ ์ด๋ค ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํด์ ์์ฑ๋ ์ง๋ง์ ๊ด๋ฆฌํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ PVC ๋ผ๋ ์ค๋ธ์ ํธ๋ฅผ ์ฌ์ฉํด์ ์์ฑํ๋ ค๋ ํ๋์์ ์ฌ์ฉํ ๋ณผ๋ฅจ์ ๋ํ ์๊ตฌ์ฌํญ๋ง ๋ช ์ํด์ฃผ๋ฉด ๋๋ค. ์ด ๋, PVC์ ๋ช ์๋๋ ๋ณผ๋ฅจ์ ๋ํ ์๊ตฌ์ฌํญ์ ํด๋น ๋ณผ๋ฅจ์ด ์ด๋ค ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ๋ณด๋ค๋ ๊ทธ ๋ณผ๋ฅจ์ด ์์ฑ๋ ๋ ์ฌ์ฉํ ์คํ ๋ฆฌ์ง์ ์ฉ๋, ๊ทธ ๋ณผ๋ฅจ์ ๋ช ๊ฐ์ ํ๋(์ธ์คํด์ค)๋ง ๋ง์ดํธ๊ฐ ๊ฐ๋ฅํ์ง ๋ฑ๊ณผ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ช ์ํ ์ ์๋ค.
์ด๋ ๊ฒ ๋๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ ์ฅ์์๋ ์ด๋ค ์ธ๋ถ ์คํ ๋ฆฌ์ง ์ข ๋ฅ๋ฅผ ์ฌ์ฉํด์ ๋ณผ๋ฅจ์ ์์ฑํด์ผ ํ๋์ง์ ๋ํด์๋ ์ ๊ฒฝ์ธ ํ์ ์์ด ๋จ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ๋ณผ๋ฅจ์ ์ฉ๋์ด ์ผ๋ง์ด๊ณ , ํด๋น ๋ณผ๋ฅจ์ ๋ช ๊ฐ์ ํ๋๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ํด์ผ๋๊ณ ํ๋ ๋ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฅ์์ ํ์ํ ๋ถ๋ถ๋ง ๋ช ์ํ๋ฉด ๋๋ค.
๋ง์ง๋ง์ผ๋ก, PV, PVC๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์ฐจ์ ์ผ๋ก ๋จ๊ณํํ ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ๋ค.
- PV๋ฅผ ์์ฑํ ๋ ๊ธฐ๋ฐ์ด ๋๋ ์ฆ, ์ค์ง์ ์ธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ์ ์ฅ์๋ ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ์์ฑํ๋ค.
- ์์ฑํ ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ PV๋ฅผ ์์ฑํ๋ค.
- ํ๋์์ ๋ง์ดํธํ๊ณ ์ถ์ดํ๋ PV์ ๋ํ ์คํ์ ๋ช ์ํ๋ PVC ํญ๋ชฉ์ ํ๋ ๋งค๋ํ์คํธ์ ๋ช ์ํ๋ค.
- PVC ํญ๋ชฉ์ ๋ช ์๋ ์คํ์ ์ถฉ์กฑํ๋ PV๋ฅผ ํ๋ ์ ํํด์ PVC ์ PV ๊ฐ์ ๋ฐ์ธ๋ฉํ๋ค.
- ๋ฐ์ธ๋ฉ๋ PV๋ฅผ ํ๋ ๋ด์ ๋ง์ดํธ ์ํจ๋ค.
PV, PVC๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ์ฌ์ฉ๋ฒ์ ๋ํ ์ค๋ช ์ ์ ๋ด์ฉ์ด ํต์ฌ์ด๋ค. ๊ทธ ์ด์ธ์ PV๋ฅผ ์ ํํ๊ธฐ ์ํด PVC์ ๋ช ์ํ๋ ๋ค์ํ ์กฐ๊ฑด์ ๋ํ ์ค๋ช , PV ์ฌ์ฉ์ด ์ข ๋ฃ๋์์ ๋ ์ดํ ์ด๋ค ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋์ง๋ฅผ ๋ช ์ํ๋ ๋ผ์ดํ์ฌ์ดํด๊ณผ Reclaim Policy, ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํ๋ ๊ฒ๋ ์๋ํ์ํฌ ์ ์๋ ์คํ ๋ฆฌ์ง ํด๋์ค์ ๋ค์ด๋๋ฏน ํ๋ก๋น์ ๋๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ํด์๋ ์ฑ p.411์ชฝ๋ถํฐ ์ดํด๋ณผ ์ ์๋ค.