소프트웨어 RAID에 GRUB를 설치하면 어떤 장점/단점이 있습니까?

소프트웨어 RAID에 GRUB를 설치하면 어떤 장점/단점이 있습니까?

무엇이점소프트웨어 RAID-1에 GRUB를 설치해야 합니까?

무엇결점소프트웨어 RAID-1에 GRUB를 설치해야 합니까?


대부분의 튜토리얼/도움말 섹션에서는 GRUB가 다음 위치에 있다고 가정하기 때문에 이 질문을 합니다.정상(즉, RAID가 아닌) 파티션.

그렇다면 소프트웨어 RAID 위에 GRUB를 설치하는 것에 반대하는 타당한 이유가 있습니까? 아니면 이것은 단지 컨벤션입니까?

아래의 모든 내용은 저의 부족한 지식을 반영한 것이며, 필연적으로 오류가 포함되어 있음을 알려드립니다. 오류를 발견하시면 정정이나 설명을 해주시면 감사하겠습니다. 감사합니다 :0)

그래서 개인적으로 RAID-1에 설치한 후 튜토리얼/복구 지침이 더 혼란스러워졌습니다. 예를 들어 fsck /dev/sda1 RAID가 아닌 시스템에서는 괜찮지만아니요단일 md 드라이브(AFAIK)에서 수행해야 하는 작업입니다.

제가 이해하는 바는 소프트웨어 RAID이기 때문에 첫 번째 부팅 드라이브에 오류가 발생하면 어쨌든 부팅이 중지된다는 것입니다. (IE는 md 드라이브를 관리하기에 충분한 OS가 로드될 때까지 실제로 초기에 RAID 드라이브로 로드되지 않기 때문에 RAID-1로만 부팅할 수 있습니다. 따라서 GRUB가 로드되면 첫 번째 드라이브에서만 데이터를 읽습니다)

답변1

Grub 2(Grub 1.9x라고도 함)는 기본적으로 Linux RAID-1을 지원합니다. Grub 1(Grub 0.9x 또는 Grub Legacy라고도 함)은 이를 지원하지 않지만 Grub은 디스크에서만 읽기 때문에 지원하는 척할 수 있습니다. 이는 RAID-1의 디스크 중 하나에서 읽는 것과 같지 않습니다. 배열을 가져오는 것은 배열에서만큼 좋습니다(성능을 제외하고 여기서는 중요하지 않습니다. 디스크 중 하나가 실패하지 않는 한 일반적으로 BIOS 디스크 순서를 변경하면 Grub이 실패하지 않은 디스크에서 읽게 됩니다).

따라서 부팅 디스크에 Grub을 설정하고 두 번째 시스템 디스크와 함께 Grub을 포함하는 파티션을 RAID-1 장치로 설정하면(Grub 1을 사용하여 grub-install각 디스크를 한 번 실행) 두 디스크 중 하나에 오류가 발생하더라도 시스템은 계속 부팅됩니다. 이는 RAID-1에 비해 Grub의 장점 중 하나이지만 큰 장점입니다.

RAID-1 설정에서 Grub을 사용해도 운영상의 부작용은 없습니다. 그러나 설치 비용이 발생할 수 있습니다. 많은 Linux 설치 프로그램이 중요한 설정을 시작하는 작업을 제대로 수행하지 못합니다. 수동으로 생성하거나 편집 해야 할 수도 있습니다 /boot/grub/device.map.

Grub Legacy로 시작하는 이전 문서에 Grub이 RAID를 지원하지 않는다고 나와 있는 경우가 있습니다. 사실이지만 위에서 쓴 것처럼 읽기 전용 RAID-1 지원이 무료로 제공됩니다(다른 RAID 모드도 사용 가능). 아직 Grub 2에 대한 모든 튜토리얼이 업데이트된 것은 아니며 Grub 2를 사용하더라도 설치 프로그램 지원이 항상 완전하지는 않습니다. 따라서 Grub 1을 RAID-1 어레이에 배치하는 것이 좋습니다. 하지만 배포판 설치 프로그램이 이를 지원하거나 Grub 구성을 쉽게 조작할 수 있는 경우에만 가능합니다(제대로 부팅하려면 CD에서 몇 번 부팅해야 할 수 있음).

답변2

RAID 장치의 성능이 저하되어도 시스템이 계속 부팅되므로 소프트웨어 RAID 장치(사용하는 경우)에 GRUB를 설치하는 것이 가장 좋습니다. RAID 장치의 일부가 아닌 경우 부팅 섹터에는 중복성이 없으며 하드 드라이브 오류 또는 파일 시스템 손상 시 부팅할 수 없게 될 수 있습니다. 소프트웨어 공격대에 GRUB를 설치하면 어떤 단점이 있는지 모르겠습니다.

아마도 대부분의 문서에서는 GRUB가 RAID 장치에 설치되지 않은 이유가 최근까지 이것이 불가능했기 때문이라고 가정합니다. 이전 버전의 GRUB에서는 이를 지원하지 않으며 앞으로도 지원하지 않을 것입니다. 하지만 GRUB 2도 작년쯤에 출시된 버전에서만 지원하기 시작했습니다.

더 자세히 설명하면 GRUB 2는 모듈식 방식으로 설계되었습니다. 따라서 GRUB는 부팅을 진행하기 전에 필요한 모듈(필요한 경우)을 로드하여 부팅 장치를 식별할 수 있는 충분한 기능을 추가했습니다. 다음은 RAID 1 grub-pc버전 1.99~20110112-1 위에 LVM을 사용하는 Debian squeeze의 2.6.32 커널에 대한 구성의 일부입니다 . raid장치는 RAID 1 장치 위에 있는 LVM 논리 볼륨이므로 부팅을 계속하기 전에 모듈을 로드합니다 .mdraid1xlvm

    insmod raid
    insmod mdraid1x
    insmod lvm
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(debian-boot)'
    search --no-floppy --fs-uuid --set=root 93ea47bb-16a1-4b52-a7eb-f17ea430d6cf
    echo    'Loading Linux 2.6.32-5-vserver-686-bigmem ...'
    linux   /vmlinuz-2.6.32-5-vserver-686-bigmem root=/dev/mapper/debian-root ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /initrd.img-2.6.32-5-vserver-686-bigmem

이는 테스트하기 쉬우므로 몇 가지 실험을 권장합니다.

답변3

나는 여기서 늙은 땅벌레에 대해 이야기하고 있습니다.

장점: 부팅 메뉴 변경 사항, 커널 업데이트 및 Init-RD가 두 디스크(또는 그 이상)에 자동으로 전송됩니다. 수동으로 복사할 필요가 없습니다.

반대로, raid 1을 설정할 때는 주의를 기울여야 합니다. 잘못된 순서로 이 작업을 수행하면 두 번째 디스크를 부팅할 수 없게 됩니다. 문제는 grub이 raid 장치를 사용할 수 없다는 것입니다. 따라서 대신 /dev/hdaN 또는 /dev/sdaN을 사용합니다. 그러나 현재 sda가 실패하면 이전 sdb는 sda가 됩니다.

해결 방법은 단일 파티션으로 설정하되 나중에 데이터 손실 없이 raid 1 메타 정보를 추가할 수 있도록 파티션 끝에 약간의 공간을 남겨 두는 것입니다.

첫 번째 디스크에 MBR을 설치하고 첫 번째 디스크에 grub을 설치합니다. dd를 사용하여 둘 다 두 번째 디스크에 복사합니다. 이후 Raid1이 설정되었습니다.

관련 정보