Grub2를 사용하여 Linux mdraid 전체 장치 RAID6 부팅

Grub2를 사용하여 Linux mdraid 전체 장치 RAID6 부팅

Linux mdraid는 장치 RAID(파티션 RAID와 반대)를 지원합니다. 새로운 슈퍼블록 버전은 또한 디스크 시작 부분에 메타데이터를 넣지 않을 만큼 똑똑합니다. 이는 MBR에 grub2를 설치하고 GRUB2를 사용하여 전체 장치 RAID6을 부팅할 수 있다는 의미입니까?

가능하다면 어떤 배포판 설치 프로그램을 사용하여 이 작업을 수행할 수 있습니까? Debian 또는 Ubuntu를 설치할 때는 이 옵션을 사용할 수 없습니다. 수동으로 수행할 수 있다는 것을 알고 있지만 기본 제공 솔루션이 더 좋습니다.

답변1

직접 시도해본 적은 없지만 Grub2가 RAID-6을 지원하더라도(맞나요?) 몇 가지 제한 사항이 있을 것이라고 가정합니다.

core.imgGrub2가 제대로 작동하려면 일반적으로 크기가 30K인 파일을 (적어도) 로드해야 합니다 . 그러나 전체 디스크 mdadm 설정( 1.2메타데이터 사용)은 4K의 여유 공간만 제공합니다. 그래서 삽입할 공간이 없습니다 core.img.

core.img이 경우 Grub2는 파일 시스템에서 물리적으로 위치한 드라이브 에 직접 매핑하려고 합니다 . 이론적으로는 core.img전체 어딘가에 있어야 하기 때문에 RAID-6에서도 이 작업을 수행할 수 있습니다(블록 크기가 32K 미만이 아닌 한). 이렇게 하면 Grub2가 이를 로드하고 시작할 수 있지만, 이 단계에서는 중복성이 없으므로 디스크에 장애가 발생하지 않는 경우에만 가능합니다.

RAID를 사용하면 일반적으로 디스크에 오류가 발생하더라도 상자가 계속 작동하고 부팅을 계속하기를 원하므로 이는 만족스러운 솔루션이 아닙니다.

따라서 안정성을 원한다면 최소한 디스크를 분할하여 삽입할 수 있는 충분한 여유 공간을 확보해야 합니다 core.img. 개인적으로 저는 좀 더 구식이며 /bootRAID-1 모드를 위해 각 디스크에 작은 파티션을 만듭니다( 0.90또는 1.0RAID를 지원하지 않는 부트로더라도 읽을 수 있도록 메타데이터를 저장합니다.) 어떤 이유로 RAID 성능이 저하되더라도 최소한 장치가 최소한의 initramfs 환경으로 부팅되도록 허용합니다.

답변2

이것은 작은 일이 아닌 것 같습니다. GRUB 2가 그렇게 한다고 하지만,이전 버전에서는 어레이를 다운그레이드하는 데 문제가 있습니다., 어떤 버전의 Debian 패키지가 이 문제를 해결하는지 확실하지 않습니다. 이것업스트림 오류그들은 그것이 고쳐졌다고 가정했지만,데비안 오류그다지 유망하지는 않습니다.

그렇기 때문에 지금은 /boot에 RAID-1을 사용하는 것이 좋습니다. 이에 대해서는 나중에 수행하겠습니다.

관련 정보