실제 수업에서는 disk 를 직접 mount, umount, Raid 작성 등의 실습을 하는데

내가 직접 만질 일은 없어서, 실무에서 필요한 정보만 여기 적음.

 

 

youtu.be/XE8VAn1K8LA

 

 

 

RAID 란?

Redundant Array of Inexpensive Disks 의 약자. 디스크 구조.

저렴한 디스크 여러개를 하나로 묶어, 하나의 디스크처럼 사용

비용이 절감되고 : 1TB disk 10개 사는 게 10TB disk 1개 사는 것 보다 훨씬 싸다고 함.

신뢰성이 향상되며 : ..나중에 말해주신다고 하심

성능 향상의 효과가 : disk io 속도가 빨라진다고 함.

있다고 함.

 

굉장히 중요한 그림

 

Linear RAID :

  2개 이상의 디스크를 하나처럼 사용.

  저장할 때는 첫번째 디스크 먼저 채우고,

  첫번째 디스크가 꽉 차면 두번재 디스크를 채움

 

Raid 0 : 

  2개 이상의 디스크를 하나처럼 사용.

  저장할 때는 첫번째와 두번째를 번갈아가면서 채움. 이것을 Stripping 이라고 함.

  두 디스크가 한 번에 (병렬로) 동시 저장되기 때문에 Linear RAID 보다 훨씬 빠름. 훨씬 나은 성능을 보임

  디스크 중 하나만 고장나도 모든 데이터가 깨지기 때문에 신뢰성 떨어짐.

 

Raid 1 :

  2개 이상의 디스크지만 반개의 디스크처럼 사용(디스크 개수가 2개면 1개처럼, 6개면 3개처럼 사용)

  2개 디스크에 동일한 데이터를 저장함. 이것을 Mirroring 이라고 함.

  Raid 0 처럼 동시에 쓰기 때문에 속도는 좋음.

  두번째 디스크는 백업용 디스크.

  그래서 두 디스크 중 하나가 데이터 손실이 나도 나머지 하나로 복구가 가능(결함 허용)

  하지만 저장 공간이 반으로 떨어지기 때문에 공간 효율성은 나쁨.

 

Raid 5 : 

  3개 이상의 디스크지만 1개를 뺀 N-1개 디스크처럼 사용. 하나는 백업용

  Raid 1 의 결함허용성과 Raid 0 의 공간효율성을 같이 가져감.

  데이터 자체를 저장하여 백업하지 않고 패리티 정보를 (백업용 1개 디스크에) 저장하여 백업

  따라서 공간 효율이 좋음 (왜냐면 N개 중에 N-1개의 디스크를 다 사용할 수 있으니까)

  여기서 패리티 정보란 2진수 비트의 총 합을 짝수(혹은 홀수)로 만드는 추가 비트임.

  아래 이미지는 4개의 디스크를 사용할 때 3개의 디스크에 데이터를 저장하고

  나머지 하나 (백업용 디스크)에 패리티비트를 넣는 것을 보여줌.

  아래처럼 디스크 하나가 고장났을 때, 고장난 디스크의 비트들을 유추할 수 있음

  하지만 디스크 1개 만큼의 결함만 허용 가능하고 2개 이상의 결함은 허용하지 않음.

  2개 이상의 디스크가 결함이 생기면.... 이럴수가 모든 데이터가 다 깨져버림.

  왜냐면 데이터 자체가 모든 디스크에 나뉘어져서 저장되는데 그 파편을 잃어버리게 되는 거니까

 

Raid 6 :

  4개 이상의 디스크지만 2개를 뺀 N-2 개 디스크처럼 사용. 하나는 백업용

  Raid 5 에서 패리티를 하나 더 추가한 디스크 구조임. 즉, 백업 디스크를 하나에서 둘로 늘린 것.

  데이터 자체를 저장하여 백업하지 않고 패리티 정보를 (백업용 2개 디스크에) 저장하여 백업

  Raid 5 보다 공간 효율은 좋지 않지만(N개 중에 2개를 사용할 수 없음)

  Raid 5 보다 훨씬 안전함(2개 디스크의 결함까지 허용함)

  성능(속력)은 Raid 5 보다 조금 떨어짐. (패리티를 계산해야 하기 때문에 그런듯?)

 

 

 

 

LVM : Logical Volum Manager

여러 디스크를 합쳐서 한 개의 논리적인 파일시스템으로 사용할 수 있게 해줌.

여기서 또 필요에 따라 적절히 다시 나눌 수 있음.

 

Physical Volume 물리 볼륨 : 실제 물리적으로 구분되어있는 디스크. /dev/sda1, /dev/sdb2 등

Volume Group 볼륨 그룹 : 물리 볼륨들을 합쳐 1개의 그룹으로 만든 것

Logical Volume 논리 볼륨 : 볼륨 그룹을 1개 이상으로 논리적으로 나눈 것

 

예를 들어 내가 갖고 있는 디스크가 2TB 2개 라고 하자.

이 두 디스크를 물리볼륨이라고 함.

이 두 디스크를 하나의 디스크처럼 만들어 4TB 의 디스크 1개처럼 사용 가능.

이것을 볼륨 그룹이라고 함.

4TB 그룹을 내가 임의로 1TB, 2TB, 1TB 세 개로 나눠 사용하고 싶어서 나눴음.

이 세 개의 볼륨을 논리볼륨이라고 함.

 

linux 상에서 직접 구성하는 방법은 아래 동영상 확인

youtu.be/zIVDdNEIOVk

 

 

 

 

쿼터 Quota : linux 사용자가 사용할 수 있는 디스크 공간을 따로 할당/제한하는 것

특정 사용자가 linux 의 디스크를 모두 사용하게 되면 안 되니까

a 사용자는 100gb 만큼만 사용하게,

b 사용자는 20gb 만큼만 사용하게 만들어줌.

 

운영자인 root 사용자가 사용하는 / 파일시스템에 아무 사용자들이 접근하여 사용하게 되면

디스크 성능도 저하되고 용량도 줄어들게 되니까 안 좋음.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts