RAID, 파일시스템 명령어, RAID 문제

sso·2025년 3월 28일
0

리눅스 서버

목록 보기
15/40

p538

1. RAID

RAID : 일반 디스크 + 중복

R edundancy - 중복
A rray - 배열
I ndependant(Inexpensive) - 독립
D isks - 디스크
➡ 독립적인 디스크들의 중복되는 배열
(a, b, c 디스크를 묶어서 A배열, d, e, f를 묶어 B배열 인 것을 A B A B 배열로 중복되어 만드는것)

1-1. RAID(레이드)의 목적

가용성의 향상
가용성이 향상되면 용량이 줄어드는 등

1-2. RAID에서 사용하는 기술

  • 스트라이핑(Striping)
  • 라운드로빈 방식 : 여러 개의 디스크에 번갈아가며 저장하는 방식

1-3. RAID에서 용량이란?

RAID는 결국 내가 쓰는 디스크와 동일하게(DATA) 크기가 백업됨
때문에 레이드 후 총 용량이 80G이며 2개의 장치를 레이드로 만들 때 1개의 디스크의 용량은 40G로 설정함

꼭 용량이 같지 않아도 레이드는 사용할 수 있음 (30G, 50G로 크기를 다르게 해도 레이드 설정 가능)
하지만 용량이 다를 경우 작은 용량에 맞춰 사용되기 때문에 같은 크기로 맞추는게 효율이 좋다.

p590

2. 레이드 실습

2-1. 저장장치 6개 추가

2-2. 저장장치 파티션 생성, 타입은 레이드

파티션 생성 후 t를 누르면 타입을 변경할 수 있음

linux type은 83번
fd번은 linux raid - 레이드 장치는 fd

전체 타입별 코드 정보

모든 디스크 파티션 생성 및 타입 지정 완료

(완료 후 스냅샷 추가 - 레이드 디스크 파티션 완료)

2-3. 레이드 장치 생성

  • 명령어

    mdadm(md + admin)

  • 레이드 장치 생성 실습 명령어

    mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1
    ➡ 총 2개의 디스크(sdb1, sdc1)를 raid 0으로 설정해서 레이드 /dev/md0를 생성하겠다.

-C : create 생성하겠다, /dev/md0 생성하겠다.
-l : 레이드 레벨 지정, raid 0 으로 생성
-n : 레이드 장치, 레이드로 만들(묶을) 디스크의 수

레이드 장치가 정상적으로 설치된 것을 확인할 수 있음

상세보기를 통해 권한을 확인해보면 (- 파일, d 디렉터리)가 아닌 b가 표시됨
b는 block, 즉 디스크라는 의미

2-4. 레이드 생성 후 생성한 레이드를 포맷

레이드 생성 후 sdb1, sdc1을 제어하기 위해서는
sdb1, sdc1 각각으로 사용하는게 아니라 설정된 레이드인 md0으로 수행함

md0은 xfs 형식으로 포맷

mkfs.xfs /dev/md0

2-5. 레이드 마운트

새로운 디렉터리 /rdata0을 생성한 후 md0을 해당 디렉터리에 마운트

mkdir /rdata0
mount /dev/md0 /rdata0

md0으로 마운트 하니 sdb1, sdc1이 함께 /rdata0으로 마운트 된 것을 알 수 있음

p277
6. /etc/fstab (file system tab)
파티션 정보가 변경되었거나 디스크를 추가한 경우 /etc/fstab 파일에 등록해야만
부팅 시에 자동으로 마운트가 됨
(지금까지 디스크 추가하고 레이드를 추가했으므로 /etc/fstab 파일에 등록하지 않으면 재부팅 후 설정한 내용이 사라짐)

vi /etc/fstab

/etc/fstab 파일에 문제가 생길 경우 부팅이 되지 않음

UUID : 장치에 붙는 일련번호 (Universally Unique Identifier)

  • blkid를 사용하면 관련 정보를 확인할 수 있음

내가 추가한 레이드 저장

/dev/md0 /rdata0 xfs defaults 0 0

작업을 완료했으면 reboot 하거나 daemon을 재실행
(daemon을 재실행하면 reboot 하지 않아도 됨)

daemon 재실행 명령어(즉시 적용)

systemctl daemon-reload
➡ systemd 휘하의 모든 데몬의 유닛 파일을 다시 로딩함

p592

2-7. 재부팅 or daemon reload 후 레이드 어레이 목록 확인

레이드 목록 확인 명령어

mdadm --detail --scan

2-8. RAID 1 생성 실습

RAID 1 생성

mdadm -C /dev/md1 -l 1 -n 2 /dev/sdd1 /dev/sde1

생성한 RAID 확인

mdadm --detail --scan

디렉터리 마운트 할 디렉터리 생성

mkdir /rdata1

생성한 레이드 xfs 형식으로 포맷

mkfs -t xfs /dev/md1

레이드를 생성한 디렉터리로 마운트

mount /dev/md1 /rdata1

마운트 정보 저장 후 재부팅

vi /etc/fstab
/dev/md1 /rdata1 xfs defaults 0 0

2-9. linear RAID 생성 실습

linear RAID 생성, 디렉터리는 md100으로 설정

mdadm -C /dev/md100 -l linear -n 2 /dev/sdf1 /dev/sdg1

마운트 디렉터리 생성

mkdir /rdata2

마운트 안하고 재부팅으로 설정하기 -> 재부팅시 자동으로 마운트됨

vi /etc/fstab
/dev/md100 /rdata2 xfs defaults 0 0

각 레이드 어레이 확인

mdadm --detail /dev/md100

레이드 어레이 확인

mdadm --detail --scan

3. 파일 시스템 관련 파일, 명령어

파일 1. /etc/fstab
파일 2. /etc/mtab - 마운트 정보 심볼릭 파일로 /proc/self/mounts가 원본

명령어
blkid : uuid 정보 확인할 때 쓰는 명령어

3-2. 파일 형식을 한번에 보기 쉽게하는 명령어

fdisk -l | grep raid

4. 문제

Server B를 초기화 한 후 작업하시오.(레이드는 최소 디스크 갯수로 진행 - 총 7개 생성)

Server B에 다음과 같은 구성을 완료하시오.

  • 레이드 후 용량에 맞춰 디스크 구성 (순서대로 만든다고 가정했을 때)
    b - 용량 상관X
    c, d - 각 40G
    e, f - 각 50G
    g, h - 각 30G
  1. /dev/sdb1 -> xfs로 포맷, /normal에 부팅 시 자동 마운트 되도록 설정

sdb ~ sdg까지 총 6개의 디스크 생성 (물리)
각 디스크 파티션 생성 및 타입 설정

  • fdisk /sdb ~ /sdg
    n
    t - fd
    w

sdb1 xfs 형식으로 포맷

  • mkfs.xfs /dev/sdb1

/normal로 부팅 시 자동 마운트 설정

  • mkdir /normal

vi /etc/fstab

  • /dev/sdb1 /normal xfs defaults 0 0

reboot

결과

  1. /dev/md10 -> ext4로 포맷, Linear 레이드 구성, /raidlinear에 부팅 시 자동 마운트 되도록 설정, 용량은 레이드 어레이 구성 후 총 80G가 되도록 디스크 삽입

Server B에는 adadm 커맨드가 설치되어 있지 않아서 설치해야함
dnf -y install adadm

sdc1, sdd1을 linear로 구성
mdadm -C /dev/md10 -l linear -n 2 /dev/sdc1 /dev/sdd1
mkfs.ext4 /dev/md10
mkdir /raidlinear

vi /etc/fstab

  • /dev/md10 /raidlinear ext4 defaults 0 0

reboot

mdadm --detail --scan

  1. /dev/md20 -> xfs로 포맷, Stripe 레이드 구성, /raidstripe에 부팅 시 자동 마운트 되도록 설정, 용량은 레이드 어레이 구성 후 총 100G가 되도록 디스크 삽입

sde1, sdf1을 stripe 레이드로 구성(stripe raid leve 0, RAID 0)
mdadm -C /dev/md20 -l 0 -n 2 /dev/sde1 /dev/sde1 /dev/sdf1
mkfs -t xfs /dev/md20
mkdir /raidstripe

vi /etc/fstab

  • /dev/md20 /raidstripe xfs defaults 0 0

reboot

mdadm --detail --scan

  1. /dev/md30 -> ext4로 포맷, Mirroring 레이드 구성, /raidmirroring에 부팅 시 자동 마운트 되도록 설정, 용량은 레이드 어레이 구성 후 총 60G가 되도록 디스크 삽입

sdg1, sdh1 Mirroring 레이드로 구성(Mirroring raid leve 0, RAID 1)
mdadm -C /dev/md30 -l 1 -n 2 /dev/sde1 /dev/sdg1 /dev/sdh1
mkfs -t ext4 /dev/md30
mkdir /raidmirroring

vi /etc/fstab

  • /dev/md20 /raidmirroring ext4 defaults 0 0

reboot

mdadm --detail --scan

profile
오늘도 하나씩 해결해 나가자!

0개의 댓글