하드웨어 교체 · 3 min read · Dec 25, 2025

소프트웨어 RAID1 배열에서 고장난 하드 드라이브 교체하기

이 가이드는 리눅스 RAID1 배열(소프트웨어 RAID)에서 고장난 하드 드라이브를 제거하고, 데이터를 잃지 않고 RAID1 배열에 새 하드 디스크를 추가하는 방법을 보여줍니다.

참고: 이 튜토리얼의 새로운 버전이 있으며, GPT 파티션을 지원하기 위해 sfdisk 대신 gdisk를 사용합니다.

1. 사전 참고사항

이 예제에서는 /dev/sda와 /dev/sdb라는 두 개의 하드 드라이브가 있으며, 파티션은 /dev/sda1, /dev/sda2, /dev/sdb1, /dev/sdb2입니다.

/dev/sda1과 /dev/sdb1은 RAID1 배열 /dev/md0을 구성합니다.

/dev/sda2와 /dev/sdb2는 RAID1 배열 /dev/md1을 구성합니다.

/dev/sda1 + /dev/sdb1 = /dev/md0
/dev/sda2 + /dev/sdb2 = /dev/md1

/dev/sdb가 고장났으며, 이를 교체하고자 합니다.

2. 하드 디스크가 고장났는지 확인하는 방법

디스크가 고장났다면, 로그 파일(예: /var/log/messages 또는 /var/log/syslog)에서 많은 오류 메시지를 발견할 수 있습니다.

또한 다음 명령어를 실행할 수 있습니다:

cat /proc/mdstat

이때 [UU] 문자열 대신 [U_]가 표시되면 RAID1 배열이 손상된 것입니다.

3. 고장난 디스크 제거하기

/dev/sdb를 제거하기 위해 /dev/sdb1과 /dev/sdb2를 고장으로 표시하고 각 RAID 배열(/dev/md0 및 /dev/md1)에서 제거합니다.

먼저 /dev/sdb1을 고장으로 표시합니다:

mdadm --manage /dev/md0 --fail /dev/sdb1

다음 명령어의 출력은 다음과 같아야 합니다:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[2](F)  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

그런 다음 /dev/sdb1을 /dev/md0에서 제거합니다:

mdadm --manage /dev/md0 --remove /dev/sdb1

출력은 다음과 같아야 합니다:

server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1  
mdadm: hot removed /dev/sdb1

그리고

cat /proc/mdstat

다음과 같이 표시되어야 합니다:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

이제 /dev/sdb2(이것은 /dev/md1의 일부입니다)에 대해 같은 단계를 반복합니다:

mdadm --manage /dev/md1 --fail /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[2](F)  
      24418688 blocks [2/1] [U_]  
  
unused devices: 
mdadm --manage /dev/md1 --remove /dev/sdb2
server1:~# mdadm --manage /dev/md1 --remove /dev/sdb2  
mdadm: hot removed /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0]  
      24418688 blocks [2/1] [U_]  
  
unused devices: 

그런 다음 시스템을 종료합니다:

shutdown -h now

그리고 오래된 /dev/sdb 하드 드라이브를 새 것으로 교체합니다(새 드라이브는 최소한 이전 드라이브와 같은 크기여야 하며, 이전 드라이브보다 몇 MB만 작으면 배열 재구성이 실패합니다).

4. 새 하드 디스크 추가하기

하드 디스크 /dev/sdb를 교체한 후 시스템을 부팅합니다.

이제 우리가 해야 할 첫 번째 작업은 /dev/sda와 동일한 파티션을 만드는 것입니다. 이는 간단한 명령어로 수행할 수 있습니다:

sfdisk -d /dev/sda | sfdisk /dev/sdb

다음으로

fdisk -l

명령어를 실행하여 두 하드 드라이브가 이제 동일한 파티션을 가지고 있는지 확인할 수 있습니다.

그런 다음 /dev/sdb1을 /dev/md0에 추가하고 /dev/sdb2를 /dev/md1에 추가합니다:

mdadm --manage /dev/md0 --add /dev/sdb1
server1:~# mdadm --manage /dev/md0 --add /dev/sdb1  
mdadm: re-added /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
server1:~# mdadm --manage /dev/md1 --add /dev/sdb2  
mdadm: re-added /dev/sdb2

이제 두 배열(/dev/md0 및 /dev/md1)이 동기화됩니다. 다음 명령어를 실행하여 완료될 때까지 확인합니다:

cat /proc/mdstat

동기화 중 출력은 다음과 같을 것입니다:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  9.9% (2423168/24418688) finish=2.8min speed=127535K/sec  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  6.4% (1572096/24418688) finish=1.9min speed=196512K/sec  
  
unused devices: 

동기화가 완료되면 출력은 다음과 같을 것입니다:

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

이제 완료되었습니다. /dev/sdb를 성공적으로 교체했습니다!

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.