본문 바로가기
모의해킹 침해대응 과정/Liunx 관리

리눅스 RAID / day 9

by 알거음슴 2021. 4. 9.

RAID (Redudant Array of Inexpensive Disks, Redudant Array of Independant Disks)

여러 디스크를 하나의 디스크처럼 사용할 수 있도록 하면서, 신뢰성을 높이고 성능을 향상시킨 저장장치

 

[용어 해설]

1) 스토리지 종류

DAS(Direct Attached Storage) : 직접 연결 저장 장치, 내장(inter)디스크, 외장(exter)디스크로 구분.

NAS(Network Attached Storage) : 네트워크에 접속되도록 특화된 파일서버, LAN 프로토콜(ethnet, TCP/IP) 사용

 

SAN(Storage Area Network) : 대규모 네트워크 사용자를 위하여 호스트와 스토리지 사이에 SANswitch 를 구성하여 많은 호스트와 스토리지를 구성할 수 있다.

 

 

 1. raid 의 종류 및 구성방법

1) Hardware RAID : 하드웨어 자체가 RAID controller 로 여러 디스크를 하나의 디스크처럼 동작하게 구성하는 방식

 -> 성능우수, 유연성은 떨어짐

2) Software RAID : 운영체제 내에서 softwara RAID 툴을 통해서 작업

 -> 성능 떨어짐, 유연성 우수

 

 2. RAID LEVEL 의 종류

 1) RAID 0 : 최소 2개이상의 디스크

Concatenate(linear) 방식 : LVM 의 Table 방식과 동일

Stripe 방식 : LVM 의 Stripe 방식과 동일

 2) RAID 1 : 최소 2개이상의 디스크

Mirror 방식 : LVM 의 Mirror 방식과 동일

 3) RAID 5 : 최소 3개이상의 디스크

Parity 방식 : stripe 방식과 유사하나, 펼쳐진 데이터 디스크중 하나를 복구용 데이터로 이용하는 방식. 

 * 1장의 디스크가 고장나면 복구가능하나, 2장의 디스크가 고장나면 복구 불가하다.

 4) RAID 6 : RAID 5 방식의 parity를 2개 구현한 방식. 2장의 디스크가 고장나도 복구 가능하다.

 5) RAID 7 : 컨트롤러 내 실시간 운영체계를 이용체계 이용, parity 정보를 OS가 관리한다, 가격이 비싸다.

 

[참고] RAID LEVEL 별 장점

  디스크 사용 효율 성능(read) 성능(write) 안정성
RAID 0 (linear) - - - 안좋음
RAID 0 (stripe) - 좋음 좋음 매우안좋음
RAID 1 (mirror) 매우안좋음 좋음 - 매우좋음
RAID 5 (parity) 안좋음 좋음 매우안좋음 좋음

 

 

 3. 구성하기.

mdadm 

RAID 를 구성하는 명령어

 

 1) 형식

- raid를 생성함.

 mdadm --create /dev/md0 --level=<RAID 레벨> --raid-device=<RAID 구성할 Disk> <디스크장치명> ...

 ex) mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdc1 /dev/sdd1

- raid 장치 설정 확인

mdadm --detail /dev/md0

- 부팅시 자동 마운트 설정

 mdadm --detail --scan >> /etc/mdadm.conf 

- raid 삭제

 mdadm --stop /dev/md0 : raid 비활성화 

 mdadm --remove /dev/md0 : raid 삭제

 mdadm --zero-superblock /dev/sdb1 /dev/sdc1 /dev/sdd1 : superblock 정보 삭제

 

 2) 실습

 (1) disk id 를 fd 로 변경

[root@server1 ~]# fdisk /dev/sdc
Command (m for help): p
Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1        2048 2097151 2095104 1023M 8e Linux LVM

Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux LVM' to 'Linux raid autodetect'.

Command (m for help): p
Device     Boot Start     End Sectors  Size Id Type
/dev/sdc1        2048 2097151 2095104 1023M fd Linux raid autodetect

 

 (2) raid 생성

[root@server1 ~]# mdadm --create /dev/md0 --level=0 --raid-device=2 /dev/sdc1 /dev/sdd1

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[root@server1 ~]# mdadm --detail --scan >> /etc/mdadm.conf

[root@server1 ~]# mkfs.ext4 /dev/md0

[root@server1 ~]# mkdir -p /raid0
[root@server1 ~]# mount /dev/md0 /raid0
[root@server1 ~]# df
Filesystem          Type      Size  Used Avail Use% Mounted on
/dev/md0            ext4      2.0G  6.0M  1.9G   1% /raid0

[root@server1 ~]# vi /etc/fstab 

/dev/md0    /raid0    ext4    defaults   1   2

 

 (3) raid 삭제

[root@server1 ~]# umount /raid0
[root@server1 ~]# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

[root@server1 ~]# mdadm --zero-superblock /dev/sdc1 /dev/sdd1
mdadm: Unrecognised md component device - /dev/sdc1
[root@server1 ~]# rm -rf /etc/mdadm.conf