기술 가이드

Fedora 8에서 RAID1으로 /dev/sda 준비하기 및 GRUB 업데이트

3 min read 시스템 관리 업데이트됨 01 Oct 2025
Fedora 8에서 RAID1: /dev/sda 준비 및 GRUB 업데이트
Fedora 8에서 RAID1: /dev/sda 준비 및 GRUB 업데이트

준비 확인

먼저 현재 파일시스템과 소프트웨어 RAID 상태를 확인합니다. 다음 명령은 루트와 부트 파티션의 마운트를 보여줍니다:

df -h

출력 예시(변경하지 마십시오):

[root@server1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/md2              4.4G  2.4G  1.8G  58% /  
/dev/md0               99M   15M   80M  16% /boot  
tmpfs                 185M     0  185M   0% /dev/shm  
[root@server1 ~]#

그리고 소프트웨어 RAID 상태는 다음으로 확인합니다:

cat /proc/mdstat

출력 예시:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sdb1[1]  
      104320 blocks [2/1] [_U]  
  
md1 : active raid1 sdb2[1]  
      513984 blocks [2/1] [_U]  
  
md2 : active raid1 sdb3[1]  
      4618560 blocks [2/1] [_U]  
  
unused devices:   
[root@server1 ~]#

위 상태에서 /dev/sda의 파티션 타입을 변경하고, /dev/sdaN 파티션을 각 md 장치에 추가하는 것이 목표입니다.

1) /dev/sda 파티션 타입을 Linux raid autodetect로 변경

fdisk로 /dev/sda를 열어 각 파티션의 타입을 fd(Linux raid autodetect)로 바꿉니다. 순서대로 1, 2, 3 파티션을 변경하세요.

fdisk /dev/sda

예시 상호작용(입력은 <– 뒤에 표시된 값):

[root@server1 ~]# fdisk /dev/sda

Command (m for help): <-- t  
Partition number (1-4): <-- 1  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 1 to fd (Linux raid autodetect)

Command (m for help): <-- t  
Partition number (1-4): <-- 2  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 2 to fd (Linux raid autodetect)

Command (m for help): <-- t  
Partition number (1-4): <-- 3  
Hex code (type L to list codes): <-- fd  
Changed system type of partition 3 to fd (Linux raid autodetect)

Command (m for help): <-- w  
The partition table has been altered!

시스템이 파티션 테이블을 다시 읽도록 ioctl 호출과 디스크 동기화 메시지가 나타납니다.

Calling ioctl() to re-read partition table.  
Syncing disks.  
[root@server1 ~]#

중요: 운영 중인 시스템에서 파티션 테이블을 변경하면, 드라이브가 사용 중일 경우 위험이 있으므로 변경 전에 백업과 유효성 검사를 권장합니다.

2) /dev/sdaN을 RAID에 추가

각 파티션을 해당 md 레이드에 추가합니다:

mdadm --add /dev/md0 /dev/sda1  
mdadm --add /dev/md1 /dev/sda2  
mdadm --add /dev/md2 /dev/sda3

추가 후 /proc/mdstat를 확인하면 동기화(recovery)가 시작된 것을 볼 수 있습니다:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0] sdb1[1]  
      104320 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      513984 blocks [2/2] [UU]  
  
md2 : active raid1 sda3[2] sdb3[1]  
      4618560 blocks [2/1] [_U]  
      [=====>...............]  recovery = 29.9% (1384256/4618560) finish=2.3min speed=22626K/sec  
  
unused devices:   
[root@server1 ~]#

실시간 모니터링을 원하면 다음을 사용하세요:

watch cat /proc/mdstat

watch에서 나오려면 Ctrl+C를 누릅니다.

3) 동기화 완료 확인

동기화가 끝나면 /proc/mdstat 출력이 모두 [UU] 상태로 바뀝니다:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0] sdb1[1]  
      104320 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      513984 blocks [2/2] [UU]  
  
md2 : active raid1 sda3[0] sdb3[1]  
      4618560 blocks [2/2] [UU]  
  
unused devices:   
[root@server1 ~]#

4) /etc/mdadm.conf 업데이트

RAID 메타데이터를 기반으로 mdadm 설정을 다시 생성합니다:

mdadm --examine --scan > /etc/mdadm.conf

생성된 /etc/mdadm.conf는 배열 정의(ARRAY …)를 포함하게 됩니다. 예시:

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=2848a3f5:cd1c26b6:e762ed83:696752f9
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8a004bac:92261691:227767de:4adf6592
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=939f1c71:be9c10fd:d9e5f8c6:a46bcd49

중요: 부팅 시 mdadm가 올바른 장치를 조립하려면 이 파일이 부팅 환경에 반영되어야 합니다.

5) GRUB 설정 준비 및 수정

부팅 로더가 기존에 /dev/sdb(hd1)에서만 부팅하도록 설정되어 있으면 /dev/sdb 장애 시 부팅 불가 상태가 됩니다. /boot/grub/menu.lst(또는 /boot/grub/grub.conf)를 열어 첫 커널 스탠자를 복사해 hd1을 hd0으로 바꿔 추가합니다. 나머지 커널 스탠자는 주석 처리해 기본과 fallback 엔트리를 확보하세요.

예시 파일 편집:

vi /boot/grub/menu.lst

(파일 내용 예시 — 그대로 유지)

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda3
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
fallback=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
        root (hd1,0)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet
        initrd /initrd-2.6.23.1-42.fc8.img

title Fedora (2.6.23.1-42.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/md2 rhgb quiet
        initrd /initrd-2.6.23.1-42.fc8.img

#title Fedora (2.6.23.1-42.fc8)
#       root (hd0,0)
#       kernel /vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/ rhgb quiet
#       initrd /initrd-2.6.23.1-42.fc8.img

이렇게 하면 첫 번째 항목이 hd1(원래 부트 디스크)에서 부팅하고, 두 번째 항목은 hd0(새 디스크)에서 부팅하도록 설정됩니다. 둘 다 동일한 커널과 initrd를 가리켜야 합니다.

6) initrd(램디스크) 업데이트 및 재부팅

현재 커널의 initrd를 백업하고 재생성한 뒤 시스템을 재부팅합니다:

mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img_orig2  
mkinitrd /boot/initrd-`uname -r`.img `uname -r`

재부팅:

reboot

정상적으로 부팅되면 작업이 완료된 것입니다.

점검 체크리스트

  • /proc/mdstat에서 모든 md 장치가 [UU] 상태인지 확인
  • /etc/mdadm.conf가 새 ARRAY 라인을 포함하는지 확인
  • /boot/grub/menu.lst 또는 grub.conf에 hd0, hd1 모두에 대한 부팅 엔트리가 있는지 확인
  • mkinitrd로 재생성한 initrd가 /boot에 존재하는지 확인
  • 재부팅 후 콘솔에서 부팅 장치가 올바르게 선택되는지 확인

대안 및 실패 시 대처

  • 만약 파티션 표 변경 중 문제가 발생하면 즉시 변경 전 백업을 복원하세요. 라이브 USB를 사용해 시스템을 오프라인 상태에서 복구할 수 있습니다.
  • GRUB이 부팅하지 않으면 복구 콘솔에서 GRUB 설치(예: grub-install)를 다시 실행하거나 BIOS 부팅 순서를 확인하세요.
  • RAID 동기화가 느리거나 중지되면 syslog(/var/log/messages)와 dmesg를 확인해 디스크 오류 여부를 점검하세요.

간단 용어

  • mdadm: 리눅스 소프트웨어 RAID를 관리하는 도구(어셈블, 추가, 모니터링 등에 사용).
  • initrd: 커널이 초기 부팅 시 사용하는 초기 램디스크 이미지.
  • hd0/hd1: GRUB에서의 디스크 인덱스(hd0 = 첫번째 BIOS 디스크).

요약

이 가이드는 실행 중인 Fedora 8 시스템에 대해 /dev/sda의 파티션 타입을 RAID로 변경하고, 해당 파티션들을 md 디바이스에 추가해 동기화를 진행한 뒤 mdadm 설정과 GRUB을 업데이트해서 이중 부팅 가능한 RAID1 구성을 완성하는 절차를 설명합니다.

요약 체크포인트:

  • 파티션 타입을 fd로 변경
  • mdadm –add로 파티션을 RAID에 추가
  • 동기화 완료 후 /etc/mdadm.conf 갱신
  • GRUB에 hd0 엔트리 추가 및 initrd 재생성
  • 재부팅 후 정상 부팅 확인

중요: 생산 환경 변경 전 전체 백업을 권장합니다.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Windows 11 DISM 복구 가이드
Windows 관리

Windows 11 DISM 복구 가이드

Windows 11 KB5063878 제거 오류 0x800f0905 해결
Windows

Windows 11 KB5063878 제거 오류 0x800f0905 해결

Windows 11 랜섬웨어 보호 활성화 및 운영 가이드
보안

Windows 11 랜섬웨어 보호 활성화 및 운영 가이드

Sprint 세일로 iPhone SE 2020 무료 받는 법
스마트폰

Sprint 세일로 iPhone SE 2020 무료 받는 법

Mac에서 삭제 파일 복구 — Stellar 사용법
데이터 복구

Mac에서 삭제 파일 복구 — Stellar 사용법

Windows 11 화면 깜빡임 해결 가이드
Windows 문제해결

Windows 11 화면 깜빡임 해결 가이드