RAID (Redundant Array of Inexpensive/Independent Disk)
초창기 RAID
- 초기에는 Disk 용량이 크지 않아서 업그레이드 후 폐기하기엔 아깝고 그렇다고 단독으로 쓰기에는 용량이 부족한 (Inexpensive)저장 장치를 재활용할 목적으로 RAID를 구성하였다.
현재 RAID
- 현재는 저장장치 기술이 발전하여 용량이 점차 커져 용량 증설의 목적이아닌 데이터 보호, 디스크 성능 개선을 위해 사용한다 해서 독립적인 혹은 단독으로 사용가능한 (Independent) 저장 장치로 해석한다.
RAID 구성 종류
Hardware RAID
- RAID컨트롤러에 의해 구성된다.
- RAID컨트롤러에는 독자적인 메모리와 프로세서를 가지고 있다.
- 안정적이며 성능이 우수하다. -> 가격이 비싸다
Software RAID
- RAID 컨트롤로러 없이 운영체제에서 지원하는 방식이다.
- H/W RAID에 비해 성능이나 속도가 떨어진다.
- 저렴한 비용으로 H/W RAID와 동일하게 RAID구성을 할 수 있다.
Linear RAID
- 선형 RAID라고도 불리우고, 여러개의 저장장치(물리)를 하나의 큰 저장장치(논리적/불륨)로 만든다.
- 첫 번째 디스크가 완전히 채워지면 순차적으로 다음 디스크에 데이터를 저장한다.
- 성능면에서 별다른 장점이 없으며, 하나의 디스크라도 장애가 발생하면 전체 볼륨을 사용할 수 없게 된다. (안정성X, 신뢰도X)
- 최소 2개 이상의 디스크를 필요한다.
- 디스크의 총용량과 RAID를 구성한 볼륨의 총용량이 같다.
RAID 0
- 스트라이핑 (Strping) RAID라고도 불리운다.
- 데이터를 여러개의 디스크에 누어 쓰고 읽어 들임으로서 데이터를 중복해서 기록하지 않기때문에 가장 높은 입출력 성능 제공한다. (가장 큰장점)
- RAID 0 불륨의 총 용량은 구성한 디스크의 총 용량과 같다.
- 최소 2개의 Disk를 필요로 한다.
- 데이터 보호 기능이 없다. ( Fault-Tolerant 기능이 없다.)
Fault-Tolerant 결함 감내/장애 내성
Fault(결함) 또는 고장 (Failure)이 발생하여도 정상적 혹은 부분적으로 기능을 수행할 수 있는 능력/환경
RAID 1
- 미러링 (Mirroring) RAID
- 총 Disk 용량의 50%만 사용이 가능
- 데이터를 여러번 기록하면서 걸리는 시간때문에 성능이 감소
- 한 개의 디스크가 고장이나면 볼륨의 다른 디스크에서 데이터를 사용
- Fault-Tolerant 기능 제공
구분 RAID 0 RAID 1
성능(속도) 뛰어남 변화없음
데이터 안전성(결함허용) 보장못함 보장함
공간 효율성 좋음 나쁨
RAID 5
- RAID 1처럼 데이터 결함도 허용하면서 RAID0처럼 공간 효율성도 좋은 방식
- 최소 3개 이상의 Disk가 필요하며 보통 5개 이상의 Disk로 구성한다.
- Disk 장애가 발생 시 패리티(Parity) 이용하여 데이터를 복구한다.
- 각 Disk의 용량이 1TB이고 4개의 DISK로 RAID5를 구성 시 3TB만 사용이 가능하다.
(하드 디스크 개수 -1 = 볼륨용량) -1 만큼의 공간에 패리티 데이터가 저장된다.
패리티 (Parity)
- 디스크 장애 발생 시 데이터를 재구축하는데 사용할 수 있는 계산된 값
RAID 5 패리티 사용 예
EX) 4개의 Disk 구성된 RAID5 저장 방식
데이터 저장 정보 -> 000 111 101 010
데이터 저장 방향 -> ---------------->
패리티 -> ★
------------------------>
A B C D
0 0 0 ★
1 1 ★ 1
1 ★ 0 1
★ 0 1 0
Disk 장애가 발생하여 데이터를 복구하는 과정
패리티 종류
- 짝수 패티리 (Disk 개수가 짝수)
0과 1의 개수가 모두 짝수이어야 한다.
- 홀수 패리티 (Disk 개수가 홀수)
0과 1의 개수가 모두 홀수이여야 한다.
------------------------>
A B C D
0 0 0 (0)
1 1 (1) 1
1 (0) 0 1
(1) 0 1 0
디스크 장애
------------------------>
A B C D
0 0 X (0)
1 1 X 1
1 (0) X 1
(1) 0 X 0
디스크 교체
------------------------>
A B C D
0 0 0 (0)
1 1 1 1
1 (0) 0 1
(1) 0 1 0
RAID 10
- 4개의 Disk를 먼저 2개씩 RAID 1로 묶어 2개의 볼륨을 생성한 후, 다시 2개의 볼륨을 RAID 0으로 구성하는방식
ex) 4개의 Disk ( /dev/sdb, /dev/sdc, /dev/sdd, /dev/sde )
RAID 6 (리눅스 마스터 시험에 자주 나옴)
- 각 디스크에 두개의 패리티 (더블 패리티) 데이터를 기록한다.
- 디스크가 최대 2개까지 고장이나도 데이터 손실이 발생하지 않는다. (중요)
- 더블 패리티 사용으로 인해 고장난 디스크와의 동기화가 RAID 5보다는 느리다.
- 더블 패리티 사용으로 내부 적인 쓰기 알고리즘이 복잡해져 RAID5보다 조금 느리다.
- RAID6 구성 시 에는 최소 4개의 Disk를 필요로 한다.
- 총 하드디스크 -2 용량을 가진다.
---------------------------------------------------------------------------------------------------------------------------------------------------------
사용자/그룹 별 공간 할당 (Quota)
- 파티션마다 사용자나 그룹이 생성할 수 있는 파일의 개수와 용량을 제한하는 것
- 서버에 데이터를 저장할 수 있는 공간은 유한하기 때문에, 사용자 임의로 서버의 자원을 모두 사용하는 것을 방지하여, 시스템 장애가 발생하는 일을 사전에
방지 할 수 있다.
쿼터 용어
사용자별 하드 제한 영역
그룹별 하드 제한 영역
사용자별 소프트 제한 영역
그룹별 소프트 제한 영역
유예기간
Hard Limit
사용자나 그룹이 해당 파티션에 사용할 수 있는 최대 공간과 최대 소유할 수 있는 파일의 개수
Soft Limit
사용자나 그룹이 해당 파티션에서 자유롭게 사용할 수 있는 용량과 파일의 개수를 정의하는 부분으로, Soft Limit를 초과하게 되면 유예 기간에 돌입하게 된다.
Grace Perid
- 사용자나 그룹이 Soft Limit를 초과하게 되어 유예기간에 돌입하게 됬을때, 측정되는 시간을 정의하는 부분으로, 해당 시간이 모두 지나면 Hard Limit에 설정한 값과 상관없이 즉시 Soft Limit는 Hard Limit로 변경 된다.
quota [-u] [옵션] [사용자]
quota [-g] [옵션] [그룹]
- 사용자나 그룹의 제한량을 표시한다
- root만 -u 옵션을 통해 다른 사용자의 할당량을 확인 할 수 있다.
-q : 제한량의 설정값을 초과한 경우에만 간단한 메세지 출력
-v : 자세한 모드로 저장 공간이 할당되지 않은 경우에도 제한량의 정보를 보여준다.
ex) quota -uv [사용자] //해당 사용자의 모든 제한량을 점검
quotaon - 하나 이상의 파일시스템에 대해 설정된 제한량을 적용
quotaon [옵션] [파일시스템]
옵션 -a : /etc/fstab에 등록되고 읽기와 쓰기 쿼터 사용으로 표시된 모든 파일 시스템에대해 쿼터를 적용한다.
-g : 그룹 쿼터를 적용한다. -a 옵션을 사용할 경우 그룹 쿼터를 동시에 적용하므로 해당 옵션은 불필요하다.
-u : 기본 옵션으로, 사용자에게 쿼터를 적용한다.
-v : 상세하게 출력
ex) quotaon -av #/etc/fstab에 정의된 것에 쿼터를 모두 적용
quotaon -gv /home #파일시스템 /home 사용자에 쿼터 적용
quotaoff - 하나 이상의 파일시스템에 적용된 쿼터 사용을 중지
quotaoff [옵션] [파일시스템]
옵션 -a : /etc/fstab에 정의된 모든 파일시스템 대한 쿼터 적용을 중지 한다.
-g : 그룹에 적용된 쿼터 사용을 중지
-a : 사용자 쿼터 적용을 중지
-v : 쿼터 적용이 중지되는 각 파일시스템에 대해 자세히 표시
ex) quotaoff -av #모든 쿼터 적용을 중지
quotacheck [옵션] [파일시스템]
- 파일시스템을 점검하고 쿼터 설정에 대한 데이터베이스를 컴파일
* cron을 이용해서 주단위로 'quotacheck -a' 옵션 실행을 권장함
옵션 -a : /etc/fstab에 정의된 모든 쿼터 파일시스템을점검 usrqouta와 grpqouta 적용 시 모두 점검 가능
-g : 그룹에 대한 쿼터 정보만 컴파일한다.
-u : 기본값, 사용자에 쿼터 정보만 컴파일 한다.
-v : 실행결과를 자세하게 표시
-n :복제 된 구조체의 첫 번째 사본을 사용합니다.
-m: 파일 시스템을 읽기 전용으로 다시 마운트하지 않는다.
edquota - 사용자와 그룹 쿼터 설정을 수정한다.
옵션 -g : 그룹쿼터 수정 (-g 사용 시 -u 옵션도 따라와도 모두 그룹명으로 인식한다)
-t : 유예기간을 변경한다.
-u : 사용자 쿼터설정을 변경 (-g와 사용시 무시된다.)
ex) edquota -u [사용자] : 해당 사용자의 대한 쿼터 설정 변경
ex) edquota -tu : 모든 파일 시스템의 사용자에대한 유예기간을 변경한다
repquota - 쿼터 운영 상황을 출력
-a : 모든 쿼터 파일시스템 정보 출력
-g : 그룹 설정을 요약
-u : 사용자 쿼터 설정 요약
-v : 요약정보를 자세하게 표시하며 출력결과에 머리말을 추가
제한여부
quota 제한을 받는지 여부를 나타내며 ' - ' 이면 제한에 걸리지 않았음을 의미하며, ' + ' 이면 제한에 걸려 있음을 의미함
첫 번째는 Block제한, 두 번째 파일제한을 뜻한다.
setquota [옵션] [이름] [Block soft limit] [Block hard limit]
[inode soft limit] [inode hard limit] [파티션 명]
setquota -u Q-USER1 10M 20M 10 15 /dev/sdb1
setquota -t [계정명] [용량유예기간] [파일유예기간]
setquota -t Q-USER1 120 120 // 초 단위로 유예기간 설정
-u : 사용자
-g : 그룹
-a : 해당 시스템의 모든 설정
-t : 유예 기간 설정
#quotacheck -u /dev/sdb1
#ls // 앞으로 적용할 쿼터 설정 정보 담겨져있는 파일을 확인
aquota.user // <- 사용자 쿼터 정보가 저장되어 있는 파일
#quotaon /dev/sdb1 // 쿼터 파일이 만들어 졌으므로 쿼터를 시작할 수 있다.
쿼터 제한 영역 설정
(1) edquota // 텍스트 이용하여 제한 영역을 설정
(2) setquota // 명령어를 이용하여 제한 영역을 설정
ex) #edquota -u [계정명] // 해당 계정의 제한 영역을 설정
ex) #edquota -g [그룹명] // 해당 그룹의 제한 영역을 설정
#edquota -u Q-USER1 // Q-USER1 계정의 제한 영역을 텍스트 편집기로 수정
Disk quotas for user Q-USER1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 4 10M 20M 1 10 15
blocks (용량) <- 운영체제 자동으로 계산
soft <- 사용자가 편집해야할 부분
hard <- 사용자가 편집해야할 부분
inodes (파일개수) <- 운영체제 자동으로 계산
soft <- 사용자가 편집해야할 부분
hard <- 사용자가 편집해야할 부분
유예 기간 설정
(1) edquota -t // 텍스트 편집기를 이용하여 유예기간 설정
(2) setquota -t // 명령어를 이용하여 유예기간 설정
#edquota -t // 해당 파티션에 사용자 유예기간을 설정하겠다.
Filesystem Block grace period Inode grace period
/dev/sdb1 2minutes 2minutes
설정확인
(1) #repquota /dev/sdb1
*** Report for user quotas on device /dev/sdb1
Block grace time: 00:02; Inode grace time: 00:02
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 17684 0 0 3 0 0
Q-USER1 -- 4 10240 20480 1 10 15
'Server > Linux' 카테고리의 다른 글
Linux // 소프트웨어 관리 (0) | 2018.03.27 |
---|---|
Linux // 부팅 프로세스 (0) | 2018.03.21 |
Linux // 파일시스템 관리 (0) | 2018.02.28 |
Linux // 데몬 (0) | 2018.02.26 |
Linux // proc (0) | 2018.02.26 |