OSTEP - Part 3. Persistency - 43
๋ณธ ๋ด์ฉ์ OSTEP ์ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ์์ฝํ ๋ด์ฉ์ ๋๋ค. ์ ๋ฌธ์ ์ด ๊ณณ์ ๋ฐฉ๋ฌธํ์๋ฉด ๋ณด์ค ์ ์์ต๋๋ค.
43. ๋ก๊ทธ ๊ธฐ๋ฐ ํ์ผ ์์คํ
- 1900๋
๋ ์ด๋ฐ Berkeley ๋ํ์์ ์ฐ๊ตฌํ ๋ถ๋ค์ ๋ก๊ทธ ๊ธฐ๋ฐ ํ์ผ ์์คํ
์ด๋ผ๋ ์๋ก์ด ํ์ผ ์์คํ
์ ๊ฐ๋ฐํ๋ค. ์ด๋ฌํ ์ฐ๊ตฌ์ ๋๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋๋ฌธ์ด๋ค.
- ์์คํ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๋ ์ถ์ธ์๋ค : ์ด๋ฌํ ํน์ง์ ํ์ผ ์์คํ ์ ์ฑ๋ฅ์ด ๋์ฒด์ ์ผ๋ก ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ํด ๊ฒฐ์ ๋์๋ค.
- ์์ I/O์ ์์ฐจ I/O์ ์ฑ๋ฅ ๊ฐ๊ฒฉ์ ์ฐจ๊ฐ ํฌ๊ฒ ๋ฒ์ด์ก๋ค : ํ๋ ๋์คํฌ ๋๋ผ์ด๋ธ์ ์ ์ก ๋์ญํญ์ ๊พธ์คํ ์ฆ๊ฐํด์๋ค. ๋ฐ๋ฉด ํ์, ํ์ ์ง์ฐ ๋น์ฉ์ ๊ทธ ๋ฐ์ ์๋๊ฐ ์์๊ณ , ๋์คํฌ๋ฅผ ์์ฐจ ์ ๊ทผ๋ง ํ ์ ์๋ค๋ฉด ํ์, ํ์ ์ด ํ์ํ ๋ฐฉ์๋ณด๋ค ํฐ ์ฑ๋ฅ์ ์ด๋์ ๊ฐ์ง ์ ์๋ ๊ฒ์ด๋ค.
- ๋๋์ ์ผ๋ฐ์ ์ธ ์ํฌ๋ก๋์์ ๊ธฐ์กด ํ์ผ ์์คํ ๋ค์ ์ฑ๋ฅ์ด ์ข์ง ์์๋ค : FFS๋ ๋ธ๋ญ ํ๋์ ํฌ๊ธฐ์ ์๋ก์ด ํ์ผ์ ์์ฑํ๊ธฐ ์ํด ์ฌ๋ฌ๋ฒ ์ฐ๊ธฐ๋ฅผ ํด์ผ ํ๋ค. ์ด๋ ๋ฏ ๊ธฐ์กด์ ๋ฐฉ์์ ์ฌ๋ฌ๋ฒ์ ์งง์ ํ์, ํ์ ์ง์ฐ, ์ต๋ ์์ฐจ ๋์ญํญ์ด ๋ผ ์ ์๋ ์ฑ๋ฅ์ ํ์ฐธ ๋ชป ๋ฏธ์น๋ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
- ํ์ผ ์์คํ ์ด RAID๋ฅผ ๊ณ ๋ คํ์ง ์์๋ค : ๊ธฐ์กด ํ์ผ ์์คํ ๋ค์ ๋ ์ด๋์์ ์ต์ ์ ํ์์ ํํผํ๋ ๋ ธ๋ ฅ์ด ๋ด๊ฒจ์ ธ ์์ง ์์๋ค.
๐ฉ ํต์ฌ ์ง๋ฌธ: ๋ชจ๋ ์ฐ๊ธฐ๋ฅผ ์ด๋ป๊ฒ ์์ฐจ์ฐ๊ธฐ๋ก ๋ณํ์ํฌ๊น?
- ์ด์์ ํ์ผ ์์คํ ์ ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ด์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ธฐ๋ก ๋ฟ ์๋๋ผ ๋ฉํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ฐฑ์ ์ํฌ๋ก๋๋ผ๋์ง, ๋ ์ด๋ ํ๊ฒฝ์์๋ ๋์์ด ์ ๋๋ค.
- ์ฌ๊ธฐ์ ์ฐ๊ตฌ์๋ค์ด ์๋ก์ด ์๊ฐํ ํ์ผ ์์คํ ์ด ๋ฐ๋ก ๋ก๊ทธ ๊ธฐ๋ฐ ํ์ผ ์์คํ (Log-structured file System) ๋๋ ์งง๊ฒ LFS ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ๋ฐ์ดํฐ ๋์คํฌ ๊ธฐ๋ก ์ ๋ชจ๋ ๊ฐฑ์ ์ ๋ณด๋ฅผ ์ธ๊ทธ๋จผํธ๋ผ ๋ถ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ ์๋ฃ ๊ตฌ์กฐ์ ๋ณด๊ดํ๋ค. ์ธ๊ทธ๋จผํธ๊ฐ ๊ฐ๋ ์ฐจ๋ฉด, ๋์คํฌ์
๋น๊ณต๊ฐ
์ ์ฐพ์ ํ ๋ฒ์ ๊ธฐ๋กํ๋ค. ์ธ๊ทธ๋จผํธ๊ฐ ํฌ๊ธฐ๋๋ฌธ์ ๋์คํฌ ๊ธฐ๋ก ์์ ์ ํจ์จ์ ์ธ ์์ ์ผ๋ก ๋ฐ๋๋ฉฐ, ๋์คํฌ ์ฑ๋ฅ์ ์ต๋ํ ํ์ฉํ ์ ์๊ฒ ๋๋ค.
43.1 ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ์ฐ๊ธฐ
- ๋ชจ๋ ์ฐ๊ธฐ ์์ ์ ์ด๋ป๊ฒ ์์ฐจ ์ฐ๊ธฐ๋ก ๋ฐ๊ฟ ์ ์์๊น?
- ๋ฐ์ดํฐ ๋ธ๋ก์ ๊ธฐ๋กํ๋ฉด ๋ฐ์ดํฐ๋ง ๊ฐฑ์ ๋๋ ๊ฒ์ด ์๋๋ค. ๋ฉํ๋ฐ์ดํฐ๋ ํจ๊ป ๊ฐฑ์ ๋์ด์ผ ํ๋ค.
- ๋ฐ๋ผ์ ์ฌ๊ธฐ์ ๋ชจ๋ ๊ฐฑ์ ์ ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ๊ธฐ๋กํ๋ค๋ ๊ฒ์ด LFS์ ํต์ฌ์ด๋ค.
43.2 ์์ฐจ์ ์ด๋ฉด์ ํจ์จ์ ์ผ๋ก ์ฐ๊ธฐ
- ์์ฐจ์ ์ธ ์ฐ๊ธฐ๋ ํจ์จ์ ์ฐ๊ธฐ๋ฅผ ๋ณด์ฅํ ์ ์๋ค. ์๋๋ฉด ๋ฌด์กฐ๊ฑด ํน์ ์๊ฐ์ ์ฐ๊ธฐ๋ฅผ ํ ๋ค, ์ ์ ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ค๋ฅธ ์๊ฐ์ ์ด๋ค ์ฐ๊ฒฐ ๋ฐ์ดํฐ๋ฅผ ๋ ์ฐ๊ฒ ๋๋ฉด ๊ฒฐ๊ตญ ๊ทธ ์ฌ์ด ๊ฐญ์ ๋ฐ์ํ๊ณ , ๋์คํฌ ํ์ ์ด ๋ฐ์ํ๋ค.
- ์ฆ, ์์ฐจ์ ์ฐ๊ธฐ๊ฐ ๋์คํฌ ์ต๋ ์ฑ๋ฅ์ ๋ผ์ ์๋ ์ํฉ์ด ๋ง๋ค์ด์ง๋ ๊ฒ์ด๊ณ , ๋ฐ๋ผ์ ๋ค์์ ์์ฐจ ์ฐ๊ธฐ๋ฅผ(๋๋ ํ๋์ ํฐ ์ฐ๊ธฐ)๋ฅผ ํ๋ฒ์ ๋์คํฌ์ ๋ด๋ ค๋ณด๋ด์ผ ๋น ๋ฅธ ์ฐ๊ธฐ ์ฑ๋ฅ์ ์ป์ ์ ์๋ค.
- LFS๋ ์ด๋ฅผ ์ํด ์ฐ๊ธฐ ๋ฒํผ๋ง ์ด๋ผ๋ ๊ณ ์ ์ ๊ธฐ๋ฒ์ ๋์ ํ๋ค. ์ด ๋ฐฉ๋ฒ์ ํต์ฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐฑ์ ์ ๋ด์ฉ์ ๋ณด๊ด, ์ถฉ๋ถํ ์์ธ ์ํฉ์์ ๋ชจ๋ ๋์คํฌ๋ก ์ ๋ฌํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
- ์ธ๊ทธ๋จผํธ : ์ด๋ฌํ LFS์์ ํ๋ฒ์ ๋์คํฌ์ ๊ธฐ๋กํ๋ ๋จ์, ์ฌ๋ฌ ์ฅ์์์ ์ฐ๋ ๋จ์ด๋ ํ๊ฐ๋ฆฌ๋ฉด ์๋๋ค. ํต์ฌ์ ์ธ๊ทธ๋จผํธ ๋ฒํผ๋ฅผ ํ๋ฒ์ ์ฐ๊ธฐ ์ฐ์ฐ์ผ๋ก ๋์คํฌ์ ๊ธฐ๋กํ๋๋ฐ, ์ธ๊ทธ๋จผํธ๊ฐ ์ถฉ๋ถํ ํฌ๋ฉด ์ฐ๊ธฐ ์ฐ์ฐ์ ํจ์จ์ ์ด ๋๋ค.
- LFS๊ฐ ๋๊ฐ์ ๊ฐฑ์ ์ฌํญ์ ๊ฐฑ์ ํ ๊ฒ์ด ๋ค์๊ณผ ๊ฐ๋ค. ์ฒซ๋ฒ์งธ ๊ฐฑ์ ์ฌํญ์ ํ์ผj์ ๋ํด 4๊ฐ์ ๋ธ๋ก์ ์ฐ๋ ๊ฒ์ด๋ฉฐ, ๋๋ฒ์งธ๋ ํ๋์ ๋ฐ์ดํฐ ๋ธ๋ญ๋ง์ ๊ฐ๊ณ ์๊ณ , LFS๋ ์ผ๊ณฑ๊ฐ์ ๋ธ๋ญ์ผ๋ก ์ด๋ฃจ์ด์ง ์ธ๊ทธ๋จผํธ ์ ์ฒด๋ฅผ ๋์คํฌ๋ก ํ ๋ฒ์ ์ปค๋ฐํ๋ค.
43.3 ์ ์ ํ ๋ฒํผ์ ํฌ๊ธฐ๋?
- ๊ทธ๋ฌ๋ฉด ์ฌ๊ธฐ์ ํด๋น ์ง๋ฌธ์ด ๋์ค๊ฒ ๋๋ค. ๊ณผ์ฐ ์ผ๋ง๋ ํฐ ์ฌ์ด์ฆ์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ค์ ํด์ผ ํ๋ ๊ฒ์ธ๊ฐ? ์ด ์ฌํญ์ ๋์คํฌ์ ๋ฌผ๋ฆฌ์ ํน์ฑ์ ์ํด ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
- ์๋ฅผ ๋ค์ด ์ฐ๊ธฐ ์ ๋ฐ์ํ๋ ์์น ์ก๊ธฐ(ํ์ -ํ์์ ์ค๋ฒํค๋)์ ๋๋ ์๊ฐ์ด Tposition ์ด๊ฐ ๊ฑธ๋ฆฐ๋ค๊ณ ํ ๋, ๋์คํฌ ์ ์ก ์๋๋ Rpeak ๋ผ๊ณ ํด๋ณด์. ๊ทธ ๋ค์ ๋งค๋ฒ ๋์คํฌ ํค๋๋ฅผ ์ด๋ํ๋ ๋น์ฉ์ด ์กด์ฌํ๋ค. ๊ทธ๋ฌ๋ฉด ์์น ์ก๊ธฐ ๋น์ฉ์ ์์ํ๊ธฐ ์ํด์๋ ์ผ๋ง๋ ํฌ๊ฒ ์จ์ผํ๋๊ฐ? ์ด์ ๋ํ ๋ต์ ํด์๋ก ์ข์ผ๋ฉฐ ์ต๋ ๋์ญํญ์ ๋ ๊ทผ์ ํ ์ ์๋ค.
D
MB ํฌ๊ธฐ๋ฅผ ์ด๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ด ๋ฐ์ดํฐ ์ฒญํฌ๋ฅผ ์ฐ๋ ๋ฐ ์์๋๋ ์๊ฐ,์ ์์น ์ก๊ธฐ ์๊ฐ ๋ํ๊ธฐ D๋ฅผ ์ ์กํ๋ ์๊ฐ์ด๋ค.
- ์ค์ ์ฐ๊ธฐ ์๋๋ R(effective)์ด๋ฉฐ, ์ฐ์ธ ๋ฐ์ดํฐ์ ์ด๋์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฐ๋๋ฐ ์์๋ ์ด ์๊ฐ์ผ๋ก ๋๋ ๊ฐ์ ๋ํ๋ธ๋ค.
- ์ต๋ ์๋์ ๊ทผ์ ํ๋๋ก ์ ํจ์๋๋ฅผ ๊ตฌํ๊ณ ์ํ๋ค. ์ ํจ ์๋๊ฐ ์ต๋ ์๋์ ํน์ ๋น์จ(F)๊ฐ ๋๋๋ก ํ๋ ๊ฒ์ด๋ค.
43.4 ๋ฌธ์ : ์์ด๋ ธ๋ ์ฐพ๊ธฐ
LFS ์์ ์์ด๋ ธ๋์ ์์น๋ฅผ ํ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณธ๋ค. ์ผ๋ฐ์ ์ธ Unix ํ์ผ ์์คํ ์์ ์์ด๋ ธ๋๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๋ฉด FFS ์ ๊ฐ์ ํ์ผ ์์คํ ์ด๋ ๊ทธ๋ณด๋ค ์ค๋๋ Unix ํ์ผ ์์คํ ์์ ์์ด๋ ธ๋๋ฅผ ์ฐพ๋ ๊ฒ์ ๊ฐ๋จํ๋ค. ์ ํด์ง ์์น์ ๋ฐฐ์ด๋ก ๋ฐฐ์น๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ ํต์ ์ธ ํ์ผ ์์คํ ์ ํน์ ์์ด๋ ธ๋์ ์์น๋ ์์ด๋ ธ๋ ๋ฒํธ์ ์์ด๋ ธ๋์ ํฌ๊ธฐ๋ก ๊ณฑํ๊ณ ๋ฐฐ์ด์ ์์ ์ฃผ์์ ๋ํ๋ฉด ๊ตฌํ ์ ์๋ค. FFS ์์๋ ๋ค์ ๋ณต์กํ๋ฐ, ์์ด๋ ธ๋ ํ ์ด๋ธ์ ๋ถํ ํ์ฌ ์ค๋ฆฐ๋ ๊ทธ๋ฃน๋ง๋ค ์์ด๋ ธ๋ ๊ทธ๋ฃน์ ๋ฃ์ด๋๊ธฐ ๋๋ฌธ์ด๋ค. LFS์ ๊ฒฝ์ฐ์๋ ๋ ๋ณต์กํ๋ฐ, ์์ด๋ ธ๋๊ฐ ๋์คํฌ ์ ์ญ์ ํฉ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์ ์์น์ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ต์ ์์ด๋ ธ๋์ ์์น๊ฐ ๊ณ์ ๋ณํ๊ธฐ ๋๋ฌธ์ด๋ค.
43.5 ๊ฐ์ ๊ณ์ธต์ ์ด์ฉํ ํด๋ฒ: ์์ด๋ ธ๋ ๋งต
LFS์ ํน์ฑ์ผ๋ก ์์ด๋ ธ๋๊ฐ ๋์คํฌ ์ ์ญ์ ํฉ์ด์ ธ ์์ผ๋ฏ๋ก, ์์ด๋ ธ๋ ๋งต(inode map, imap) ์ด๋ผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ฐํด๋ธ๋ค.
์์ด๋ ธ๋ ๋งต์์ ํด๋น imap ์๋ฃ๊ตฌ์กฐ๋ ๋ฒํธ๋ฅผ ์ ๋ ฅํ์ฌ ๊ฐ์ฅ ์ต์ ์ ์์ด๋ ธ๋์ ์์น๋ฅผ ๊ตฌํ๋ค. ๊ทธ ๋ค์ ํญ๋ชฉ๋น 4๋ฐ์ดํธ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ ๋ฐฐ์ด๋ก ๊ตฌํ ๋ ์ ์๋ค. ๋์คํฌ์ ์์ด๋ ธ๋๊ฐ ๊ธฐ๋ก๋ ๋ imap ์ ์๋ก์ด ์์น๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๊ฐฑ์ ๋๋ค.
imap์ ์์ ํ๊ฒ ๋ณด๊ด๋์ด์ผ ํ๋ค. ๊ทธ๋์ผ LFS์ ํฌ๋์๊ฐ ๋ฐ์ํด๋ ์์ด๋ ธ๋์ ์์น๋ฅผ ํ์ ํ ์ ์๋ค.
imap์ ๋์คํฌ์ ๊ณ ์ ๋ ์์น์ ๋ฐฐ์นํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. imap์ ์์ฃผ ๊ฐฑ์ ๋๋ค. ํ์ผ ์์คํ ์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ imap์ ์๋ก ๊ธฐ๋กํด์ผ ํ๊ณ , ์ด๋ฐ ์ฆ์ ๊ฐฑ์ ์ ์ฑ๋ฅ์ ์ ํ๋ฅผ ์ด๋ํ๋ค.
LFS ์์๋ ์์ด๋ ธ๋ ๋งต์ ์๋ก์ด ์๋ก๋ ๋ฐ์ดํฐ์ ์์ด๋ ธ๋๋ค ์์ ํจ๊ป ๊ธฐ๋กํ๋ค. ํ์ผ k์ ๋ฐ์ดํฐ ๋ธ๋ญ์ ์ถ๊ฐํ ๋, LFS๋ ๋ค์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์๋ก์ด ๋ฐ์ดํฐ ๋ธ๋ญ๊ณผ ํด๋น ์์ด๋ ธ๋ ๊ทธ๋ฆฌ๊ณ ์์ด๋ ธ๋ ๋งต์ ์ผ๋ถ๋ถ์ ์ฐ์ํ์ฌ ๋์คํฌ์ ๊ธฐ๋กํ๋ค.
blk[0]:A0
๋ ์ฒซ ๋ฒ์งธ ๋ธ๋ญ์ ์ฃผ์๊ฐ A0
๋ผ๋ ๋ป์ด๋ค I[K]
๋ K ๋ฒ์งธ ์์ด๋
ธ๋๋ฅผ ๋ํ๋ธ๋ค. map[K]:A1
์ K ๋ฒ์งธ ์์ด๋
ธ๋ A1์ ์์นํด ์๋ค๋ ๋ป์ด๋ค. ์ด ๊ทธ๋ฆผ์์๋ imap์ด๋ผ๊ณ ํ๊ธฐ๋ ๋ธ๋ญ์ ์ ์ฅ๋์ด ์๋ ์์ด๋งต์ ์ผ๋ถ๊ฐ ์์ด๋
ธ๋ k๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ด๋
ธ๋ k๋ ๋ฐ์ดํฐ๊ฐ ๋์คํฌ ์ฃผ์ A1์ ์๋ค๊ณ ๋ํ๋ด๊ณ ์๊ณ , ์ด ์์ด๋
ธ๋๋ ๋ฐ์ดํฐ ๋ธ๋ญ D๊ฐ A0์ฃผ์์ ์์ํ๋ค๋ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ค.
43.6 ํด๋ฒ์ ์์ฑ: ์ฒดํฌํฌ์ธํธ ์์ญ
์์ ๋ฐฉ์์ผ๋ก ๋ง๋ค์ด์ง๋ฉด, ์์ด๋ ธ๋ ๋งต๋ ๋ธ๋ญ์ด ๋์ด์ ๋์คํฌ ์์ ํฉ์ด์ง๊ฒ ๋๋ค. LFS๋ ๋์คํฌ ์์์ ์ฝ์๋ ์์น์ ๊ฐ imap ๋ธ๋ญ๋ค์ ์์น๋ฅผ ๊ธฐ๋กํ๋ค. ์ด๋ฅผ ์ฒดํฌํฌ์ธํธ ์์ญ(checkpoint region, CR) ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ฒดํฌํฌ์ธํธ ์์ญ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ์ด ๋๋ฉฐ ์ฑ๋ฅ์ ํฐ ์ ์ํฅ์ ์๋ค. ๋์คํฌ ์์ ํ์ผ ์์คํ ์์ญ์ ์ฒดํฌํฌ์ธํธ ์์ญ์ด ํ ๋น๋๋ฉฐ, ์์ด๋ ธ๋ ๋งต์ ์ต์ ์กฐ๊ฐ์ ๊ฐ๋ฆฌํจ๋ค. ๊ทธ๋ฌ๋ฉด ์์ด๋ ธ๋ ๋งต ์กฐ๊ฐ๋ค์ด ์์ด๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๊ณ , ์์ด๋ ธ๋๊ฐ ํ์ผ์ ์์ญ์ ๊ฐ๋ฆฌํจ๋ค.
43.7 ๋์คํฌ์์ ์ฝ๊ธฐ: ์์ฝ
LFS์ ๋์ ๋ฐฉ์์ ์ดํด๋ฅผ ์ ๋ฆฌํ๋ค.
- ๊ฐ์ฅ ์ฒ์ ์ฝ์ด์ผ ํ๋ ๋์คํฌ ์์ ์๋ฃ๊ตฌ์กฐ๋ ์ฒดํฌํฌ์ธํธ ์์ญ์ด๋ค. ์ด ์์ญ์ ์ ์ฒด ์์ด๋ ธ๋ ๋งต ๋ธ๋ญ๋ค์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ค์ ๊ฐ๊ณ ์๋ค.
- LFS๋ ์์ด๋ ธ๋ ๋งต ์ ์ฒด๋ฅผ ์ฝ์ด์ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ํด๋๋ค. ํ์ผ์ ์์ด๋ ธ๋ ๋ฒํธ๋ฅผ ํ์ํ ๋ค, imap์ ์์ด๋ ธ๋ ๋์คํฌ ์ฃผ์ ๋งค์นญ์์ ์์ด๋ ธ๋ ๋ฒํธ๋ฅผ ์ฐพ์๋ด๊ณ ์ต์ ์ ์์ด๋ ธ๋ ์ฝ๊ธฐ๋ฅผ ์ํํ๋ค.
- ๊ทธ ๋ค ๋ด์ฉ์ ๋์ผํ๋ฉฐ ์์ด๋ ธ๋๋ฅผ ์ฝ์ด๋ค์ธ ์ดํ๋ก๋ ์ง์ ํฌ์ธํฐ๋ฅผ ๋ฐ๋ผ๊ฐ๊ฑฐ๋, ๊ฐ์ ํฌ์ธํฐ, ํน์ ์ด์ค ๊ฐ์ ํฌ์ธํฐ๋ฅผ ํ์์ ๋ฐ๋ผ ๋ฐ๋ผ ๊ฐ๋ค. ๋ณดํต์ ๊ฒฝ์ฐ LFS๋ ์ผ๋ฐ ํ์ผ ์์คํ ์ด ์ํํ๋ ๊ฐ์ ๋งํผ ์ ์ถ๋ ฅ ์ฒ๋ฆฌํ์ฌ ํ์ผ์ ์ฝ์ผ๋ฉฐ, imap ์ ์ฒด๊ฐ ์บ์๋์ด ์์ผ๋ฏ๋ก LFS๊ฐ ์ถ๊ฐ๋ก ํ๋ ์ผ์ imap์์ ์์ด๋ ธ๋ ์ฃผ์๋ฅผ ์ฐพ์ ์ฝ๋ ๊ฒ ๋ฟ์ด๋ค.
43.8 ๋๋ ํฐ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์?
๋๋ ํฐ๋ฆฌ ์๋ฃ๊ตฌ์กฐ๋ LFS์์ ์ ํต์ ์ธ UNIX ํ์ผ ์์คํ ๊ณผ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ํ๋ค. ๋๋ ํฐ๋ฆฌ๋ ๋งคํ ์ ๋ณด(์ด๋ฆ, ์์ด๋ ธ๋ ๋ฒํธ)๋ก ๊ตฌ์ฑ๋์ด ์๋ค. foo ๋ผ๋ ํ์ผ์ ๋๋ ํฐ๋ฆฌ์ ์์ฑํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋์คํฌ์ ์ถ๊ฐ ๊ธฐ๋กํ๋ค.
์์ด๋ ธ๋ ๋งต ๋ธ๋ญ์ ๋๋ ํฐ๋ฆฌ ํ์ผ dir ๊ณผ ์์ฑ๋ ํ์ผ foo์ ์์ด๋ ธ๋ ์์น๋ฅผ ๊ฐ๊ณ ์๋ค.
์์ด๋
ธ๋ ๋งต์ ์ฌ๊ท ๊ฐฑ์ ๋ฌธ์
๋ผ๋ LFS์ ์กด์ฌํ๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ์ด ๋ฌธ์ ๋ ์๋ ์์น์ ๋ฎ์ด์ฐ์ง ์๊ณ ๊ฐฑ์ ๋ด์ฉ์ ๋์คํฌ์ ์๋ก์ด ์์น์ ๊ฐฑ์ ํ๋ ํ์ผ์์คํ
์๋ ๋ชจ๋ ์กด์ฌํ๋ค. ์์ด๋
ธ๋๊ฐ ๊ฐฑ์ ๋๋ฉด ๋์คํฌ ์์ ์์ด๋
ธ๋์ ์์น๊ฐ ๋ฐ๋๋ค. ๋ง์ฝ ๋๋ ํฐ๋ฆฌ์ ํญ๋ชฉ๋ค์ด ์์ด๋
ธ๋์ ์์น๋ฅผ ์ง์ ๊ฐ๋ฆฌํค๋๋ก ์ค๊ณ๋์๋ค๋ฉด, ์์ด๋
ธ๋์ ์์น๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋๋ ํฐ๋ฆฌ์ ๋ฐ์ดํฐ ๋ธ๋ญ๋ ๊ฐฑ์ ๋์ด์ผ ํ๋ค. ์ด๋ฐ ๋ฉ์ปค๋์ฆ ํ์์๋ ๋๋ ํฐ๋ฆฌ์ ๋ถ๋ชจ ๋๋ ํฐ๋ฆฌ๋ ๊ฐฑ์ ํด์ ๋ฃจํธ๊น์ง ์ฌ๋ผ๊ฐ๋ฉด์ ์์ ์ด ํ์ํ๋ค.
LFS ๋ ์ด ๋ฌธ์ ๋ฅผ imap์ ์ฌ์ฉํ์ฌ ์์ด๋ ธ๋ ์์น๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋๋ ํฐ๋ฆฌ ๋ด์ ์ง์ ๋ฐ์๋์ง ์๋๋ค. ๋๋ ํฐ๋ฆฌ์๋ ๋์ผํ ์ด๋ฆ-์์ด๋ ธ๋ ๋ฒํธ ๋งคํ์ ์ ์งํ๋ฉด์, imap ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๊ฐฑ์ ํ๋ค.
43.9 ์๋ก์ด ๋ฌธ์ : ๊ฐ๋น์ง ์ปฌ๋ ์
์ข์๋ณด์ด์ง๋ง ๊ฒฐ๊ตญ LFS๋ ๊ฐฑ์ ๋ ํ์ผ์ ๊ณ์ ์๋ก์ด ์์น์ ์ฐ๊ฒ ๋๊ณ , ์ด ๋ฐฉ์์ ์ฐ๊ธฐ ๋์์ ํจ์จ์ ์ผ๋ก ์ํํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค. ํ์ง๋ง ๊ธฐ์กด์ ๊ฐ์ด ๋์คํฌ์ ๊ทธ๋๋ก ๋จ๋๋ค๋ ๋จ์ ์ด ์๊ธฐ๊ณ , ์ฌ์ฉ๋์ง ์๋ ๋์คํฌ ๊ณต๊ฐ์ ์ฐจ์งํ๋ ๊ฐ๋น์ง(Garbage, ์ฐ๋ ๊ธฐ) ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
๊ตฌ ๋ฒ์ ์ ์์ด๋ ธ๋์ ๋ฐ์ดํฐ ๋ธ๋ญ๋ฑ์ ์ด๋ป๊ฒ ํด์ผ ํ ๊น? ํ์ผ ์์ ๋ฒ์ ์ผ๋ก ๋ณต์ํ๋๋ฐ ์ฌ์ฉํ ์๋ ์๋ค. ์ด๋ ๊ฒ ํ์ผ ์์คํ ์ ๋ฒ์ ํ์ผ ์์คํ (versioning file system) ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ทธ๋ฌ๋ LFS๋ ์ต์ ๋ง์ ์ ์งํ๊ณ , LFS๋ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ด์ ๋ฒ์ ์ ๋ฐ์ดํฐ์ ์์ด๋ ธ๋, ๋ค๋ฅธ ์๋ฃ ๊ตฌ์กฐ๋ค์ ์ฐพ์ ์ ๊ฑฐํ๋ค. ์ด ์์ ์ ์ผ์ข ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ผ์ข ์ด๋ค.
๋ง์ฝ์ LFS์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๊ฐ ๋ฐ์ดํฐ ๋ธ๋ญ๊ณผ ์์ด๋ ธ๋ ๋ฑ์ ํ๋์ฉ ์ํํ๋ฉฐ ํด์ ํ๋ค๋ฉด, ํ์ผ ์์คํ ์ ์ฌ๋ฌ ๊ตฌ๋ฉ๊ณผ ํ ๋น๋ ๋์คํฌ ๊ณต๊ฐ์ด ์์ฌ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์์ฐจ์ ์ผ๋ก ์ธ ์ ์๋ ์ฐ์์ ์ธ ์์ญ์ ์ฐพ์ ์ ์์ด์ง๋ฏ๋ก LFS์ ์ฐ๊ธฐ ์ฑ๋ฅ ์ ํ๋ฅผ ์ด๋ํ๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ์ LFS์ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๋ ์ธ๊ทธ๋จผํธ ๋จ์๋ก ๋์ํ๋ค. ํฐ ๊ณต๊ฐ ๋จ์๋ก ๊ณต๊ฐ์ ํด์ ํจ์ผ๋ก ์ฐ์ ์ฐ๊ธฐ๋ฅผ ๊ฐ์ ํ๋ค. LFS์ ๊ฐ๋น์ง ์ฝ๋ ํฐ๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์ค๋๋ ์ธ๊ทธ๋จผํธ๋ค์ ์ฝ๊ณ ํด๋น ์ธ๊ทธ๋จผํธ์ ์ต์ ๋ธ๋ญ(์ ํจํ)๋ค์ ๊ฐ์๋ฅผ ํ์ ํ๋ค. ์ต์ ๋ฒ์ ๋ธ๋ญ๋ค์ ์๋ก์ด ์ธ๊ทธ๋จผํธ๋ก ์ด๋ํ๋ค. ์ ํจ ๋ธ๋ญ๋ค์ ๋ชจ๋ ์ด์ ํ ํ, ํด๋น ์ธ๊ทธ๋จผํธ๋ ๋น ๊ณต๊ฐ์ผ๋ก ํ์ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ์๋ฉด, ๊ฐ๋น์ง ์ฝ๋ ํฐ๋ M๊ฐ์ ๊ธฐ์กด์ ์ธ๊ทธ๋จผํธ๋ค์ ์ฝ์ ํ์ ํด๋น ๋ด์ฉ์ผ๋ก N๊ฐ์ ์๋ก์ด ์ธ๊ทธ๋จผํธ๋ค์ ์ฑ์ด๋ค. (์ด๋ N < M ์ด๋ค) ์ด์ ์ M ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ค์ ํด์ ๊ฐ ๋๋ฉฐ ํ์ผ ์์คํ ์ด ์ถํ ์์ฒญ๋๋ ์ฐ๊ธฐ๋ค์ ์ฒ๋ฆฌ์ ์ฌ์ฉํ๋ค.
์ด๋ก์จ ์ฐ๊ธฐ ์ฑ๋ฅ ๋ฌธ์ ๊น์ง ํด๊ฒฐ ๋์์ผ๋ฉฐ, ๊ทธ๋ฌ๋ ์์ง ๋๊ฐ์ง ๋ฌธ์ ๊ฐ ๋จ์ ์๋ค. ์ฒซ ๋ฒ์งธ๋ ๋์ ๋ฉ์ปค๋์ฆ์ ๋ํ ๊ฒ์ด๋ฉฐ, ๋ธ๋ญ์ ์ด์ ์๊ณ ์ฃฝ์์ ์ ์ ์๋์ง- ์ ๋ํ ๋ถ๋ถ์ด๋ฉฐ, ๋๋ฒ์งธ๋ ๊ฐ๋น์ง ์ปฌ๋ ํฐ๋ ์ผ๋ง๋ ์์ฃผ ์คํ๋์ด์ผ ํ๊ณ ๋ช ๊ฐ์ ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํด์ผํ๋์ง์ ๋ํด์ ์ด๋ค.
43.10 ๋ธ๋ญ์ ์ต์ ์ฌ๋ถ ํ๋จ
์ฒซ ๋ฒ์งธ ๋ฌธ์ ์ ๋ํด์ ์๊ฐํด๋ณด๋ฉด, LFS๋ ์ธ๊ทธ๋จผํธ S์ ์กด์ฌํ๋ ๋ฐ์ดํฐ ๋ธ๋ญ D์ ๋ํด ์ต์ ์ธ์ง ์๋์ง๋ฅผ ํ๋จํ ์ ์์ด์ผ ํ๋ค.
LFS๋ ๊ฐ ๋ฐ์ดํฐ ๋ธ๋ญD์ ๋ํด D๊ฐ ์ํ ํ์ผ์ ์์ด๋ ธ๋ ๋ฒํธ์ ํ์ผ๋ด์์ ์คํ์ ์ ์ ์ฅํ๋ค. ์ด ์ ๋ณด๋ ์ธ๊ทธ๋จผํธ์ ์ฒซ ๋จธ๋ฆฌ์ ์ธ๊ทธ๋จผํธ ์์ฝ๋ธ๋ญ(segment summary block) ์ด๋ผ ๋ถ๋ฅด๋ ์๋ฃ๊ตฌ์กฐ์ ๊ธฐ๋ก๋๋ค. ์ด ์ ๋ณด๋ ์ ํจ์ฑ ๊ฒ์ฌ์๋ฅผ ์ํด ํ์ฉ๋๋ฉฐ, ๋์คํฌ ์ฃผ์ A์ ์์นํ ๋ธ๋ญ D์ ์ ํจ์ฑ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ ๊ณผ์ ์ ์์๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ธ๊ทธ๋จผํธ ์์ฝ ๋ธ๋ญ์์ ๋ธ๋ญ D์ ์์ด๋ ธ๋ ๋ฒํธ N๊ณผ ์คํ์ T๋ฅผ ํ์ ํ๋ค. ๊ทธ ๋ค์ imap์์ ์์ด๋ ธ๋ N์ ์์น๋ฅผ ์ฐพ๊ณ , ๋์คํฌ์์ ๊ทธ N์ ์ฝ๋๋ค. ๋ง์ง๋ง์ผ๋ก ์์ด๋ ธ๋๋ฅผ ์ด์ฉํ์ฌ ์คํ์ ์ T์ ํด๋นํ๋ ๋ธ๋ญ์ ๋์คํฌ ์์น๋ฅผ ์์๋ธ๋ค. ํ์ ๋ ์์น๊ฐ ์ฃผ์ A์ ์ผ์นํ๋ฉด ๋ธ๋ญ D๋ ์ ํจํ ๋ธ๋ญ์ด๋ค. ๋ง์ฝ ํ์ ๋ ์์น๊ฐ D์ ์์น์ ๋ค๋ฅด๋ฉด, D๋ ์ ํจํ์ง ์๋ค. ์ด ๊ณผ์ ์ ์์ฌ ์ฝ๋๋ก ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
(N, T) = SegmentSummary[A];
inode = Read(imap[N]);
if (inode[T] == A)
// ๋ธ๋ญ D๋ ์ ํจํจ
else
// ๋ธ๋ญ D๋ ๊ฐ๋น์ง
์ด ๋ฐฉ์์ ๋ค์ ๋ณต์กํ๊ณ , ์ฑ๋ฅ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ๋ฐ๋ผ์ ์ข๋ ๋น ๋ฅธ ์ ํจ์ฑ ํ๋จ ๊ธฐ๋ฒ๋ ์กด์ฌํ๋ค.
43.11 ์ ์ฑ : ์ด๋ค ๋ธ๋ญ์ ์ธ์ ์ ๋ฆฌํ๋๊ฐ
๊ฐ๋น์ง ์ปฌ๋ ์ ์๊ธฐ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์ ๋ธ๋ญ์ ๊ฒฐ์ ํ๋ ์ ์ฑ ์ด ํ์ํ๋ค. (1) ์ฃผ๊ธฐ์ ์ผ๋ก ์ํํ๋ ๋ฐฉ๋ฒ์ด๋ (2) ์ ํด ์๊ฐ์ ํ๋ ๋ฐฉ๋ฒ ๋๋ (3) ๋์คํฌ๊ฐ ๊ฐ๋ ์ฐจ์ ์ด์ฉ์ ์์ด ํ ์ ๋ฐ์ ์์ ๋ ํ๋ฉด ๋๋ค.
์ด๋ ๋ธ๋ญ๋ค์ ๊ฐ๋น์ง ์ปฌ๋ ์ ํ ์ง๋ฅผ ์ ํ๋ ๊ฒ์ ์ข๋ ๋์ ์ ์ธ ๋ฐฉ์์ด ์๋๋ฐ, ํซ, ์ฝ๋๋ก ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ด ๋ํ์ ์ด๋ค. ํซ ์ธ๊ทธ๋จผํธ๋ ํด๋น ์ธ๊ทธ๋จผํธ์ ๋ด์ฉ์ด ๋น๋ฒํ๊ฒ ๊ฐฑ์ ๋๋ ์ธ๊ทธ๋ฉํธ๋ฅผ ๋งํ๋ค. ์ด๋ฌํ ์ํฉ์์ ์ต์ ์ ์ ์ฑ ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ํ๊ธฐ ์ ์ ์ถฉ๋ถํ ๊ธด ์๊ฐ์ ๊ธฐ๋ค๋ ค์ ๋ ๋ง์ ๋ธ๋ญ๋ค์ด ๋ฎ์ด ์จ์ง๋๋ก ํ์ฌ, ์ ํจ ๋ธ๋ญ์ ๊ฐ์๋ฅผ ์ต๋ํ ์ค์ด๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ํจ ๋ธ๋ญ์ ์๋ก์ด ์ธ๊ทธ๋จผํธ์ ๋ณต์ฌํ๋ ๋ถ๋ด์์ด ํด๋น ์ธ๊ทธ๋จผํธ๋ฅผ ํด์ ํ ์ ์๋ค. ์ฝ๋ ์ธ๊ทธ๋จผํธ๋ ๋ช ๊ฐ์ ๋ฌดํจ ๋ธ๋ญ๋ค์ด ์์ง๋ง ๋๋ถ๋ถ์ ๋ธ๋ญ๋ค์ ๊ฐฑ์ ๋์ง ์์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ผ์ปซ๋๋ค. LFS์ ์ ์๋ค์ ์ฝ๋ ์ธ๊ทธ๋จผํธ๋ค์ ์์ฃผ, ํซ ์ธ๊ทธ๋จผํธ๋ ๊ธด ๊ฐ๊ฒฉ์ผ๋ก ํด๋ฆฌ๋ ํ๋ ๊ฒ์ด ์ข๋ค๊ณ ๊ฒฐ๋ก ์ง์๋ค. ๋จ, ์ด๊ฒ ์๋ฒฝํ์ง ์๊ณ ๋ ๋ค๋ฅธ ๋ ์ข์ ๋ฐฉ๋ฒ๋ค๋ ๋ํ๋๋ค.
43.12 ํฌ๋์๋ก๋ถํฐ์ ๋ณต๊ตฌ์ ๋ก๊ทธ
๋ง์ง๋ง ๋ฌธ์ ๋ก LFS์์ ๋์คํฌ ์ฐ๊ธฐ ๋์ค์ ์์คํ ์ด ํฌ๋์ ๋๋ฉด ์ด๋ป๊ฒ ๋๋๊ฐ? LFS๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ธ๊ทธ๋จผํธ ๋ฒํผ์ ๋จผ์ ๊ธฐ๋กํ๊ณ ํด๋น ์ธ๊ทธ๋จผํธ ๋ฒํผ๋ฅผ (์ธ๊ทธ๋จผํธ๊ฐ ๊ฐ๋์ฐจ๋ฉด ๋๋ ์ผ์ ํ ์๊ฐ์ด ํ๋ฅด๋ฉด) ๋์คํฌ์ ๊ธฐ๋กํ๋ค. LFS๋ ์ด๋ฌํ ์ฐ๊ธฐ๋ฅผ ๋ก๊ทธ(log)๋ก ๊ตฌ์ฑ๋๋ค. ์ฒดํฌ ํฌ์ธํธ ์์ญ์ ์ฒซ ๋ฒ์งธ์ ๋ง์ง๋ง ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๋๊ณ , ๊ฐ ์ธ๊ทธ๋จผํธ๋ ๋ค์ ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๋๋ค. ์ผ์ข ์ ๋งํฌ๋ ๋ฆฌ์คํธ๋ก ์ฐ๊ฒฐ๋ ์ ์ด๋ฉฐ, ์ฒดํฌํฌ์ธํธ ์์ญ์ ํด๋น ์ ๋ณด๋ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ๋๋ค.
๋๋ฒ์งธ ๊ฒฝ์ฐ, ์ฆ ์ฒดํฌํฌ์ธํธ ์์ญ์ด ๊ฐฑ์ ๋๋ ๋์ค์ ํฌ๋์๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณธ๋ค. ์ฐ์ ์ฒดํฌํฌ์ธํธ ์์ญ์ ์์์ ์ผ๋ก ๊ฐฑ์ ๋์ด์ผ ํ๋ค. LFS๋ ์ด๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด ๋๊ฐ์ ์ฒดํฌํฌ์ธํธ ์์ญ์ ๋๋ค. ๋ ๊ฐ์ ์ฒดํฌํฌ์ธํธ ์์ญ์ ๋์คํฌ ์ ๋์ ์์น ์ํค๋ฉฐ, ๊ต๋๋ก ๊ฐฑ์ ํ๋ค. ์ด ์ฒดํฌํฌ์ธํธ ์์ญ์ ๊ฒฝ์ฐ LFS๋ ๋จผ์ ์ฒดํฌํฌ์ธํธ ํค๋๋ฅผ ๊ธฐ๋กํ ํ ๋ด์ฉ์ ์ฐ๊ณ , ์ต์ข ๋ง์ง๋ง ๋ธ๋ญ ๊ฐ์ ๊ฐฑ์ ํ๋ฉฐ, ๋ง์ง๋ง ๋ธ๋ญ์ ํ์ฌ ์๊ฐ๊ฐ๋ ํฌํจ๋์ด ์๋ค. ์ฑ๊ณต์ ์ธ ์ฒดํฌํฌ์ธํธ ๊ฐฑ์ ์ ๊ฒฝ์ฐ, ํค๋ ๋ธ๋ญ์ ์๊ฐ๊ฐ < ๋ง์ง๋ง ๋ธ๋ญ์ ์๊ฐ๊ฐ ์ ํํ๋ฅผ ๊ฐ๊ฒ ๋๋ค. ๋ง์ฝ ์ฒดํฌํฌ์ธํธ ์์ญ ๊ฐฑ์ ์ค์ ํฌ๋์๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, ๋ณต๊ตฌ ์ LFS๋ ํค๋์ ์๊ฐ๊ฐ๊ณผ ๋ง์ง๋ง ์์ญ์ ๋น๊ต ํค๋ ๋ธ๋ญ > ๋ง์ง๋ง ๋ธ๋ญ , ์ด๋ฌํ ๊ด๊ณ์์ ์๊ฒ ๋๋ฉด ๊ฐฑ์ ์ค ํฌ๋์ ๋ฐ์์ผ๋ก ํ๋จํ๋ค. LFS๋ ์ ํจํ ์๊ฐ๊ฐ ์์ ๊ฐ๋ ๊ฐ์ฅ ์ต๊ทผ ์ฒดํฌํฌ์ธํธ ์์ญ์ ์ ํํ๋ค.
ํ : ๋จ์ ์ ์ฅ์ ์ผ๋ก ๋ฐ๊พธ๊ธฐ ์์คํ ์ ๊ทผ๋ณธ์ ๊ฒฐํจ์ด ๋ฐ์ํ๋ค๋ฉด, ๊ทธ๋ฐ ๊ฒฝ์ฐ ๋จ์ ์ ์ฅ์ ์ผ๋ก ์ ํ์ํฌ ์ ์๋์ง๋ฅผ ๋ณด์์ผ ํ๋ค.
์ด์ ๋ค์ ์ฒซ ๋ฌธ์ ์์ญ์ ๋ค๋ค๋ณด๋ฉด, LFS๋ ์ 30์ด๋ง๋ค ์ฒดํฌํฌ์ธํธ ์์ญ์ ๊ฐฑ์ ํ๋ค. ํฌ๋์ ์์ ์ ๊ธฐ์ค์ผ๋ก ์ต๋ 30์ด ์ด์ ์ ์ํ๋ฅผ ๋ฐ์ํ ์๋ ์๋ค. ์ฌ ๋ถํ ์ ๋ณต๊ตฌ ๊ณผ์ ์์ LFS๋ ์ฒดํฌํฌ์ธํธ ์์ญ์ ์ฝ์ด์ imap ์กฐ๊ฐ๋ค์ด ๊ฐ๋ฆฌํค๋ ๊ณณ์ ํ์ธํ์ฌ ํ์ผ, ๋๋ ํฐ๋ฆฌ๋ค์ ๋ณต์ํ๋ฉด, ๋ง์ง๋ง ์์ด ๊ฐ์ ๊ฐฑ์ ๋ด์ฉ๋ค์ด ์์ค๋๋ ๊ฒ์ ํผํ ์ ์๋ค.
์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ LFS๋ DB์ ์ฌ์ฉ๋๋ ๋กค ํฌ์๋(roll foward) ๊ธฐ๋ฒ์ ์ ์ฉํ๋ค. ์ด๋ ์ต์ ์ฒดํฌ ํฌ์ธํธ ์์ญ์์ ์์ํ๋ค. ๋ณต๊ตฌ ๋ชจ๋์ ์ฒดํฌ ํฌ์ธํธ ์์ญ์ ์ฝ์ด๋ค์ฌ ์ธ๊ทธ๋จผํธ ๋ฆฌ์คํธ ๋ง์ง๋ง ์ธ๊ทธ๋จผํธ ์์น๋ฅผ ํ์ ํ๋ค. ๊ฐ ์ธ๊ทธ๋จผํธ๋ค์ ๋ค์ ์ธ๊ทธ๋จผํธ ํฌ์ธํธ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉด์, ์ฒดํฌํฌ์ธํธ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ง์ง๋ง ์ธ๊ทธ๋จผํธ๋ฅผ ์ฝ์ด์, ์ด ์ธ๊ทธ๋จผํธ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ค์ ์ธ๊ทธ๋จผํธ์ ์กด์ฌ ์ฌ๋ถ ๊ฒ์ฌ, ํ์ํ๋ค๋ฉด ์ฒดํฌํฌ์ธํธ์ ๋ง์ง๋ง ์ธ๊ทธ๋จผํธ๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ๋ฅผ ๊ฐฑ์ ํ๋ ์์ผ๋ก ์ํํ๊ณ , ๋ง์ง๋ง ์ฒดํฌํฌ์ธํธ ์ดํ์ ๋ฐ์ดํฐ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ค.
43.13 ์์ฝ
LFS๋ ์๋ก์ด ๋์คํฌ ๊ฐฑ์ ๋ฐฉ๋ฒ์ ์๊ฐํ์๋ค. ํ์ผ๋ค์ ์๋์ ์๋ฆฌ์ ๋ฎ์ด์ฐ๋ ๋์ ํญ์ ๋์คํฌ์์ ์ฌ์ฉ๋์ง ์์ ๋ถ๋ถ์ ์ฐ๊ณ , ๋์ค์ ์ค๋๋ ๊ฒ๋ค์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ํตํด ๊ณต๊ฐ์ ํ๋ณดํ๋ค. ์ด๋ DB ์์คํ ์์ ์๋์ฐ ํ์ด์ง(shadow paging) ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ , ํ์ผ ์์คํ ์์๋ ๋๋ก๋ ์ฐ๊ธฐ ์ ๋ณต์ฌ(copy-on-write)๋ผ๊ณ ๋ถ๋ฅธ๋ค. LFS๋ ๋ชจ๋ ๊ฐฑ์ ๋ค์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ธ๊ทธ๋จผํธ์์ ๋ค๊ฐ์ด ๋ชจ์์ ์์ฐจ์ ์ผ๋ก ์ธ์ ์์ด์ ๊ทธ ์ฐ๊ธฐ๋ ๋งค์ฐ ํจ์จ์ ์ด๋ค.
ํฐ ํฌ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ํ๋ LFS๋ ์ฌ๋ฌ ์ฅ์น์์ ํ๋ฅญํ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ํ๋๋์คํฌ๋ ์ต์ ํ๋ฅผ ํ๋ฉฐ, RAID-4, 5์ ๊ฐ์ ํจ๋ฆฌํฐ ๊ธฐ๋ฐ์ RAID์์ ์์ ์ฐ๊ธฐ ๋ฌธ์ ๋ฅผ ์์ ํ ์์จ ์ ์๊ณ , ํ๋์ ๊ธฐ๋ฐ์ SSD์์ ๊ณ ์ฑ๋ฅ์ ์ป๊ธฐ ์ํด I/O์ ํฌ๊ธฐ๊ฐ ์ปค์ผ ํ๋ค๋ ๊ฒ์ ๋ณด์๋ค.
๋จ, ๋จ์ ์ LFS ๋ฐฉ์์ด ๊ฐ๋น์ง๋ฅผ ๋ง๋ค์ด ๋ธ๋ค๋ ์ ์ด๋ฉฐ, ๊ณต๊ฐ์ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๊ณ , ์ด๋ฅผ ์ปฌ๋ ์ ํ๋ ๋น์ฉ์ ๋ํ ์ฐ๋ ค ๋๋ฌธ์ LFS๋ ๊ทธ๋ค์ง ํฐ ์ฌํ๋ฅผ ์ผ์ผํค์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ ์ดํ ์ต์ ์ ํ๋์ ๊ธฐ๋ฐ์ SSD์ ๊ฐ์ ์์ฉ ํ์ผ ์์คํ ์ LFS์ ์ ์ฌํ Copy-on-write ๋ฐฉ์์ผ๋ก ๋์คํฌ์ ๊ธฐ๋กํ๋ค. ์ด๋ฌํ ์์ด๋์ด์์ ํ์ผ์์คํ ์ ์ด์ ๋ฒ์ ๋ค์ ์ค๋ ์ ง(snapshot)์ผ๋ก ์ ์งํ์ฌ ์ฌ์ฉ์๊ฐ ์ค์๋ก ํ์ฌ ๊ฒ์ ์ง์ ๋คํ๋๋ผ๋ ์ค๋๋ ํ์ผ๋ค์ ์ ๊ทผํ ์ ์๋๋ก ํ์๋ค.
-
43. ๋ก๊ทธ ๊ธฐ๋ฐ ํ์ผ ์์คํ
- 43.1 ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ์ฐ๊ธฐ
- 43.2 ์์ฐจ์ ์ด๋ฉด์ ํจ์จ์ ์ผ๋ก ์ฐ๊ธฐ
- 43.3 ์ ์ ํ ๋ฒํผ์ ํฌ๊ธฐ๋?
- 43.4 ๋ฌธ์ : ์์ด๋ ธ๋ ์ฐพ๊ธฐ
- 43.5 ๊ฐ์ ๊ณ์ธต์ ์ด์ฉํ ํด๋ฒ: ์์ด๋ ธ๋ ๋งต
- 43.6 ํด๋ฒ์ ์์ฑ: ์ฒดํฌํฌ์ธํธ ์์ญ
- 43.7 ๋์คํฌ์์ ์ฝ๊ธฐ: ์์ฝ
- 43.8 ๋๋ ํฐ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์?
- 43.9 ์๋ก์ด ๋ฌธ์ : ๊ฐ๋น์ง ์ปฌ๋ ์
- 43.10 ๋ธ๋ญ์ ์ต์ ์ฌ๋ถ ํ๋จ
- 43.11 ์ ์ฑ : ์ด๋ค ๋ธ๋ญ์ ์ธ์ ์ ๋ฆฌํ๋๊ฐ
- 43.12 ํฌ๋์๋ก๋ถํฐ์ ๋ณต๊ตฌ์ ๋ก๊ทธ
- 43.13 ์์ฝ