정보보안공부
Linux_리눅스 RAID - Mirror / Level 0+1 본문
리눅스 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 |