Ubuntu에서 RAID 1 구축 방법: mdadm을 이용한 소프트웨어 RAID 설명

1. 소개

Ubuntu에서 RAID 1을 구축하는 이유?

Ubuntu는 개인 사용자부터 기업 환경까지 널리 사용되는 Linux 배포판입니다. 높은 신뢰성과 유연성 덕분에 서버 용도로 흔히 채택됩니다. Ubuntu 환경에서 RAID 1(미러링)을 구축하면 디스크 장애로 인한 데이터 손실 위험을 최소화하고 데이터 중복성을 보장할 수 있습니다.

RAID 1은 실시간으로 두 개 이상의 디스크에 동일한 데이터를 기록하는 방식으로 작동합니다. 하나의 디스크가 고장 나더라도 시스템은 남은 디스크를 사용하여 계속 작동할 수 있습니다. 중요한 파일이나 서비스를 처리하는 Ubuntu 시스템의 경우 RAID 1은 효과적인 보호 전략입니다.

소프트웨어 RAID와 하드웨어 RAID의 차이점

RAID를 구축하는 주요 접근 방식은 두 가지입니다. 하나는 하드웨어 RAID로, 전용 RAID 컨트롤러나 마더보드 RAID 기능을 사용합니다. 다른 하나는 운영 체제 소프트웨어(주로 Linux의 mdadm)를 사용하여 구성하는 소프트웨어 RAID입니다.

Ubuntu에서는 비용 효율성과 유연성 덕분에 소프트웨어 RAID가 가장 일반적인 선택입니다. 이 기사는 Ubuntu에서 RAID 1을 구축하는 데 초점을 맞추며, 설치 시 구성, 운영 관리, 장애 복구를 다룹니다.

이 기사에서 배울 내용

이 가이드를 읽으면 다음 지식과 기술을 습득할 수 있습니다:

  • RAID 1의 기본 사항과 Ubuntu에서의 작동 방식
  • 소프트웨어 RAID(mdadm)를 사용한 RAID 1 구축 단계별 지침
  • RAID 1 재구축, 상태 확인 및 문제 해결
  • Ubuntu Server와 Desktop 간의 차이점 및 주의 사항
  • GRUB와 fstab 구성 포함 실용적인 FAQ 지식

구성된 후 RAID는 빈번한 개입이 필요하지 않지만, 초기 설정을 이해하는 것이 중요합니다. 이 기사는 초보자도 적합한 명확하고 실용적인 설명을 제공합니다. 끝까지 읽어 주세요.

2. RAID 1 기본 사항

RAID 수준과 RAID 1의 특징

RAID(Redundant Array of Independent Disks)는 여러 하드 드라이브를 결합하여 데이터 신뢰성과 성능을 향상시키는 기술입니다. RAID에는 각기 다른 특징을 가진 여러 수준이 있습니다.

일반적인 RAID 수준은 다음과 같습니다:

  • RAID 0 : 스트라이핑을 통해 성능을 향상시키지만 중복성을 제공하지 않음
  • RAID 1 : 미러링을 통해 중복성을 제공(이 기사의 초점)
  • RAID 5 : 세 개 이상의 디스크에 패리티를 사용하여 중복성을 제공
  • RAID 6 : RAID 5의 향상된 버전으로 이중 패리티를 통해 더 높은 장애 내성을 제공
  • RAID 10 (1+0) : RAID 1과 RAID 0의 조합

이 중 RAID 1은 두 개의 디스크에 동일한 데이터를 기록하는 미러링 접근 방식을 사용합니다. 하나의 디스크가 고장 나더라도 다른 디스크에서 데이터에 접근할 수 있어 우수한 가용성을 제공합니다.

미러링 작동 방식(개념적 예시)

RAID 1의 메커니즘은 매우 간단합니다. 예를 들어 Disk A와 Disk B가 있다고 가정해 보세요:

[Write Operation]
User saves File A → Data is written simultaneously to Disk A and Disk B

[Read Operation]
Data can be read from either disk, allowing performance optimization

데이터가 항상 복제되기 때문에 RAID 1은 물리적 디스크 장애에 대한 강력한 보호를 제공합니다.

소프트웨어 RAID vs 하드웨어 RAID

RAID를 구축하는 주요 방법은 두 가지입니다:

  • 소프트웨어 RAID(mdadm 등) Ubuntu에서 가장 일반적으로 사용되는 방법입니다. OS 수준에서 RAID를 관리하여 유연성과 비용 이점을 제공합니다. 최고 수준의 제어를 제공하며 일반 서버 환경에서 널리 사용됩니다.
  • 하드웨어 RAID(RAID 카드 또는 BIOS 기반 솔루션) 전용 컨트롤러가 RAID를 처리하여 CPU 부하를 줄입니다. OS는 배열을 단일 디스크로 인식합니다. 그러나 컨트롤러 자체가 고장 나면 복구가 어려워집니다 .

Fake RAID(BIOS RAID)란 무엇인가?

일부 마더보드는 BIOS 수준에서 RAID 기능을 제공하며, 종종 “Fake RAID”라고 불립니다.

Although it appears to be hardware RAID, it is actually driver-controlled and structurally closer to software RAID. While Ubuntu offers limited support, mdadm-based software RAID is generally easier to manage and recover, so Fake RAID is usually not recommended.

3. 소프트웨어 RAID (mdadm)로 RAID 1 구축

3.1 준비 및 요구 사항

RAID 1을 구축하려면 최소 두 개의 물리 디스크(또는 사용되지 않은 파티션)가 필요합니다. 시스템 디스크로 이미 사용 중인 디스크는 적합하지 않으므로 전용 스토리지를 준비하십시오.

먼저, 대상 디스크를 식별합니다:

lsblk

또는 더 자세한 정보를 확인합니다:

sudo fdisk -l

디스크가 /dev/sdb/dev/sdc라고 가정합니다.

진행하기 전에 대상 디스크에 중요한 데이터가 없음을 확인하십시오. RAID 생성 과정에서 모든 데이터가 삭제됩니다.

3.2 mdadm 설치

mdadm은 Ubuntu 기본 저장소에 포함되어 있어 쉽게 설치할 수 있습니다:

sudo apt update
sudo apt install mdadm

설치 중에 메일 알림 설정을 물어볼 수 있습니다. 이는 나중에 조정할 수 있으므로 초기에는 기본 설정을 그대로 두어도 됩니다.

3.3 RAID 1 어레이 생성

디스크가 확인되면 다음 명령으로 RAID 1 어레이를 생성합니다:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

명령 설명:

  • /dev/md0 : 새 RAID 장치의 이름
  • --level=1 : RAID 레벨 1(미러링) 지정
  • --raid-devices=2 : 어레이에 포함된 장치 수
  • /dev/sdb /dev/sdc : 실제 사용되는 디스크

생성 후 상태를 확인합니다:

cat /proc/mdstat

/dev/md0와 함께 동기화 정보가 표시되면 RAID 1 어레이가 성공적으로 생성된 것입니다.

3.4 영구 구성 (mdadm.conf 및 fstab)

재부팅 후 RAID 어레이가 인식되도록 영구 구성이 필요합니다.

먼저, 현재 RAID 구성을 저장합니다:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

다음으로, RAID 어레이에 파일 시스템을 생성합니다(예: ext4):

sudo mkfs.ext4 /dev/md0

마운트 지점을 만들고 마운트합니다:

sudo mkdir -p /mnt/raid1
sudo mount /dev/md0 /mnt/raid1

작동을 확인한 후, UUID를 사용해 /etc/fstab에 추가합니다:

sudo blkid /dev/md0

다음과 같은 항목을 추가합니다:

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /mnt/raid1 ext4 defaults 0 0

이렇게 하면 재부팅 후 RAID 1 어레이가 자동으로 마운트됩니다.

4. Ubuntu 설치 중 RAID 1 구성

4.1 Ubuntu Server 설치 프로그램 사용

Ubuntu Server 설치 프로그램은 RAID 및 LVM과 같은 고급 스토리지 구성을 지원합니다.

단계 1: 설치 미디어로 부팅
Ubuntu Server ISO로 부팅 가능한 USB를 만들고 대상 머신을 시작합니다.

단계 2: 기본 설정 완료
언어, 키보드 및 네트워크를 구성합니다.

단계 3: 스토리지 구성 진행
Guided 대신 Custom Storage Layout을 선택합니다.

단계 4: RAID 구성

  1. 두 개의 빈 디스크를 선택
  2. 파티션을 생성(e.g., /boot, swap, /)
  3. “Create Software RAID” 선택
  4. RAID 1을 선택하고 장치를 할당
  5. 파일 시스템과 마운트 지점을 지정

단계 5: GRUB 설치
시스템이 한 디스크가 고장 나도 부팅할 수 있도록 두 디스크 모두에 GRUB을 설치하는 것이 권장됩니다.

4.2 Ubuntu Desktop에서 RAID 사용

Ubuntu Desktop은 설치 프로그램에 RAID 구성을 포함하고 있지 않습니다. RAID 1을 사용하려면 다음 방법을 고려하십시오:

방법 1: 라이브 환경에서 수동으로 RAID 구축 → Desktop 설치

  1. Live USB로 부팅
  2. mdadm을 사용해 RAID 1 구축
  3. RAID 장치(e.g., /dev/md0)에 Ubuntu Desktop 설치
  4. grubfstab 설정 조정

이 방법은 더 많은 노력이 필요하지만 GUI 기반 RAID 사용에 높은 유연성을 제공합니다.

방법 2: RAID와 함께 Server 설치 → 나중에 GUI 추가

sudo apt update
sudo apt install ubuntu-desktop

This approach is stable and recommended when you want to add a GUI to a RAID-configured system.

데스크톱과 서버 중 선택

CriteriaServerDesktop
Ease of RAID Setup◎ Built-in installer support△ Manual setup required
GUI× (CLI-focused)◎ Included by default
Beginner Friendly△ Requires experience◎ Easy installation
Flexibility◎ Server-oriented○ Customizable

If RAID가 시스템의 핵심이라면, Ubuntu Server부터 시작하는 것이 가장 원활한 접근 방식입니다.

5. RAID 1 운영 및 문제 해결

5.1 RAID 상태 모니터링

Regular monitoring은 초기 장애 감지를 위해 필수적입니다:

cat /proc/mdstat

[UU]는 정상 작동을 나타내며, [_U]는 하나의 디스크가 누락되었음을 나타냅니다.

자세한 내용은:

sudo mdadm --detail /dev/md0

5.2 디스크 장애 처리 및 재구성

RAID 1은 하나의 디스크가 고장 나도 계속 작동할 수 있게 합니다.

단계 1: 고장 난 디스크 식별
“Removed” 또는 “Faulty” 상태를 확인하십시오.

단계 2: 고장 난 디스크 제거

sudo mdadm /dev/md0 --remove /dev/sdX

단계 3: 새 디스크 준비

sudo fdisk /dev/sdX

단계 4: 디스크를 추가하고 재구성을 시작

sudo mdadm /dev/md0 --add /dev/sdX

5.3 중복성을 위한 GRUB 설치

부팅 중복성을 보장하기 위해 두 디스크 모두에 GRUB를 설치하십시오:

sudo grub-install /dev/sdX
sudo update-grub

6. 하드웨어 RAID 사용

6.1 하드웨어 RAID란?

하드웨어 RAID는 전용 컨트롤러를 사용해 RAID 작업을 관리하며, 높은 성능과 낮은 CPU 부하를 제공합니다.

6.2 Ubuntu에서 하드웨어 RAID의 장단점

장점:

  • 낮은 CPU 사용량
  • OS에 독립적인 구성
  • 빠른 복구 및 핫스와핑 지원

단점:

  • RAID 카드가 고장 나면 복구가 어렵습니다
  • 유연성이 낮습니다
  • 비용이 높습니다

6.3 하드웨어 RAID 상태 확인

하드웨어 RAID 어레이는 단일 블록 장치로 나타납니다. 상태는 공급업체 유틸리티를 사용해 확인해야 합니다.

7. 자주 묻는 질문 (FAQ)

Q1. RAID 1이 백업을 대체할 수 있나요?

아니오. RAID 1은 디스크 장애로부터 보호하지만, 삭제나 손상으로 인한 데이터 손실을 방지하지는 않습니다.

Q2. 하나의 디스크가 고장 나면 어떻게 되나요?

시스템은 남은 디스크를 사용해 계속 작동합니다.

Q3. Ubuntu Desktop에서 RAID 1을 사용할 수 있나요?

예, 하지만 설정은 수동으로 해야 합니다.

Q4. RAID 상태를 어떻게 확인하나요?

cat /proc/mdstat
sudo mdadm --detail /dev/md0

Q5. 디스크 교체 후 GRUB를 다시 설치해야 하나요?

예, 교체된 디스크에 GRUB를 설치해야 합니다.

8. 결론

RAID 1은 중복성에 관한 것입니다

RAID 1은 실시간 데이터 복제를 제공하여 디스크 장애 발생 시에도 시스템이 계속 운영될 수 있게 합니다.

Ubuntu에서의 RAID 옵션

mdadm 기반 소프트웨어 RAID는 대부분의 Ubuntu 사용자에게 가장 실용적인 선택입니다.

유지보수가 신뢰성을 결정합니다

정기적인 모니터링, 올바른 GRUB 설정, 적절한 백업은 장기적인 안정성을 위해 필수적입니다.

Ubuntu와 mdadm을 사용하면 명령줄 도구만으로도 RAID 1을 간단히 구축할 수 있습니다. 이 가이드를 활용해 견고하고 신뢰할 수 있는 Linux 환경을 만들세요.