소프트 RAID 1에 GRUB을 올바르게 설치하는 방법은 무엇입니까?


21

내 설정에는 다음과 같은 방식으로 포맷 된 두 개의 디스크가 있습니다.

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

부팅 파티션은 / dev / md1의 루트 디렉토리 인 / dev / md0에 매핑됩니다. md0은 ext2로, md1은 XFS로 포맷됩니다. (SD 형식이 아닌 md 장치에서 형식을 지정해야한다는 것을 알고 있습니다.이 형식이 틀렸다면 알려주십시오.)

한 드라이브가 고장 나더라도 다른 드라이브가 여전히 부팅되도록 GRUB을 올바르게 설정하는 방법 그리고 대체로 교체 드라이브에도 GRUB이 자동으로 포함됩니까? 물론 가능하다면.

답변:


16

두 개의 디스크가있는 경우 /dev/sda/dev/sdb, 모두를 실행 grub-install /dev/sda하고 grub-install /dev/sdb. 그러면 두 드라이브 모두 단독으로 부팅 할 수 있습니다.

Grub 구성이와 같은 디스크를 하드 코딩하지 말고 (hd0)부팅 및 루트 파일 시스템의 UUID를 검색하십시오.

두 디스크를 RAID-1 어레이에있는 것으로 선언하여 두 디스크 grub-install모두에 자동으로 쓰 도록 Grub에서 지원하는 것을 알지 못합니다 . 즉 grub-install, 하나의 디스크를 교체하면 다시 실행해야합니다 . RAID 어레이에 새 구성원을 추가하는 것 외에해야 할 일이 하나 더 있습니다.


1
"Grub 구성이 (hd0)과 같은 디스크를 하드 코딩하지 말고 부팅 및 루트 파일 시스템의 UUID를 검색하십시오." 방법?
lifeofguenter

1
@lifeofguenter Withsearch
Gilles 'SO-stop


1
일부 시스템에서는 grub2-install대신에 grub-install있습니다.
ndemou

1
RAID는 디스크 수준이 아닌 파티션 수준에 있습니다. 만약 그렇다면 미러링도 MBR을 미러링하므로 문제가 없습니다.
Marcos Dione

3

나는 과거에 꽤 많은 서버 에서이 작업을 수행했으며 때로는 문제를 발견했습니다. 일반적으로 내가하는 일은 다음을 실행합니다.

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

내가 겪은 문제는 일반적으로 다음과 같은 오류 메시지와 함께 표시됩니다.

update-grub … update-grub failed with no such disk …

이 문제를 해결하려면

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

그리고 이것은 문제를 해결 한 것으로 보입니다-어떤 경우에는 테스트를 통해 제거 /sdv/sda하고 방금 /dev/sdb부팅 하는 데 사용 되었지만 이것이 이상적이지 않으며 대부분의 프로덕션 환경에서는 가능하지 않습니다!


0

CentOS 5 및 CentOS 6을 설치 한 경험은 설치 단계에서 그 당시에 RAID-1을 구성했다는 것입니다. 설치시이 옵션을 선택할 수 있습니다. 1. / dev / sda1을 1GB로 RAID 파티션으로 정의했습니다. 2. / dev / sdb1을 1GB로 RAID 파티션으로 정의했습니다. 3. / dev / sda1로 구성된 RAID 장치 / dev / md0을 생성했습니다. 및 / dev / sdb1 4. / dev / md0을 사용하여 / boot 파티션을 작성했습니다. 5. 1-3 단계를 사용하여 추가 파티션을 작성하십시오. 6. 다음 지시 사항에 따라 5 단계에서 작성된 파티션에 LVM을 구현하십시오.

초기 시스템 부팅 후 grub.conf에서 / dev / sda1 항목을 / dev / md0으로 변경했습니다. 그런 다음 스플래시 이미지 줄에 항목 (hd0,0)을 복사하고 처음에 #을 추가하고 (hd0,0)을 (hd1,0)으로 변경했습니다. / dev / sdb에 grub을 설치하는 방법을 보여주는 위의 답변을 보면 다음을 따르십시오. 부트 마운트 포인트가 / dev / md0을 사용하도록 fstab을 수정하십시오 (이 작업을 수행하면 yum 업데이트를 수행 할 때 / boot 파티션에 업데이트 된 내용이 / dev / sda1 및 / dev / sdb1 모두에 기록됨) ). / dev / sda 하드 드라이브 오류가 발생하면 복구를 사용하여 부팅하고 (hd0,0) 행을 주석 처리하고 (hd1,0) 행의 주석 처리를 제거해야합니다. 시스템이 부팅 가능해야합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.