보안/CentOS+Ubuntu

CentOS 7 디스크 RAID, fdisk, mount,mdadm 이론및 RAID 1구성하기

lowcodingpython 2023. 2. 2. 22:06
반응형

Disk RAID (Redundant Array of Inexpensive Disks)은 여러 개의 디스크 드라이브를 결합하여 하나의 논리적인 디스크를 형성하는 기술입니다. 디스크 RAID는 데이터의 안정성을 높이고 시스템의 신뢰성을 개선하기 위해 사용됩니다. 

일반적으로 RAID 0, RAID 1, RAID 5, RAID 6 등의 레벨이 사용됩니다.

 

 

이번 포스팅은 이론이 많이 함축되어 있습니다.

RAID-설명-이론

RAID 0

RAID 0 (striped disk array without fault tolerance)은 데이터를 여러 개의 디스크에 분산하여 저장하는 방식으로, 데이터 속도를 개선하는 목적으로 사용됩니다. RAID 0에서는 디스크의 용량이 절반씩 감소하지만, 읽기와 쓰기 속도가 개선됩니다. 하지만 RAID 0은 데이터 복제가 없으므로 디스크 하나가 손상되면 모든 데이터가 손실되므로 보안적으로 취약합니다.

 

RAID 1

RAID 1 (Mirrored Disk Array)은 데이터 복제 방식으로, 작업하는 데이터의 복사본을 각 디스크에 저장하여 데이터를 중요하게 보존하는 방식을 말합니다. RAID 1에서는 두 개의 디스크가 요구되며, 두 디스크 모두에 동일한 데이터가 저장되어 디스크 하나가 고장 나도 데이터를 유지할 수 있습니다.

 

RAID 5

RAID 5 (Redundant Array of Inexpensive Disks) 비용이 적은 여러 디스크 중 적어도 하나의 디스크를 사용하여 데이터의 정보를 복사하여 데이터의 신뢰성을 높이는 방식입니다. RAID 5에서는 각 블록에 대한 데이터와 여러 디스크에서 계산된 여러 패리티 블록이 저장되므로 단일 디스크의 실패에 대한 대처를 가능하게 합니다.

 

RAID 6

RAID 6은 데이터 손실에 대한 여분의 중복성을 제공하기 위해 데이터 블록 외에 두 개의 패리티 블록을 하나가 아닌 두 개의 패리티 블록을 사용하는 데이터 스토리지 가상화 기술입니다. 디스크 오류가 발생하면 나머지 디스크에서 데이터를 재구성할 수 있으므로 RAID 6은 RAID 5보다 내결함성이 더 뛰어납니다. 두 번째 패리티 블록에 필요한 추가 디스크 공간은 다음의 단일 디스크와 대략 동일합니다. 이는 RAID 6이 스토리지 용량과 데이터 보호의 균형을 제공한다는 것을 의미합니다.

RAID 0 내결함성이 없는 스트라이프 세트 향상된 성능 및 용량
이중화 없이 단일 Disk 장애로 인해 데이터 손실 발생
RAID 1 미러링 세트 향상된 신뢰성, 간편한 구현
데이터 중복으로 인한 비용 증가, 용량 감소
RAID 5 패리티가 있는 스트라이프 세트 향상된 성능, 용량 및 이중화
패리티 계산으로 인한 쓰기 성능 저하, 다중 Disk 장애로 인해 데이터 손실 발생
RAID 6 이중 패리티가 있는 스트라이프 세트 중복성 향상, 다중 디스크 장애 지원
이중 패리티 계산, 용량 및 성능 감소로 인해 비용이 많이 소요됨

 


CentOS 7 Disk RAID 1 구성

테스트 용으로 2GB 디스크 2개를 연결했습니다.

sdb, sdc를 가지고 RAID 1을 구성하겠습니다.

linux-lsblk-명령어

디스크의 정보는 $sudo fdisk -l을 통해서도 확인 가능하며 /dev의 경로를 잘 봐주시면 됩니다.

linux-fdisk-명령어

fdisk디스크 파티션을 관리하는 데 사용되는 Linux 명령줄 유틸리티입니다.

  • fdisk /dev/<disk_device>: fdisk지정된 디스크 장치에 대해 시작합니다(예: ) /dev/sda.
  • p: 현재 디스크의 파티션 테이블을 표시합니다.
  • n: 새 파티션을 만듭니다.
  • d: 파티션을 삭제합니다.
  • w: 변경 사항을 디스크에 기록하고 종료 

간단한 이론이며 fdisk를 알고 있다 가정하게 아래 같이 디스크 설정을 해주시면 됩니다.

 

/dev/sdb, /deb/sdc 2개 진행 후 확인

linux-디스크-파티션-관리파티션-설정-확인-하기


mdadm 명령어는 Linux에서 RAID 구성을 관리하는 도구

mdadm 명령어는 Linux 운영체제에서 멀티 디스크 (multiple disk) RAID(Redundant Array of Inexpensive Disks) 상태를 관리하는 명령어입니다.

 

mdadm을 사용하면 디스크 배열을 생성, 관리, 병합, 추적, 복구 등의 작업을 수행할 수 있습니다. mdadm은 다수의 디스크를 하나의 논리 디스크로 만들어 높은 적재량과 낮은 데이터 손실 가능성을 갖춘 디스크 시스템을 구축할 수 있습니다.

 

다음은 mdadm 명령어의 주요 사용법입니다.

  1. RAID 디스크 생성: #mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1
  2. RAID 상태 확인: #mdadm --detail /dev/md0
  3. RAID 디스크 확장: #mdadm --grow /dev/md0 --raid-devices=3
  4. RAID 디스크 제거: #mdadm --stop /dev/md0

mdadm-명령어-사용하기

mdadm : $sudo --create [장치명] --level=[레이드 번호] --raid-device=[구성할 파티션 개수] [구성 파티션 리스트]

mdadm-명령어-사용해서-레이드-번호

$sudo cat /proc/mdstat 레이드 상태 확인하기

cat-명령어로-레이드-상태


mkfs (make file system) 명령어는 리눅스에서 파티션을 생성하거나 파티션에 파일 시스템을 생성할 때 사용하는 명령어

$sudo mkfs [options] [device]

[device]는 파일 시스템을 생성할 디스크 또는 파티션을 나타냅니다.

옵션은 파일 시스템의 종류(ext2, ext3, ext4, xfs, btrfs 등)를 나타내는 -t 옵션 등을 사용할 수 있습니다.

 

EX] $sudo mkfs -t ext4 /dev/sdb1

파일-시스템-생성하기


mount 명령어는 Linux에서 파일 시스템을 마운트 하는 명령어입니다. 

즉, 컴퓨터에서 사용할 수 있는 파일 시스템을 설정하는 것입니다.

마운트 하기 위해 적절한 위치에 디렉터리 생성 후 마운트

 

$mount [options] [source] [destination]

  • options: 마운트에 대한 옵션을 지정합니다.
  • source: 마운트 할 파일 시스템의 위치 (예: /dev/sda1)
  • destination: 마운트 포인트 (예: /mnt/data)

EX] $mount /dev/sda1 /mnt/data

마운트-디렉터리-연결하기

재부팅 후 자동 마운트를 위해서 /etc/fstab에 아래처럼 등록을 해주시면 됩니다.

마운트-자동-등록-하기

$sudo mdadm --detail /dev/md1 명령어를 통해 raid 상태 확인 및 레이드 디바이스 2개 확인해 주시면 됩니다.

레이드-설정-전체-확인

 

이렇게 간단하게 mdadm 도구를 가지고 RAID 구성을 할 수 있습니다.

반응형