기술 가이드

GRUB 설치 및 /dev/sda RAID1 설정 가이드

3 min read 시스템 관리 업데이트됨 27 Sep 2025
GRUB 설치 및 /dev/sda RAID1 설정 가이드
GRUB 설치 및 /dev/sda RAID1 설정 가이드

정의: RAID1 — 두 개의 디스크에 동일한 데이터를 복제해 가용성과 내구성을 높이는 미러링 방식.

6 GRUB 준비

이제 두 번째 하드디스크 (/dev/sdb)에 GRUB 부트로더를 설치해야 합니다. GRUB 셸에서 아래 명령들을 입력합니다.

grub

GRUB 셸에서 다음을 입력:

root (hd0,0)

다음과 같은 응답을 볼 수 있습니다:

grub> root (hd0,0)  
 Filesystem type is ext2fs, partition type 0x83  
  
grub>

GRUB에 부트로더를 설치합니다:

setup (hd0)

출력 예시:

grub> setup (hd0)  
 Checking if "/boot/grub/stage1" exists... no  
 Checking if "/grub/stage1" exists... yes  
 Checking if "/grub/stage2" exists... yes  
 Checking if "/grub/e2fs_stage1_5" exists... yes  
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.  
succeeded  
 Running "install /grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded  
Done.  
  
grub>

같은 절차를 두 번째 디스크에 대해 반복합니다:

root (hd1,0)

응답 예시:

grub> root (hd1,0)  
 Filesystem type is ext2fs, partition type 0xfd  
  
grub>

그리고:

setup (hd1)

출력 예시:

grub> setup (hd1)  
 Checking if "/boot/grub/stage1" exists... no  
 Checking if "/grub/stage1" exists... yes  
 Checking if "/grub/stage2" exists... yes  
 Checking if "/grub/e2fs_stage1_5" exists... yes  
 Running "embed /grub/e2fs_stage1_5 (hd1)"...  16 sectors are embedded.  
succeeded  
 Running "install /grub/stage1 (hd1) (hd1)1+16 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded  
Done.  
  
grub>

마지막으로 GRUB 셸을 종료합니다:

quit

정상 셸로 돌아와 시스템을 재부팅합니다. RAID 배열에서 정상적으로 부팅되는지 확인하세요.

reboot

중요: 시스템이 제대로 부팅되지 않으면 복구 콘솔로 들어가 GRUB 설정과 /boot 파티션의 무결성을 먼저 확인하세요.

7 /dev/sda 준비

정상적으로 진행되었다면, 아래 명령으로 /dev/md0가 생성되어 마운트되었는지 확인합니다.

df -h

출력 예시:

[root@server1 ~]# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/VolGroup00-LogVol00  
                      4.1G  2.0G  1.9G  51% /  
/dev/md0              190M   16M  165M   9% /boot  
tmpfs                 151M     0  151M   0% /dev/shm  
[root@server1 ~]#

/proc/mdstat 출력은 다음과 유사해야 합니다:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sdb1[1]  
      200704 blocks [2/1] [_U]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      5036288 blocks [2/2] [UU]  
  
unused devices:   
[root@server1 ~]#

그리고 pvdisplay, vgdisplay, lvdisplay의 출력도 아래 예시와 비슷해야 합니다 (원본 출력 보존):

pvdisplay
[root@server1 ~]# pvdisplay  
  --- Physical volume ---  
  PV Name               /dev/md1  
  VG Name               VolGroup00  
  PV Size               4.80 GB / not usable 22.25 MB  
  Allocatable           yes  
  PE Size (KByte)       32768  
  Total PE              153  
  Free PE               1  
  Allocated PE          152  
  PV UUID               pS3xiy-AEnZ-p3Wf-qY2D-cGus-eyGl-03mWyg  
  
[root@server1 ~]#
vgdisplay
[root@server1 ~]# vgdisplay  
  --- Volume group ---  
  VG Name               VolGroup00  
  System ID  
  Format                lvm2  
  Metadata Areas        1  
  Metadata Sequence No  9  
  VG Access             read/write  
  VG Status             resizable  
  MAX LV                0  
  Cur LV                2  
  Open LV               2  
  Max PV                0  
  Cur PV                1  
  Act PV                1  
  VG Size               4.78 GB  
  PE Size               32.00 MB  
  Total PE              153  
  Alloc PE / Size       152 / 4.75 GB  
  Free  PE / Size       1 / 32.00 MB  
  VG UUID               jJj1DQ-SvKY-6hdr-3MMS-8NOd-pb3l-lS7TA1  
  
[root@server1 ~]#
lvdisplay
[root@server1 ~]# lvdisplay  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol00  
  VG Name                VolGroup00  
  LV UUID                yt5b4f-m2XC-F3aP-032r-ulAT-Re5P-lmh6hy  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                4.16 GB  
  Current LE             133  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:0  
  
  --- Logical volume ---  
  LV Name                /dev/VolGroup00/LogVol01  
  VG Name                VolGroup00  
  LV UUID                VrPqpP-40ym-55Gs-ShVm-Hlzs-Jzot-oYnonY  
  LV Write Access        read/write  
  LV Status              available  
  # open                 1  
  LV Size                608.00 MB  
  Current LE             19  
  Segments               1  
  Allocation             inherit  
  Read ahead sectors     0  
  Block device           253:1  
  
[root@server1 ~]#

다음으로 /dev/sda1의 파티션 타입을 Linux raid autodetect로 변경합니다:

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): <- w  
The partition table has been altered!  
  
Calling ioctl() to re-read partition table.  
  
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.  
The kernel still uses the old table.  
The new table will be used at the next reboot.  
Syncing disks.  
[root@server1 ~]#

이제 /dev/sda1을 /dev/md0 RAID 배열에 추가합니다:

mdadm --add /dev/md0 /dev/sda1

상태를 다시 확인합니다:

cat /proc/mdstat

정상 상태라면 아래와 같은 출력이 나타납니다:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0] sdb1[1]  
      200704 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      5036288 blocks [2/2] [UU]  
  
unused devices:   
[root@server1 ~]#

마지막으로 /etc/mdadm.conf를 최신 상태로 갱신합니다:

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

/etc/mdadm.conf는 다음과 유사합니다:

cat /etc/mdadm.conf

| ARRAY /dev/md0 level=raid1 num-devices=2 UUID=7d2bf9c3:7cd9df21:f782dab8:9212d7cb ARRAY /dev/md1 level=raid1 num-devices=2 UUID=d93a2387:6355b5c5:25ed3e50:2a0e4f96 |

시스템을 재부팅합니다:

reboot

문제가 없다면 이제 RAID1 위에 LVM을 가진 시스템에서 두 디스크에 GRUB를 설치해, 어느 쪽에서든 부팅이 가능해졌습니다.

체크리스트 (실무용)

  • /dev/md0가 /boot로 올바르게 마운트되었는가?
  • pvdisplay, vgdisplay, lvdisplay 출력이 정상적인가?
  • /dev/sda 파티션 타입이 fd로 변경되었는가?
  • mdadm –add로 디스크를 추가했는가?
  • /etc/mdadm.conf를 갱신했는가?
  • 두 디스크에 모두 GRUB를 설치했는가?

대안 접근법

  • GRUB2를 사용하는 경우 명령과 경로가 다릅니다(예: grub-install). GRUB1(grub) 예시는 레거시 환경에 해당합니다.
  • UEFI 시스템이면 efibootmgr와 ESP(EFI System Partition)를 사용해야 합니다.
  • 하드웨어 RAID가 가능하면 소프트웨어 RAID 대신 하드웨어 RAID를 고려하세요.

문제 발생 시(언제 실패하는가)

  • 재부팅 후 부팅이 되지 않으면 먼저 라이브CD 또는 복구 모드로 부팅해 /boot 파티션과 GRUB 설치를 확인하세요.
  • fdisk 재읽기 실패(error 16)는 파티션 테이블이 커널에서 사용 중이기 때문에 재부팅 후 반영됩니다.
  • mdadm 배열이 재동기화 중이면 완전히 복구될 때까지 기다리세요.

간단한 방법론(요약 단계)

  1. 두 디스크에 동일한 파티션 레이아웃을 만드세요.
  2. mdadm으로 RAID1 디바이스를 생성하세요 (/dev/md0 등).
  3. /boot를 md0에 옮기고 /etc/fstab을 점검하세요.
  4. 각 디스크에 GRUB를 설치하세요(grub 셸 또는 grub-install).
  5. /dev/sda 파티션 타입을 fd로 변경하고 mdadm –add로 추가하세요.
  6. /etc/mdadm.conf를 갱신하고 재부팅하세요.

요약

  • 이 가이드는 동작 중인 LVM 시스템에 소프트웨어 RAID1을 적용하고, 두 디스크에 GRUB를 설치해 어느 디스크로도 부팅 가능하게 만드는 절차를 다룹니다. 주요 명령과 출력은 원본 상태로 보존되어 있으므로, 단계별로 실행하면 안전하게 구성할 수 있습니다.

요약 핵심: /dev/md0가 /boot로 마운트되어야 하고, 각 디스크에 GRUB를 설치한 후 /dev/sda를 RAID에 추가하면 부팅 이중화가 완성됩니다.

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

유사한 자료

Mac에서 비운 휴지통 복구: 단계별 가이드
데이터 복구

Mac에서 비운 휴지통 복구: 단계별 가이드

AI 요약의 가짜 전화번호 사기 방지 가이드
사이버 보안

AI 요약의 가짜 전화번호 사기 방지 가이드

안드로이드에서 iMessage 사용하기 — AirMessage 가이드
모바일 가이드

안드로이드에서 iMessage 사용하기 — AirMessage 가이드

Windows Server 2019 안전 모드로 부팅하는 방법
서버 관리

Windows Server 2019 안전 모드로 부팅하는 방법

Snapchat 바로가기 만들기 및 관리 가이드
소셜미디어

Snapchat 바로가기 만들기 및 관리 가이드

USB/IP 클라이언트 설치 및 사용 가이드
시스템관리

USB/IP 클라이언트 설치 및 사용 가이드