정보보안공부

Linux_리눅스 RAID - Mirror / Level 0+1 본문

Linux

Linux_리눅스 RAID - Mirror / Level 0+1

Steady_sp 2018. 7. 20. 23:30

리눅스 RAID - Mirror / Level 0+1

- 오라클 가상 머신 사용

- CentOS6

 

<RAID - Mirror / Level 0+1>

 

#1 RAID ( Redundant Array of Independent Disks )

- 여러 개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술이다. 데이터를 나누는 다양한 방법이 존재하며, 이 방법들을 레벨이라 하는데 레벨에 따라 저장장치의 신뢰성을 높이거나 전체적인 성능을 향상시키는 등의 다양한 목적을 만족시킬 수 있다.

- RAID는 여러 개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동하게 하는데, 하드웨어적인 방법과 소프트웨어적인 방법이 있다. 하드웨어적인 방법은 운영 체제에 이 디스크가 하나의 디스크처럼 보이게 한다. 소프트웨어적인 방법은 주로 운영체제 안에서 구현되며, 사용자에게 디스크를 하나의 디스크처럼 보이게 한다.

 

*** RAID 구성
1) Linear ( 선형 )
 - 디스크를 배열 형태로 단순 연결
 - 데이터의 내용을 순차적으로 기록

2) Stripe ( Level0 )
 - 데이터의 내용을 분산 저장 ( 장점 : 데이터 이동시 속도가 빠르다. )
 - 속도가 빠른 장점이 있다.
 - 데이터의 안전성을 보장 할 수 없다. (여러개의 분산된 데이터중 일부가 고장나면 전부 사용불가)

3) Mirror ( Level1 )
 - 데이터의 안전이 뛰어난 구성이다.
 - 디스크의 용량을 절반밖에 사용 할 수 없다.

4) Level 5
 - stripe 장점 (빠르다) + mirror 장점 (안전)
 - 최소 3개 이상의 디스크 필요
 - 전체 디스크에 -1한 숫자로 나눈뒤 저장한다.
 - XOR 연산 ( 동일한 데이터면 0 서로다른 데이터면 1) 한값을 mirror 디스크에 저장
 - parity bit(XOR) 연산된 값을 통해 고장난 디스크의 데이터값을 유추할 수 있다.
 -> 2개 이상의 장치에 장애가 발생한 경우에는 복구 불가능

5) Level 0+1 ( stripe 구성후 mirror 구성으로 묶어준다. )
 - 데이터를 반으로 나눠서 stripe구성으로 저장된후 mirror 디스크에 저장이된다.

 

#1 RAID - Mirror ( Level1 ) 구성해보기

 

*** 디스크 추가

 

 

-> 가상머신 종료후 디스크 추가

 

 

-> /dev/sdf , /dev/sdg 두개의 디스크 사용

 

*** 파티션 생성 ( 레이드 파티션 )

- 해당디스크를 전체 용량으로 만든다음 시스템 ID를 RAID로 바꾼다.

# fdisk /dev/장치명

 

fdisk /dev/sdf

-> n -> p -> 1 -> enter -> enter -> t -> fd ( RAID ) -> w

fdisk /dev/sdg

-> n -> p -> 1 -> enter -> enter -> t -> fd ( RAID ) -> w

fdisk /dev/sdh

-> n -> p -> 1 -> enter -> enter -> t -> fd ( RAID ) -> w

fdisk /dev/sdi

-> n -> p -> 1 -> enter -> enter -> t -> fd ( RAID ) -> w

 

=> LVM과 마찬가지로 해당디스크를 전체용량으로 만드는데 LVM 은 시스템ID가 8e고 RAID는 시스템ID가 fd이다.

 

 

-> 설정한 파티션 확인

 

*** RAID 생성

- mdadm 패키지를 설치한다.

 

 

- /dev/md라는 디렉토리를 만들어놓고 --create옵션과 -l linear 옵션, -n 2 옵션을 이용해 만든다.( /dev는 장치관련 디렉토리, 주로 디스크 )

- /dev디렉토리 안에 디바이스를 직접 확인한다.

 

 

-> mirror는 옵션 -l 1

-> 만든 /dev/md/linear파일은 심볼릭 파일로 /dev/md127 장치파일(디스크)을 가리키고있다. 

 

# /proc/mdstat

 

 

# mdadm --detail

 

 

*** 파일시스템 생성

- ext4 파일시스템으로 설정한다.

 

 

*** 마운트

# mount 장치명 <mount_point>

- 윈도우에 USB를 꽂으면 폴더가 생기는것을 마운트로 생각하면 된다.

- 마운트한뒤 재부팅을하게되면 설정한 마운트는 해제된다. UUID를 이용해 /etc/fstab에 저장하면 부팅시에도 자동 마운트가 이루어진다.

 

 

==> 1G와 1G를 마운트하면 사용할 수 있는 공간은 1G여야 하는데 Mirror 형이므로 1G만 사용가능하고 나머지 1G는 Mirror로 사용된다.

 

*** 일부러 장애발생

 

 

- 고장후 상태 확인해보기

 

 

*** 복구/여분

- 고장후 새로운 하드디스크(파티션raid로 설정한 sdh1) 추가

 

 

- 여분으로 등록해보기

-> 고장나기전 정상 작동할때 등록해두면 여분으로 사용할 수 있다.

 

 

*** 다시 일부러 장애발생

 

 

*** 장치해제

# umount 장치명

- umount로 장치를 해제한다.

- mdadm --stop을 이용해 링크를 끊는다.

- mdadm --zero-superblock을 이용해 해당 디스크의 흔적을 지운다.

 

 

#1 RAID - Level0+1 구성해보기

- 디스크 생성, 파티션생성은 되있는상태에서 진행

 

*** RAID 생성

 

 

-> 1G짜리 2개를 이용해 2개의 stripe를 만들고 각가 2G인 stripe 2개를 이용해 mirror을 만든다.

-> mirror 구성이므로 총용량은 2G이고 나머지 2G를 mirror로 사용한다.

 

- 생성한 RAID 확인

 

 

 

*** 파일시스템 생성

 

 

*** 마운트

 

 

*** 장치 해제

 

 

'Linux' 카테고리의 다른 글

Linux_리눅스 sudo  (0) 2018.07.22
Linux_리눅스 ACL  (0) 2018.07.21
Linux_리눅스 RAID - Linear / Stripe  (0) 2018.07.20
Linux_리눅스 LVM  (0) 2018.07.19
Linux_리눅스 쉘스크립트 실습  (0) 2018.07.12
Comments