도유니의 블로그
article thumbnail

RAID 구성

물리 디스크 ---> 논리적으로 인식 ---> 논리 디스크

논리 디스크 --->  묶어서 사용한다.(인덱스 결합) ---> 인터페이스(데이터의 입출력)

 

인터페이스 컨트롤러

RAID 컨트롤러

 

 

 

RAID 0  = 스트라이핑

RAID 1 = 미러링 ---> 복제

 

하드1T 하드1T 하드1T

각 하드 디스크가 독립적인 인덱스를 사용

 

파이썬에서의 변수 호출 방식과 같다.

 

init 0 = 종료

 

현재 C7 1개의 물리 디스크 : sda

                                              -      동작 방식 : h : ATA or IDE        :병렬 연결방식

                                                                        s : SCSI or SATA   : 직렬 연결방식

                                                -    disk

                                                  - 물리적인

 

실습을 위해 하드 디스크 4개를 끼우자.

각 디스크 당 용량 100MB

 

 

운영체제에서 디스크를 인식했는지 확인

 

/dev <------운영체제가 인식한 모든 디바이스

 

sda / sdb / sdc / sdd / sde

 

 

sda1

sda2

      -   논리적 파티션의 번호

 

 

fdisk -l

 

시스템이 인식한 디스크

현재 사용가능한 시스템 정보 확인

 

 

 

df

시스템에서는 인식 했으나 운영체제가 자신이 사용할 저장소로 인식하지는 않았다.

 

우리의 할일

 

운영체제에게 디스크를 사용할 수 있도록 설정해줘야한다. ---> 파티션 작업을 한다. (파티셔닝)

 

작업 1 ---> /dev/sdb 디스크를 파티셔닝해서 사용 가능도로고 하자

 

fdick 대상 디스크

fdisk /dev/sdb

 

새로운 파티션을 추가해야한다.

새로운 파티션 추가 N 

primary : 기본 파티션 : 모든 디스크는 최대 4개의 기본 파티션을 가질 수 있다.

extended : 확장 파티션 : 기본 파티션보다 많은 수의 파티션으로 나눌 때 사용된다.

 

sdb 디스크의 전체 영역을 2048 ~ 208895 까지 총 101MB를 지정했다.

 

파티션의 기본값을 설정해 줘야 한다. ---> 시스템ID

fd 리눅스 입력후 w (저장) 엔터 ---------->파티셔닝 완료

 

1단계 파티셔닝을 완료 하였다.

 

2단계 파티션 초기화 작업 ---> 포맷(foamat)

 

mkfs -t

 

현재 사용하고 있는 파일 시스템 확인 df -t         / df -h

 

 

목표 : sdb1 의 파일 시스템을 ext4로 포맷하겠다.

 

 

 

포맷 : mkfs -t ext4 /dev/sdb1  

 

 

blkid ---> 시스템이 인식하고 있는 장치의 고유 식별 번호(시리얼 번호)

 

리눅스는 모든 장치를 / 밑에 붙여서 사용한다.

                                              --------                   : mount

 

마운트 대상 디렉터리 : /share/sdb1_mount 만들자

mkdir -p /share/sdb1_mount

cd sdb1_mount

touch test_file 만들기

mount -t ext4 /dev/sdb1 /share/sdb1_mount/

 

마운트 완료.

 

df

 

test_file 이 사라졌다.

 

lost+found ---> 각 디스크(파티션)의 휴지통 // 디스크의 root에 존재한다.

 

touch test_file --->저장되는 위치 sdb1

 

test_file 이 저장되는 위치 ---> sda

 

sdb1 <--- 파티셔닝을 다시 한 뒤에 레이드 설정

 

fdisk /dev/sdb1

 

 

 

RAID 구성을 위한 준비

fdisk /dev/sdb ---> sdb1 --> fd

fdisk /dev/sdc ---> sdc1 --> fd

fdisk /dev/sdd ---> sdd1 --> fd

fdisk /dev/sde ---> sde1 --> fd

 

 

RAID를 사용할 때 가상 디스크 ---> md : meta disk 

                                                                -------          >> 사용되기 전의 순수한 디스크

 

md를 관리하기 위한 유틸리티 --> mdadm

 

목표 : sdb1과 sdc1 를 묶어서 하나의 디스크를 생성하겠다.

                            (RAID 구성)    (md0)

                      RAID 0 모드로 사용 : 스트라이핑 모드 : 동작 레벨 : 0 : stripping

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

 

 

fdisk -l   ------->결과값확인 /dev/md0

논리 인덱스를 생성했기 때문에 용량이 줄어 있다.

 

 

 

레이드 동작 확인

mdstat ---> cd /proc/mdstat

                        ------                 >> 프로세스 정보를 담고 있다.

 

1block 당 size = 1024 byte = 1KB

 

 

mdx 삭제방법

mdadm --stop /dev/mdx

mdadm --remove /dev/mdx (stop이 안되는 경우 : 에러발생시)

 

 

mdadm --create     : 생성

             --remove   : 삭제

             --stop        : 비활성화

             --zero-superblock /dev/sdd1 /dev/sde1  :슈퍼블럭 삭제

             --detail       :설정 확인

             --detail       : --scan >> /etc/mdadm.conf  :자동마운트

 

 


2023.06.21 실습

 

1. sdd1 / sde1 ---> raid 1 : 미러링 구성

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1

 

 

2. 구성한 md1 /share/raid1 디렉터리에 마운트 시키시오.

 

 

======>md 생성 후 재부팅 시에도 남아 있음 

다만, 마운트가 풀리는 문제 발생

 

blkid 로 UUID를 확인

 

/dev/md0: UUID="f757a11e-3688-40a5-a603-7f14ccee9929" TYPE="ext4"
/dev/md1: UUID="5a1b2d7d-4bf1-4686-a1a1-de5b17b82ad8" TYPE="ext4"

 

fstab 에 등록할 때

 

cd /etc  ---> vim fstab

 

/dev/md0 --> /share/raid0

UUID=f757a11e-3688-40a5-a603-7f14ccee9929 /share/raid0          ext4        defaults        0 0

 

 

연습문제 RAID 0+1 구성

 

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb1 /dev/sdc1

mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1

 

 

mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/md0 /dev/md1

 

포맷 ---->  /share/raid01 생성 ------->  마운트

 

마운트 완료.

 

자동마운트 설정

 

vim /etc/fstab 열고

 

UUID="e853faec-0cb8-4d55-83e5-a92dbc87058d /share/raid01     ext4"      defaults        0 0

 

설정 넣어주기 ---> 재부팅

속도 향상과 복사본 생성이라는 복사본 생성이라는 두 가지 목적을 동시에 어느정도 구현할 수 있다.

문제점: RAID 01의 경우 disk 0과 disk 2 동시에 나갈경우 전체 디스크가 깨진다


Raid 1+ 0 구성

 

 

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd1 /dev/sde1

 

mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/md0 /dev/md1

 

포맷 ---> 마운트 ---> 

 

 

 UUID=fe54e180-0115-4281-8ca2-508bc66e78f0 /share/raid10      ext4        defaults        0 0     

 

RAID 10은 RAID 0의 속도적인 장점을 살리고 RAID 1으로 안전성을 보강

 

 

 

 

================= 최소 2대 이상의 하드 디스크 사용 =========================

 

RAID 5  <-----------표준  // RAID 컨트롤러 기본 적용

 

3대 이상의 하드디스크가 필요하다.


 

패리티(parity)

디스크 장애 발생 시 데이터를 재구축하는데 사용할 수 있는 계산된 값

 

mdadm --create /dev/md5 --level=5 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

 

구성 한 뒤에 이상한 점을 찾으시오.

 

 

포맷 : mkfs -t ext4 /dev/md5 --->  마운트 mount -t ext4 /dev/md5 /share/raid5

 

 

 


하드웨어 기반 RAID 구성 ---> Provistioning

 

hpe 서버 : SSA

 

 

 

 

 

 

 

 

 

 

 

'Linux' 카테고리의 다른 글

IDS - Snort (DAQ다운, snort다운, 설정변경)  (0) 2023.07.12
DISKQUOTA  (0) 2023.06.22
SAMBA (SMB) // smb nmb  (0) 2023.06.20
PHP설정 / PHP-FPM  (0) 2023.05.31
Centos 7 메뉴얼(방화벽해제/아나콘다3설치/주피터서버설치)  (0) 2023.05.24
profile

도유니의 블로그

@Dokker

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그