Disk Quotas
Linux๋ ๋ฉํฐ ์ฌ์ฉ์ ์์คํ
์ด๋ผ์ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ด ๋์์ ํ๋์ Linux ์์คํ
์ ์ ์ํด์ ์์
ํ๊ฒ ๋๋๋ฐ, ํน์ ์ฌ์ฉ์/๊ทธ๋ฃน์ด ๊ณผ๋ํ๊ฒ ๊ณ ์ ๋ ์ฉ๋์ ํ๋๋์คํฌ ๊ณต๊ฐ์ ๋ง์ด ์ฌ์ฉํ๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ๋์คํฌ ์ฌ์ฉ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ค. ์ด๋ด ๋ ๊ด๋ฆฌ์๋ Disk Quota๋ฅผ ์ฌ์ฉํด์ ์ฌ์ฉ์๋ ๊ทธ๋ฃน๋ณ๋ก ํ๋๋์คํฌ์ ์ฌ์ฉ๋์ด๋ ์ ์ฅํ ์ ์๋ ํ์ผ์ ๊ฐ์๋ฅผ ์ง์ ํด์ ๋ฆฌ์์ค๋ฅผ ์ ํํด์ฃผ์ด์ผ ํ๋ค.
๊ฐ๋จํ ๋งํด์ ์ฌ์ฉ์๋ณ๋ก ํ๋๋์คํฌ์ ์ฌ์ฉ๋์ ์ ํํ๋ ๊ฒ์ด ๋์คํฌ ์ฟผํ์ธ๋ฐ ์ฌ์ฉ์์ ๊ทธ๋ฃน์๊ฒ ํ ๋นํ๋ค. root ๊ด๋ฆฌ์๋ ๋์คํฌ ์ฟผํ์ ์ ์ฉ๋ฐ์ง ์๊ณ ๋ฌดํ์ผ๋ก ํ๋๋์คํฌ๋ฅผ ์ฌ์ฉํ๊ฒ ํ๋ค. CentOS 6.5 ๋ฒ์ ์์ ์ด ์ฟผํ ์ค์ ์ด ๊น๋ค๋กญ๋ค. CentOS ๋ฌธ์์๋ ์๋ก์ด ์ ๋๋ง ๊ธฐ๋ฒ์ ์ฌ์ฉํด์ ์ฟผํ๋ฅผ ์ค์ ํ๋๋ก ๊ถ์ฅํ๊ณ ์์ง๋ง ์ค์ ๋ก ์ค์ ์ด ์๋์ง ์์ผ๋ฏ๋ก ๊ธฐ์กด์ ๋ฐฉ์์ผ๋ก ์ค์ ํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์๋ ๊ธฐ์กด์ ๋ฐฉ์์ผ๋ก ์ค์ ํด๋ณธ๋ค.
mkdir /QUOTASmount /dev/sdb1 /QUOTAS/
blkid(block device ์ ํ์ผ ์์คํ (file system) ์ ํ์ด๋ ์์ฑ(LABEL, UUID ๋ฑ) ์ ์ถ๋ ฅํ๋ ์ ํธ๋ฆฌํฐ)
๋ณต์ฌํ๋ค.
defaults 0 0์์
์ฒ์ 0์ 0(์ค๋ฅ ์ฒดํฌ ํจ), 1(์ค๋ฅ ์ฒดํฌ ์ ํจ)๋ง ๊ฐ๋ฅ, ๋ค์ 0์ 0(/ ์ ๊ฒ), 1(/ ์ด์ธ ์ ๊ฒ), 2(์ ๊ฒ ์ ํจ) ๊ฐ๋ฅ
์ด์ด์..
ls / ๋ฐ์ QUOTAS๊ฐ ์์ฑ๋์ด ์๋ค.
ls /QUOTAS๋ฅผ ํด๋ณด๋ aquota.group๊ณผ aquota.user์ด ์์ฑ๋์ด ์๋ค.
/etc/fstab์ ์ฝ์ด๋ณด๋ UUID๊ฐ ์ ๋ค์ด๊ฐ ์๋ค.
๋ง์ฝ quota๊ฐ ์ค๋ฅ๊ฐ ์๊ธฐ๋ฉด ๋ค์์ ๋งค๋ด์ผ์ ๋ฐ๋ผ์ ํด๊ฒฐํด๋ณด๋ฉด ๋๋ค.
==============================================================================
โ CentOS 6.5์์ ์์ฃผ ๋ฐ์ํ๋ ์ค๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ผ๋ ์ฐธ๊ณ ํด์ ๋ฌธ์ ๋ฐ์ ์ ํด๊ฒฐํด๋ณด๋ผ.
1) quotacheck: Cannot create new quotafile /quotas/aquota.user.new: Permission denied์ quotacheck: Cannot initialize IO on new quotafile: Permission denied ๋ฑ ๊ถํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด
=>chcon --reference=/var /quotas ํด์ /var์ ๋ณด์ ์ค์ (์ฝํ
์คํธ)์ /quotas์๊ฒ ์ง์ ํด์ค๋ค(chcon์ ๋ค์์ ๋ฐ๋ก ์์๋ณผ ๊ฒ์ด๋ค. ์ฐ์ ls -dZ /var์ ls -dZ /quotas ํด์ ๋น๊ตํด๋ณด๋ผ ).
2) Cannot find filesystem on /dev/sdb1์์ผ๋ก ํ์ผ์์คํ
์ค๋ฅ๊ฐ ๋์ค๋ฉด
=>quotacheck -F vfsv0 /quotas ํด์ค๋ค.
3) Cannot stat old user quota file /quotas/aquota.user: No such file OR directory. Usage will not be subtracted.์์ ํ์ผ ์ค๋ฅ๊ฐ ๋จ๋ฉด
=>cd /quotas && touch aquota.{user,group} ํด์ aquota.user์ a.quota.group quotaDB๋ฅผ ์๋์ผ๋ก ์์ฑํ๋ค.
4) Cannot stat old user quota file /quotas/aquota.user:์์ผ๋ก ์ฟผํ ํ์ผ์ ์์ฑํ ์ ์๋ค๋ ํ์ผ ์์ฑ ์ค๋ฅ๊ฐ ๋จ๋ฉด, ls /quotas ํด์ aquota.group, aquota.user ๋ฑ์ด ๋ง๋ค์ด์ ธ ์์ผ๋ฉด
=>rm –rf /quotas/* ํด์ ๋ชจ๋ ์ง์ฐ๊ณ , ๋ค์ quotacheck –cvug /quotas๋ฅผ ์คํํด์ ์๋ก aquota.group๊ณผ aquota.user๋ฅผ ์์ฑํด์ค๋ค.
5) ๊ฐ๋ Cannot initialize IO on new quotafile: Permission denied๊ฐ ๋ณด์ด๋ฉด
=>chmod 4757 -R /quotas/ ํด์ ์ฟผํ ๋๋ ํฐ๋ฆฌ์ ๊ถํ์ ๋ณ๊ฒฝํด์ผํ๋ ์๋ ์๋ค.
์ด๋ค ์ค๋ฅ๋ CentOS 6.5๊ฐ journaling์ ์ง์ํ๋ฏ๋ก quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown. ๋ฉ์์ง์์ ๋ณด๋ฏ์ด ์ ๋๋ง ์ฟผํ๋ฅผ ์คํํ๋ผ๊ณ ๊ถ๊ณ ํ๋๋ฐ ์์ ๋ฐฉ์์ผ๋ก ์ํํ๊ธฐ ๋๋ฌธ์ ๋์ค๋ ์ค๋ฅ๋ค์ด๋ค. ํ์ง๋ง ์ด ์ ๋๋ง ์ฟผํ์ ๋ฌธ์ ๊ฐ ๋ง์์ ์์ง ์์ ๋ฐฉ์์ ์ฟผํ๋ฅผ ์ค์ ํ๋ ๊ฒฝ์ฐ๊ฐ ํ์ฅ์์ ๋ง๋ค.
=============================================================================
busyํ๋ค๊ณ ๋์ค๋ฉด turn off ํ๋ค๊ฐ turn on ํด์ค๋ค.
useradd -d /QUOTAS/test1 test1 -p test1
์ฌ์ฉ์๋ฅผ ๋ง๋ค๊ฒ๋ค. /QUOTAS/test1์ test1์ฌ์ฉ์๋ก
๋น๋ฐ๋ฒํธ๋ ํ๋ฌธ์ผ๋ก test1
์ธ ๋ช ์ ์ฌ์ฉ์์ ํ๋ฌธ์ฅ ํจ์ค์๋๋ฅผ ๋ง๋ค์๋ค.
/QUOTAS๊ฐ test1,test2,test3์ ํ ๋๋ ํฐ๋ฆฌ๋ค.(/etc/passwd/์์ ์กฐํ ๊ฐ๋ฅ)
*HDD ๋์ ๋ณ๋์ NAS ์๋ฒ๋ฅผ ๊ฑด๋ค. ๋ณ๋์ ์ ์ฅ๊ณต๊ฐ์ ๋ฌด์ํ ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ ๋ค. ์ฟผํ๋ฅผ ์จํด์ ์ ์ฉ์ํจ๋ค. ์ผ์ ๊ณต๊ฐ๋ง ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.
์ผ๋ฐ ์ฌ์ฉ์๋ก ํ ๋๋ ํฐ๋ฆฌ ๋ฐ์ ๋ง๋ค์์ด๋
usermod -m -d /QUOTAS/paul paul
๋ช ๋ น์ด๋ก ์ฟผํ์ ์ ์ฉ์ ๋ฐ๊ฒ ๋ง๋ค์ด ์ค ์ ์๋ค.
์ฟผํ์ ์ ์ฉ์ ๋ฐ๋ test1์ ๋ณด์ฌ๋ผ(verbose)
quota -v test1 ํ๋ฉด
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 28 0 0 7 0 0
์ฟผํ๋ฅผ ์ฌ์ฉ์์๊ฒ 12MB๋ฅผ ์ฃผ์๋ค๋ฉด quota๋ 10MB, limit๋ 12MB๊ฐ ๋๋ค.
/dev/sdb1์ Quotas๊ฐ ์ ์ฉ๋๋ ์ ์ฅ์ฅ์
blocks quota limit grace ๋ค ํญ๋ชฉ์ H/W์ ๋ํ ํญ๋ชฉ์ผ๋ก
๋ฐ์ดํฐ ์ ์ฅ ํฌ๊ธฐ ์ํํธํ๊ณ ํ๋ํ๊ณ ์ํํธํ๊ณ๋ฅผ ๋์์ ๋ ์ฉ์ธ ๊ธฐ๊ฐ
files quota limit grace ๋ค ํญ๋ชฉ์ S/W, File ์์ ์ ๋ํ ํญ๋ชฉ์ผ๋ก
ํ์ผ ์๋ฅผ quota ๋งํผ ์ํํธ๋ฆฌ๋ฐ์ผ๋ก ํ๊ณ , limit ์ ์ ๋๋ก ๋์ ์ ์๋ ํ๋๋ฆฌ๋ฐ์ด๊ณ , grace๋ ์ํํธ๋ฆฌ๋ฐ์ ๋์์ ๋ ์ญ์ ํ ์ฉ์ธ ๊ธฐ๊ฐ์ด๋ค.
edquota test1
i๋ฅผ ๋๋ฅด๊ณ soft limit, hard limit์ํธ์งํ ๋ค์ esc :wq!๋ก ์ํฐ ์ ์ฅ
edquota -t
grace ๊ธฐ๊ฐ ํธ์ง
setquota -u test3 10000 12000 0 0 /QUOTAS/
user test3์ ์ฟผํ๋ฅผ ๊ฐ๋จํ๊ฒ ๋ช ๋ น์ด๋ก ์ค์ ํด์คฌ๋ค.
edquota -up test1 test2
test1์ ์ฟผํ๋ฅผ test2์ ์ ์ฉ์์ผฐ๋ค.
์ฌ์ฉ์์๊ฒ ์ฟผํ๋ฅผ ์ค์ ํ๋ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ
์ง์ edquota test1 ํด์ ํ์ผ์ ์ด๊ณ ์ค์ ํ๊ฑฐ๋
setquota -u test3 10000 120000 0 0 /QUOTAS ํด์ ์ธ๋ถ์์ ์ค์ ํด์ฃผ๊ฑฐ๋
edquota -up test3 test2 ํด์ test3 ์ค์ ์ test2์๊ฒ ์ ์ฉ์ํฌ ์ ์๋ค.
=>์ด๋ฐ์์ผ๋ก ํ๋์ ์ํ ์ฌ์ฉ์๋ฅผ ๋ง๋ค์ด์ ์ฟผํ๋ฅผ ์ค์ ํ ๋ค ์ด ์ฌ์ฉ์์ ์ฟผํ ์ค์ ์ ์ฌ๋ฌ ์ฌ์ฉ์์๊ฒ ๋ฟ๋ฆฌ๋ฉด ๊ฐ๋จํ๊ฒ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์๊ฒ ์ฟผํ๋ฅผ ํ ๋นํ ์ ์๋ค!!!
edquota -g users
users ๊ทธ๋ฃน์ ์ฟผํ๋ฅผ ํ ๋นํ ์ ์๋ค.
su - test1 (ํด๋น ์ฌ์ฉ์๋ก ๋ฐ๋๋ฉด์ ํด๋น ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ก ๊ฐ) su test1์ ์ฌ์ฉ์๋ง ๋ฐ๋
[test1@localhost ~]$ pwd
/QUOTAS/test1
QUOTAS ๋ฐ์ ์๋ค.
ํ์ผ์ ๋ณต์ฌํด์ ๋ฃ์๋๋ฐ ์ฒซ ๋ฒ์งธ ๋ณต์ฌ๋ ๋ฌด๋ฆฌ ์์ด ์ ๋ฃ์ด์ก๋ค.
๊ทธ๋ฐ๋ฐ ๋ ๋ฒ์งธ๋ ์ํํธ ๋ฆฌ๋ฐ์ ์ํด warning์ด ๋ด๋ค๊ฐ ๊ฒฐ๊ตญ hard limit์๋ ๊ฑธ๋ ค์ ์๋ฌ๊ฐ ๋ด๋ค.
์ธ ๋ฒ์งธ๋ ์์ ์ ์ฅ์ด ์๋๋ค.
๋์คํฌ ์ฟผํ๋ ํน์ ์ฌ์ฉ์๊ฐ ์ ์ฅ๊ณต๊ฐ ๋ ์ ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ด๋ค.
RAID(Redundant Array of Independent(or Inexpensive) Disks) ๋์คํฌ ๊ตฌ์ถํ๊ธฐ
RAID๋ฅผ ์ฌ์ฉํ๋ ๋ชฉ์ ์ ์ ์ด๋ ๋ ๊ฐ ์ด์์ ๋์คํฌ๋ฅผ RAID๋ก ๋ฌถ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ํ ๋ค ์ด๋ ํ ๋์คํฌ๊ฐ ๊ณ ์ฅ ๋๋๋ผ๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋๋ก ์กด์๋๊ฒ ํ๋ ๊ธฐ๋ฒ์ด๋ค. ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ๋ชจ๋ ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ํ๋๋์คํฌ์ ์ ์ฅํ๋ค๊ณ ํด๋ณด์. ๋ง์ผ ํ๋๋์คํฌ ํ๋๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ๊ทธ ๋์คํฌ๊ฐ ๊ณ ์ฅ ๋๋ฉด ์ด์์ ํ์ํ ์์คํ
ํ์ผ๋ฟ๋ง ์๋๋ผ ์ค์ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์๊ณ ๋ง๊ฒ ๋ ๊ฒ์ด๋ค.
์ด๋ฐ ๊ฒฝ์ฐ ๊ฐ๋จํ ํ๋๋์คํฌ ๋ ๊ฐ๋ฅผ ์ฌ์ฉํด์ RAID1(mirrored)์ผ๋ก ์์คํ
์ ๊ตฌ์ถํด ๋๋ฉด CentOS๋ RAID๋ก ๋ฏธ๋ฌ๋๋ ๋ ๊ฐ์ ๋์คํฌ์ ๋๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๊ฒ ํด์, ๋ ๊ฐ์ ํ๋๋์คํฌ๋ ์ ํํ ์๋ก๋ฅผ ๋ฏธ๋ฌ๋งํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋์ ๋์คํฌ๊ฐ ๊ณ ์ฅ ๋๋๋ผ๋ ๋ณต์ ๋(cloned) ๋ค๋ฅธ ๋์คํฌ๊ฐ ์์ผ๋ฏ๋ก ์์คํ
ํ์ผ๋ฟ๋ง ์๋๋ผ ์ค์ํ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ์กด์๋์ด์ ์๋น์ค ์ ๊ณต์ ๋ฌธ์ ๊ฐ ์๊ฒ ๋๋ค. ๋์ค์ ์์๋ ๋์คํฌ๋ฅผ ๊ต์ฒดํ๋ฉด ๋ค์ ๋ฏธ๋ฌ๋๋ ์์คํ
์ด ๋๋ค. ๊ทธ๋ฆฌ๊ณ RAID๋ฅผ ์ฌ์ฉํ๋ฉด ์์คํ
์ ์ฑ๋ฅ๋ ๋ํญ ํฅ์์ํฌ ์ ์๋ค.
ํ์ง๋ง RAID๋ก ์์คํ
์ ๊ตฌ์ถํ๋ค๊ณ ํด์ ์์คํ
์ ์์ ํ ๋ฏฟ์ ์๋ ์๋ค. ์ด ๊ฒฝ์ฐ ๋ ๊ฐ์ ๋์คํฌ๋ ํ๋์ ๋์คํฌ ์ปจํธ๋กค๋ฌ(arm)์ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฏ๋ก ๋ ๊ฐ์ ๋์คํฌ๊ฐ ๋์์ ๊ณ ์ฅ ๋๊ฑฐ๋ ์ปจํธ๋กค๋ฌ๊ฐ ๊ณ ์ฅ ๋๋ฉด ๋ ๋์คํฌ ๋ชจ๋ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ๋ฌผ๋ก ๋์ผํ ์ ์ ๊ณต๊ธ๊ธฐ์ ๋ ๋์คํฌ๊ฐ ๋ผ์์ ธ ์์ ๋ ์ ์์ด ๋๊ฐ๋ ๋ ๋์คํฌ ๋ชจ๋ ๋ชป ์ฐ๊ฒ ๋๋ค.
RAID ๋์คํฌ ๊ตฌ์ถ์ ๋ฐฑ์
์ฉ์ผ๋ก ์๊ฐํ๋ฉด ์ ๋๋ค. ๋ฐฑ์
์ ์ผ์ ํ ์์ค์์ ์ง์์ ์ผ๋ก ์งํ๋์ด์ ธ์ผ ํ๋ฏ๋ก ํ๋์จ์ด ์ค๋ฅ์ ๋ํ ์ผ์์ ์ธ ๋ฐ์ดํฐ ๋ณดํธ์ฑ
์ธ RAID์ ๋ค๋ฅด๋ค. ๋ฐฑ์
์ ์์ ํ ์ฌ๋ ์์ค์ ํ๋์จ์ด ์ค๋ฅ์ ๋ํ ๋ฐ์ดํฐ ๋ณดํธ์ฑ
์ด๋ค.
RAID ํ์
๊ณผ ๋ ๋ฒจ
์ผ๋ฐ์ ์ผ๋ก RAID๋ ํ๋์จ์ด RAID์ ์ํํธ์จ์ด RAID(๊ทธ๋ฆฌ๊ณ faked RAID)๋ก ๋(์ธ)๊ฐ์ง ํ์
์ด ์๋ค. ํ๋์จ์ด RAID๋ ๋ฌผ๋ก ๊ฐ์ฅ ์ข์ ํด๊ฒฐ์ฑ
์ธ๋ฐ ์ ์ฉ ํ๋์จ์ด๊ฐ RAID ๋์คํฌ๋ค์ ๊ด๋ฆฌํ๋ฏ๋ก CentOS๋ RAID ์ปจํธ๋กค๋ฌ๊ฐ ์์ฑํ ๋
ผ๋ฆฌ์ ์ธ ๋์คํฌ๋ง ๋ณด๊ฒ ๋๊ณ RAID์ ๊ดํ ๊ตฌ์ฑ์ ์์ง ๋ชปํ๋ฏ๋ก RAID์ ๊ดํด์ ์๋ฌด ๊ฒ๋ ์ค์ ํด์ค ๊ฒ์ด ์์ด์ ์ด์ฉ์ด ํธ๋ฆฌํ๋ค. ํ์ง๋ง ํ๋์จ์ด RAID๋ ๋น์ธ๊ณ ๋ณดํต ํ๋กํ๋ฆฌ์ํฐ๋ฆฌ(proprietary: ๋ฒค๋ ์ข
์์ )(<<์ง์์ ๋ค LG ์ ํ๋ง ์ฐ๋ ๊ฒ ๊ฐ์ ๊ฐ๋
, ์ ์ธ๊ณ๊ฐ ๋ค ํฌ๋กฌ์ฌ์ฉ, ๋ชจ๋ ์ฌ๋์ด ๋ค KT๋ง ์ฌ์ฉ, ๊ทธ๋์ none-ํ๋กํ๋ฆฌ์ํฐ๋ฆฌ ํ ํ์ ์์)ํ ํฌ๋งท์ด์ด์, ์๋ฅผ ๋ค์ด HP RAID ์ปจํธ๋กค๋ฌ๊ฐ ๊ณ ์ฅ ๋๋ฉด ๋ฐ๋์ ๋์ผํ HP RAID ์ปจํธ๋กค๋ฌ ์ ํ๋ง ๊ตฌ์
ํด์ผ ํ๋ ๋ฒค๋ ์ข
์์ ์ธ ๋จ์ ์ด ์๋ค. ๋ฐ๋ฉด์ ์ํํธ์จ์ด RAID๋ ํ๋์จ์ด RAID๋ณด๋ค๋ ๊ธฐ๋ฅ์ด ์กฐ๊ธ ๋จ์ด์ง์ง๋ง ํ์ฌ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ค. ๋๋ถ๋ถ ํ๋์จ์ด RAID์ ์ฐธ์ฌํ๋ ํ๋๋์คํฌ๋ ์ฃผ๋ก ๊ฐ์ ๋ธ๋๋์ ๊ฐ์ ์ฉ๋์ ๊ฐ์ง ๋์คํฌ๋ค์ด์ง๋ง ์ต๊ทผ์๋ ์๋ก ๋ค๋ฅธ ์ฉ๋์ ํ๋๋์คํฌ๋ฅผ ๋ชจ์์ RAID๋ฅผ ๋ง๋๋ Linear RAID๋ ์๋ค. ํ์ง๋ง ์ํํธ์จ์ด RAID์์๋ ์๊ฒฉํ์ง ์๋ค.
CentOS๋ RAID ์ด๋ ์ด๋ฅผ ์ค์ ํ๊ณ ๊ด๋ฆฌํ ๋ mdadm๊ณผ ๊ฐ์ ์ผ๋ จ์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค. ์ํํธ์จ์ด RAID๋ ์๋ฅผ ๋ค์ด์ RAID1 ๋ฏธ๋ฌ๋ง์ธ ๊ฒฝ์ฐ ์ด์์ฒด์ ๊ฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ ๋์คํฌ์ ๊ฐ๊ฐ ๋ฐ๋ก ๋ณด๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ํ๋์จ์ด RAID๋งํผ ๋น ๋ฅด์ง ๋ชปํ๋ค. ๊ทธ๋ ์ง๋ง ์ํํธ์จ์ด RAID๋ ์ด๋ ๋ธ๋ก์ฅ์น๋ผ๋ RAID๋ก ๊ตฌ์ฑํ ์ ์์ด์ ๋ ๊ฐ์ HDD๋ ๋ ๊ฐ์ USB๋ ๋ฌผ๋ก HDD์ USB๋ฅผ RAID๋ก ๋ฌถ์ด์ SAN(Storage Area Network)์ผ๋ก ๊ตฌ์ฑํ ์๋ ์๋ค. ๊ทธ๋ฆฌ๊ณ RAID ๊ธฐ์ ์ ๋๋ถ๋ถ Linux ๋ฐฐํฌํ์ ํ์์ ์ผ๋ก ๋ค์ด์์ด์ ๋ฒค๋ ์ข
์์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ์ผ๋ถ ๊ธฐ์ ์๋ค์ ์คํ๋ ค ์ํํธ์จ์ด RAID๋ฅผ ๋ ์ ํธํ๊ธฐ๋ ํ๋ค. ๋ฐ๋ฉด ์๋์ ์ฑ๋ฅ์ด ์ค์๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ RAID๋ก ๊ตฌ์ถํ๋ค๋ฉด ์ํํธ์จ์ด RAID๋ก๋ ๊ณค๋ํ ์ ์๋ค.
CentOS๋ ์์คํ ์ด ๋ถํ ๋ ๋ /etc/mdadm.conf ํ์ผ์์ ๋ชจ๋ ๊ฐ์ฉํ RAID๋ฅผ ์ฐพ์์ ์ด๋ ์ด๋ฅผ ๊ตฌ์ฑํ๋ค. ๋ ๊ฐ์ ํจ๋ฆฌํฐ ๋นํธ๋ก ๊ตฌ์ฑํด์ ๋ ๊ฐ์ ๋์คํฌ์ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ๋ฐ์ดํฐ ๋ณต์์ด ๊ฐ๋ฅํ ๋์คํฌ 4๊ฐ์ RAID6, ์๋๊ฐ ๋น ๋ฅธ RAID0๊ณผ ๋ฐ์ดํฐ ๋ณต์์ด ๋๋ RAID1์ ํฉ์ณ์ RAID10([ten]์ด ์๋๋ผ [one zero]๋ก ๋ฐ์)์ ๋ง๋ค๊ธฐ๋ ํ๋ค. ๋ Faked(๊ฐ์ง) RAID๋ผ๋ ๊ฒ๋ ์๋๋ฐ ๊ธฐ๋ณธ์ ์ผ๋ก๋ RAID์ ์ํ์ง๋ง ์ค์ ๋ก ๊ตฌ์ถํ๋ ๋์ ์ด์์ฒด์ ๊ฐ ๊ทธ๋ฐ ์ญํ ์ ๋์ ํ๋ ๊ฒฝ์ฐ์ด๋ค. ์ด ๊ฐ์ง RAID๋ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋๋ถ๋ถ Linux ๋ฐฐํฌํ๋ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์๋๋ค.
RAID ๋ ๋ฒจ์๋ ๋ช ๊ฐ์ง๊ฐ ์์ง๋ง ์ฃผ๋ก ๋ค์ ์ธ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ๋ค.
โ RAID 0 : ๋ฐ์ดํฐ ๋ณต์์ ๋์ง ์์ง๋ง ์(arm:์ปจํธ๋กค๋ฌ)์ด ๋ ๊ฐ์ฌ์ ์ฝ๊ธฐ/์ฐ๊ธฐ ์๋๊ฐ ๋น ๋ฆ =>stripe without parity
โ RAID 1 : ๋ฐ์ดํฐ ๋ณต์์ด ๋๋ฉฐ ๋ ๊ฐ์ ๋์คํฌ๊ฐ ํ์ํ ์ค์ ์กฐ์ง์ฉ =>mirroring
โ RAID 5 : ๋ฐ์ดํฐ ๋ณต์์ด ๋๋ฉฐ ์ธ ๊ฐ ์ด์์ ๋์คํฌ๊ฐ ํ์ํ ๋ํ ์กฐ์ง์ฉ์ด๋ค. =>stripe with parity
์ด์ธ์ RAID 3, RAID 6, ๊ทธ๋ฆฌ๊ณ RAID 1๊ณผ RAID 0์ ํฉ์น RAID 10๋ฑ์ด ์๋ค.
RAID1 ์ค์ต
ํ๋ 1๊ธฐ๊ฐ 2๊ฐ ์ถ๊ฐํ๋ค.
์๊น /etc/fstab์ ๋์คํฌ์ฟผํ๋ฅผ ์๋์ผ๋ก ๋ง์ดํธ ๋๊ฒ ํด๋จ๋๋ฐ RAID ์ค์ต์ ์ํด ํ๋๋์คํฌ๋ฅผ ์ ๊ฑฐํ๋ ๋ฐ๋์ ๋ถํ ํ ๋ ์๋๋ง์ดํธ๋ฅผ ์ํด ์๋ ๋์คํฌ๋ฅผ ๊ณ์ ์ฐพ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋์ fstab์์ ์๋ ๋ง์ดํธ ๋ช ๋ น์ด ์ค์ ์ฃผ์์ฒ๋ฆฌ ํด์ฃผ์๋ค.
fdisk /dev/sdb n, p, 1, ์ํฐ ์ํฐ t, L๋๋ฅด๋ฉด ์ด๋ ๊ฒ ๋ง์ Hex codes ํ์ ๋ค์ด ๋์จ๋ค.
fd์ 8e๋ง ๊ธฐ์ตํ๋ฉด ๋๋ค.
๋์ ์ผ๋ก ๋ง๋ค์ด์คฌ๋ค.
mdadm --create /dev/md1 --verbose --level=1 --raid-devices 2 /dev/sdb1 /dev/sdc1
๊ฐ์์ผ๋ก ๋๋ฐ์ด์ค ๋ฐ์ md1์ด๋ผ๋ ๊ฑธ ๋ง๋ค์ด. ๊ณผ์ ์ ๋ณด์ฌ์ค. ๋ ๋ฒจ์ ๋ ์ด๋1์ด์ผ. ์ฐธ์ฌํ๋ ๋๋ฐ์ด์ค๋ 2๊ฐ์ผ. ๊ฑ๋ค๋ค์ ์๋ค์ผ.
mdadm: size set to 1046528K
๋ฏธ๋ฌ๋งํด์ ์ฌ์ด์ฆ๋ 1GB.
๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ ๊ฐ ๋ฐ ํ๋์ ๋ ผ๋ฆฌ์ ์ธ ๋์คํฌ๋ก ๋ชจ์ด๋ ๊ฒ. ๊ทธ๋ฆฌ๊ณ ํฌ๋งทํ๋ค.
ํ๋๊ฐ ์์ด์ด ๋๋ ๋ณต์์ด ๊ฐ๋ฅํ๋ค.
ext3๊ฐ ๋ ์์ ์ ์ด๋ค.
mdadm --detail /dev/md1
UUID๋ ์ด ์์คํ ์ด dev ๋ฐ์ md1์ ์ธ์ํ ์ค๋ธ์ ํธ ๋๋ฒ, ์ฆ ๊ฐ์ฒด์ ์ด๋ฆ ๋๋ฒ.
blkid /dev/md1
UUID="fecfac0b-87f5-4beb-a590-c9ad76e6a2f8"๋ฅผ ๋ณต์ฌํด๋๋ค.
mdadm --detail --scan --verbose > /dev/mdadm.conf
๋ถํ ํ ๋ RAID1 ์๋ ๋ง์ดํ
์ค์ ์ ๋์ด ์๊ณ ~
(์ฐธ๊ณ ๋ก mdadm --detail /dev/md1 ์ด๊ฑธ๋ก ํ๋ฉด ์ค๋ฅ ๋ธ, blkid๋ก ํด์ผ ๋จ)
๋ ์ด๋๋ฅผ ์ด๋ฃจ๋ ํ๋ ํ๋๋ฅผ ๋บ๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋ ํ๋๋ฅผ ์ถ๊ฐํ๋ค.
HDD 2๊ฐ๋ฅผ raid 1๋ก ๋ง๋ค๊ณ /dev/md1์ผ๋ก ๊ฐ์ ์ฅ์น๋ก ๋ง๋ ๋ค ํฌ๋งทํ๊ณ ๋ง์ฐํธํด์ ์ฌ์ฉํ๋ค.
์ด์ ๋ค์ 1G HDD๋ฅผ ์ถ๊ฐํด์ RAID1์ ๋ณต์ํด๋ณด์.
a. CentOS ๋จธ์ ์ ๋๊ณ ์๋ก 1G ํ๋๋์คํฌ๋ฅผ ์ถ๊ฐํ ๋ค, ๋ถํ
ํ๊ณ
b. ls /dev/sd* ํด์ ์๋ก ์ถ๊ฐํ ๋์คํฌ /dev/sdc๋ฅผ ํ์ธํ๊ณ ,
c. fdisk /dev/sdc, n, p, 1, ์ํฐ, ์ํฐ, t ํ๊ณ , fd ํด์ RAID ์์คํ
์ผ๋ก ํํฐ์
ํ๋ ๊ฒ์ ์๋ฆฌ๊ณ , w ํด์ ๊ธฐ๋กํ๋ค.
d. mkfs -t ext3(์์์ ext3์ผ๋ก ํฌ๋งทํ์์) /dev/sdc1 ํด์ ํฌ๋งท ํ ๋ค,
e. ์ด์ mdadm /dev/md1 --add /dev/sdc1 ํด์ mdadm: added /dev/sdc1์ ๋ณด๊ฒ ๋๋ฉด RAID ์์คํ
์ ์๋ก์ด HDD๊ฐ ๊ฐ์
๋์ด RAID๊ฐ ์์ ์ฒด๊ฐ ๋ ๊ฒ์ด๋ค.
f. mdadm --detail /dev/md1 ํด์ ์ ๋๋ก ๋์ด์๋์ง ๋ณด๊ณ , ์ด์
g. cat /raid1/raid1.txt ํด์ IM RAID1์ ํ์ธํ๋ค.
RAID5๋ Stripe with parity๋ก ๋ถ๋ฆฌ๋๋ฐ ํ์ฌ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค. ์ต์ ์ธ ๊ฐ์ ๋์คํฌ๊ฐ ํ์ํ๋ฉฐ RAID1์ฒ๋ผ ๋ฐ์ดํฐ ๋ณต๊ตฌ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค. ์ฌ๊ธฐ์ parity bit๋ ํ์(odd)์ ์ง์(even)๋ฅผ ์ง์ ํด์ ์ฌ์ฉํ๋๋ฐ odd parity๋ผ๋ฉด ๊ฐ stripe์์ ์ถ๊ฐ์ ์ผ๋ก 1์ด๋ 0๋นํธ(์ด๋ฅผ parity bit๋ผ๊ณ ๋ถ๋ฆ)๋ฅผ ์ฃผ์ด์ ์ ์ฒด์ ์ผ๋ก 1์ ๊ฐ์๊ฐ ํ์๊ฐ ๋๊ฒ ์กฐ์ ํด์ค๋ค. ๋ฐ์ดํฐ๋ ๊ฐ ๋์คํฌ์ ์์ฐจ์ ์ผ๋ก ๊ธฐ๋ก๋๋ฏ๋ก ์ด๋ ํ ๋์คํฌ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋๋จธ์ง ๋ ๋์คํฌ์์ 1์ ๊ฐ์๋ฅผ ํ์๋ก ๋ง๋๋ ๋นํธ๋ฅผ ์ฐพ์์ ์๋ณธ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํด์ค๋ค.
=>parity bit๋ ๋ฐ์ดํฐ ์ ์ก๋จ์์ธ 1Byte(8bits)์ ์ถ๊ฐ๋๋ 1bit๋ก์จ ๋ฐ์ด๋ ์ ํํ๊ฒ ์ ์ก๋์ง๋ง ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ปค์ ธ์ Overhead๊ฐ ์ปค์ง๋ฏ๋ก ๋์ญํญ ํจ์จ์ ๋ฎ์์ง๋ค.
LAID5 ์ค์ต
1GB ํ๋ 3๊ฐ ์ถ๊ฐ
sdb,sdc,sdd ๋ชจ๋ laid์ฉ์ผ๋ก ํํฐ์ ํด์คฌ๋ค
mdadm --verbose --create /dev/md5 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
2GB, 1๊ธฐ๊ฐ๋ ๋ ์ด๋๋ก ๋ ์๊ฐ
์๋๋ฉด yum -y install mdadm์ผ๋ก ์ค์นํ ๊ฒ
mkfs -t ext3 /dev/md5
๋ง์ดํธ ํด์ฃผ๊ณ ํ์ผ ๋ง๋ค์ด์ฃผ๊ธฐ
๊ทธ๋ฆฌ๊ณ ์ธ ๊ฐ์ ํ๋ ์ค ์๋ฌด ํ๋ remove
power on
์๋ ๋ง์ดํธ๊ฐ ์ ๋์ด ์๋ค.
์ด์ ๋ค์ ํ๋๋ฅผ ์ถ๊ฐํ๊ณ power on
RAID ๋ณต์์ ํด๋ณด์.
sdb ํํฐ์ ์ ํ๊ณ ํฌ๋งท์ ํ๊ณ md5์ ๊ฐ์ ์์ผ์ฃผ๊ณ ๋ํ ์ผ์ ๋ณด๋ฉด ๋๋ค.
Array size(์ฉ๋)์ 2๊ธฐ๊ฐ. ๋ฏธ๋ฌ๋ง ๋๋ฌธ
์ค๋๋ ์์ฐจ๊ฒ ๋ณต์ต ๋!!(์์ฌํ๊ฒ ใ ใ )
'๐๋คํธ์ํฌ&์๋ฒ > ๐ง๋ฆฌ๋ ์ค(Linux)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
23์ผ์ฐจ(3.16) tar gzip RPM CPU ์ํคํ ์ฒ SSL (0) | 2023.03.17 |
---|---|
22์ผ์ฐจ(3.15) (0) | 2023.03.16 |
20์ผ์ฐจ (0) | 2023.03.14 |
19์ผ์ฐจ ์๋น์ค, ๋ฆฌ์์ค ์ ํ, ๋ฐ๋ชฌ (4) | 2023.03.12 |
์ผํ ์ค ๋คํฌ๋ชจ๋๋ก ์ด์ฉํ๊ธฐ!(Tweaks) (0) | 2023.03.12 |