A. 개요

VM 웨어 메인보드

 

  • VM 웨어의 메인보드에는 SATA 4개와 스카시 4개의 슬롯에 연결되어 있다. 
  • SATA는 각각 30개의 케이블이 연결되어 있고 총 120개(30 * 4)의 SATA 하드디스크 연결이 가능하다. 
  • 스카시는 각각 16개의 케이블이 연결되어 있으나 7번은 미리 할당되어 있어 사용을 못해 총 60개 (15 * 4)의 스카시 하드디스크를 장착할 수 있다. 
  • 리눅스에서는 연결된 하드디스크를 장치라고 부른다. 따라서 모든 하드디스크는 /dev 디렉터리의 하위에 장치이름으로 구성되어 있다. 
    • [예시]  SCSI 0:0 = /dev/sda      SCSI 0:1 = /dev/sdb    SCSI 0:2 = /dev/sdc
  • 파티션을 나누면 장치 이름뒤에 숫자가 붙는다. 통짜로 하나를 다쓴다고 하여도 파티션은 무조건 나눠야한다.
    • [예시]  /dev/sda1    /dev/sda2    /dev/sda3 
  • 리눅스의 대부분 장치는 마운트를 하여야 사용가능하다. / (루트 디렉터리) 밑에 하나의 디렉터리를 만들어 생성한 디렉터리와 장치를 연결하여 사용가능하다.

 

1. 하드디스크 추가 

하드디스크 추가 실습

  • fdisk = 파티션 나누는 명령어

fdisk - 1

 

fdisk - 2

  • 파일 시스템 생성

파일시스템 생성

 

  • 마운트
    • 먼저 sda1과 언마운트 후에 sdb1 마운트를 해야한다. 

 

  • /etc/fstab 등록
    • 글자 틀리면 부팅 안되니 주의

 

 

/etc/fstab 등록

 

 

  • 추가 연습으로 3GB (sdb1 = 2GB   sdb2 = 1GB)를 나눠서 마운트함.

추가 연습

 

B. 디스크 RAID

  • RAID (Redundant Array of Inexpensive Disks)
  • 여러개의 디스크를 하나의 디스크처럼 사용하는 개념
  • 비용 절감, 신뢰성 향상, 성능 향상의 효과를 낸다.
  • 하드웨어 RAID와 소프트웨어 RAID 2가지 타입이 있다. 
    • 하드웨어 RAID
    • 하드웨어 제조업체에서 여러 개의 하드디스크를 가지고 장비를 만들어서 그 자체를 공급한다.
    • 좀 더 안정적이지만 비용이 비싸다.
    • 소프트웨어 RAID
    • 고가의 하드웨어 RAID의 대안으로 운영체제에서 지원하는 방식이다. 
    • 저렴한 비용으로 좀 더 안전한 데이터의 저장이 가능하다.

1. RAID 방식

RAID 방식

 

1-1. 리니어, RAID 0

리니어, RAID 0

 

1-2. RAID 1

RAID 1
RAID 0 & 1 비교

 

1-3. RAID 5 

RAID 5
RAID 5
RAID 5
RAID 5

 

 

1-4. 기타 RAID 

기타 레이드

 

2. 레이드 실습 사전 준비

9개 디스크 추가

 

fdisk 명령어 - 타입이 리눅스 레이드 오토로 설정됬다.
파티션 분할 완료

 

3. 레이드 구축

레이드 구축

명령어 액션 생성할 대상 레벨 디스크 갯수 디스크 이름
mdadm -- create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1

 

  • 위와 같은 순서와 명령어를 사용한다. 
  • 기본적인 명령어는 골조를 동일하게 사용하며 값만 다르다. 
    • 예를들어 raid0은 --level=0 과 같다.

mdadm 명령어

 

파일 포맷

 

디렉터리 생성 및 마운트

 

/etc/fstab 파일 수정
레이드 정보 확인

 

 

다른 방식의 레이드는 레벨, 장비수가 다른 것 외에는 동일하여 따로 다 진행하였고 아래와 같이 /etc/fstab 파일에 추가 하였다.

 

/etc/fstab 파일 수정

 

 

하지만 "우분투" 리눅스에서 버그가 있기에 정상적으로 부팅이 되게하기 위해 아래의 작업이 꼭 필요하다. 

먼저, mdadm --detail --scan 의 결과값을 복사해야하니 scan.txt를 만들고 vi로 결과값을 보냈다.

결과값 이동

 

/etc/mdadm/mdadm.conf 파일을 열어서 수정해야한다. vi로 열자

/etc/mdadm/mdadm.conf

 

맨 아래줄에 scan.txt 에서 복사한 값을 붙여넣기 한 후 중간부분에 있는 "name=server:숫자" 부분을 지우면 아래와 같은 형식이 된다. 

 

이렇게 맹글고 저장하자

 

vi 저장 후 업데이트를 하자

업데이트 명령어는 update-initramfs -u 이다. 

 

업데이트 명령어

 

재부팅 후 df 명령어로 확인하면 아래와 같이 정상적으로 부팅이 된 후에 레이드가 계속 연결되어 있음을 확인할 수 있다.

 

재부팅 후 상태

 

 

C. 레이드 문제 발생과 조치 방법

상황 부여 : 각 레이드 구성에 하드디스크 하나씩 고장이 났다.

 

상황부여

 

이 상태에서 부팅을 하게 되면 아래와 같이 디스크의 번호가 앞 당겨진 것을 확인할 수 있다.

 

사라진 번호 만큼 앞당겨진 디스크 번호들

 

df 명령어로 확인을 해보면 아래와 같이 레이드 구성이 전부 동작하지 않는 것을 확인할 수 있다.

 

동작하지 않는 레이드 구성들

 

결함을 허용하는 RAID1과 RAID5를 먼저 복구한다. 

RAID 시작 -> 마운트 -> 정상작동 확인 순으로 진행하면 된다.

RAID 시작



마운트
작동여부 확인

 

 

 

RAID 5까지 작동여부 확인까지 하였으면 이제 RAID 리니어와 0을 확인해본다. 

아래와 같이 시작이 불가능하다.

 

시작 불가능

 

따라서, 일단 2개의 레이드 구성은 중지시킨다. 

레이드 중지

 

/etc/fstab 파일로 가서 md9과 md0 줄을 주석처리한다.

 

주석처리

 

리부팅 후 df 명령어로 확인시 RAID 1과 5는 구동을 하고 있는것으로 확인 된다.

 

레이드 동작 확인

 

 

여기서 추가 상황을 부여한다. 

하드디스크 4개를 추가로 구매하여 이제 레이드를 복구하려고 한다. 

 

물리적으로 디스크 추가 장착 완료

 

ls -l /dev/sd* 확인하면 아래와 같이 새로 추가된 디스크들을 확인 할 수 있다.

당연히 파일 시스템은 생성하기 전이라 없다.

추가된 디스크들 (파일 시스템 아직 없음)

 

파일 시스템을 생성하자 대상은 sdc, sde.sdg.sdi다

 

파일 시스템 생성완료

 

리니어 레이드, RAID 0 먼저 재구성한다. 

당연히 결함을 허용하지 않는 구성방식이니 기존의 파일은 복구 못한다. 

재구성은  레이드 정지 -> 재구성 순서로 진행한다.

RAID 0 재구성 방식도 리니어랑 동일하다.

리니어 레이드 재구성

 

 

 

RAID 1, 5는 결함을 허용하는 구성방식이기에 디스크를 추가만 해주면 된다.

아래와 같다. 

디스크 추가 후 정보 확인

 

 

여기까지 하고 etc/fstab 파일과 etc/mdadm/mdadm.conf 파일을 다시 수정한다. 

재부팅을 하면 아래와 같이 정상적으로 레이드가 작동하는 것을 확인할 수 있다.

 

재부팅 확인