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 |