Miscellany
   
  Software RAID를 boot disk로 사용할 때 failure recovery 방법
  Writer : Seyeon Weon     Date : 01-23     Hit : 10967    
  트랙백 주소 : http://www.bioinformatics.pe.kr/gnuboard/bbs/tb.php/misc/7
(CentOS에서 테스트 해 보았으며, Fedora 및 다른 Linux distribution들에서도 유사할 것임.)

Recommended setting

  • 우선, boot partition의 경우에는 raid1만 작동함.
  • /boot는 따로 잡지 않으며, hard disk 전체를 / 으로 잡을 것.
  • swap partition은 잡지 않고, swap file을 / 에 만들 것

swap file 잡는 방법 (5GB의 경우)


              # dd if=/dev/zero of=/swapfile bs=1024 count=5000000
              # mkswap /swapfile 5000000
              # sync
              # swapon /swapfile

              /etc/fstab에
              /swapfile    swap    swap    defaults    0 0
              을 추가함.


두번째 hard disk, 즉 /dev/sdb에 있던 hard disk가 부팅 시 BIOS에 의해서 자동으로 /dev/sda로 옮겨졌을 때에도 부팅이 가능하도록 다음 명령 실행

              anaconda에서 이것을 해주지 않으므로 OS 설치 후에 반드시 실행 해주어야 함.
              두번째 hard disk로 새로 장착한 disk에도 반드시 실행을 해주어야 함.

              # grub
              grub> device (hd0) /dev/sdb
              grub> root (hd0,0)
              grub> setup (hd0)

              만약 이미 부팅이 시도되어 GRUB 에러가 떠있는 상태라면, 리눅스 설치 CD로 "linux rescue" 모드로 재부팅 한 뒤에 아래 명령을 실행함.
              이때는 이미 /dev/sda로 자동 변경이 되어 있으므로, "device (hd0) /dev/sdb" line이 필요없게 됨.

              # grub
              grub> root (hd0,0)
              grub> setup (hd0)


두번째 disk, 즉 /dev/sdb가 고장난 경우
  1. 고장난 hard disk를 빼고 새 hard disk를 /dev/sdb에 장착하고 다시 부팅을 함.
  2. 아래에 설명한 RAID rebuild를 수행.
  3. 위에 설명한 GRUB 설치를 새로 설치한 hard disk에도 해주어야 함.

첫번째 disk, 즉 /dev/sda가 고장난 경우

  1. 원래 /dev/sdb에 있던 hard disk, 즉 고장나지 않은 hard disk를 /dev/sda로 옮기고, 새 hard disk를 /dev/sdb에 장착한 뒤에 부팅
  2. 아래에 설명한 RAID rebuild를 수행.
  3. 위에 설명한 GRUB 설치를 새로 설치한 hard disk에도 해주어야 함.

RAID rebuild

새로 hard disk를 장착한 뒤에 raid1을 rebuild 하는 방법은 아래와 같음. (/dev/sdb가 새로 설치한 hard disk)
  1. 우선, partition table을 새 hard disk로 복사함. (sda와 sdb를 혼동하는 실수를 하지 않도록 주의)
             #sfdisk -d /dev/sda > partitions.sda
             #sfdisk /dev/sdb < partitions.sda
  2. 새 hard disk를 raid1에 추가함.
        
    # mdadm --manage /dev/md0 --add /dev/sdb1
  3. 만약 진행 상황을 보고 싶다면,
             # watch cat /proc/mdstat
    을 실행함.

끝.



그밖의 정보들

GRUB 삭제
    # dd if=/dev/zero of=/dev/sdX bs=512 count=1
    Just remove MBR, without the partition table:
    # dd if=/dev/zero of=/dev/sdX bs=446 count=1

Manually rescan sata hard disk for hot plugin

    # echo "- - -" > /sys/class/scsi_host/hostX/scan

Manually creating raid device entries

   # mknod /dev/md0 b 9 0
   # mknod /dev/md1 b 9 1

Creating mdadm.conf

   # mdadm --detail --scan >> /etc/mdadm.conf


sata의 hot plugin 기능을 사용하면 컴퓨터를 shutdown 하지 않고 hard disk 교체가 가능하나 외부에서 탈착이 가능한 형태가 아닌 경우에는 매우 위험한 일임.