%3A%20%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20RAID%201%20%EC%84%A4%EC%B9%98%EA%B0%80%20grub%20%EC%98%A4%EB%A5%98%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20%EC%8B%A4%ED%8C%A8%ED%95%A8.png)
한동안 저는 RAID 1을 부팅 소스로 사용하여 새 서버 시스템을 설정하려고 했습니다. 해당 RAID는 2개의 4TB 하드디스크로 구성됩니다. 그래서 데비안 12의 설치 이미지로 준비한 USB 스틱으로 부팅합니다. 처음에는 모든 것이 정상적으로 실행됩니다. 네트워크를 구성하고 처음 두 명의 사용자를 생성합니다. 파티션 부분은 수동 방식을 선택합니다.
다음 표에는 4TB 드라이브 2개와 USB 부팅 장치인 하드디스크 SCSI9가 비상용 예비용이므로 여기서는 사용하지 않겠습니다. 소프트웨어 RAID를 구성하기로 선택했습니다.
MD 장치 생성을 선택했습니다.
나는 RAID 1을 선택한다
2개의 RAID 장치
0 예비 장치
다시 한 번 파티셔닝으로 돌아갑니다. 이번에는 안내 모드를 선택했습니다.
한 파티션의 모든 파일
1~2분 후에 새로운 분할된 RAID가 나타납니다. 유망해 보이는데...
변경 사항을 확인하면 시스템이 나머지 OS와 모든 유틸리티를 가져와 설치하기 시작합니다. 이 프로세스는 훌륭하게 설계되었으며 지금까지 매우 간단합니다. 유일한 문제는 끝나지 않는다는 것입니다. :-( GRUB 설치(2시간 후)에 관해서는 죽습니다... 나는 이 지점을 넘어설 방법을 찾지 못했습니다.내 실수는 무엇이며 어떻게 해결할 수 있습니까??
광범위한 인터넷 검색 결과를 바탕으로 다양한 변형을 시도했지만 모두 동일한 결과가 나왔습니다.. 이것이 가장 유망한 방법이었습니다. 설치 프로세스의 일부를 건너뛰고 mdadm을 사용하여 수동으로 어레이를 생성하는 것입니다. https://www.server-world.info/en/note?os=Debian_12&p=raid1
첨가
답변1
4T에는 GPT를 사용해야 하며 둘 다 전체 디스크 파티션 가능 RAID를 제대로 가질 수 없습니다.그리고부팅하기 위해 BIOS에서 디스크를 인식할 수 있도록 만듭니다(EFI에서는 엄격히 불가능하며 레거시에서는 엄격하지는 않지만 알고 싶지 않은 어둠의 마법이 필요합니다).
(데비안 설치 프로그램이 이 계획을 받아들인다는 것은 부끄러운 일입니다. 그렇게 해서는 안 됩니다. 엄격하게 유효하지 않으며 작동할 수도 없습니다.)
이는 GPT 파티션 테이블이 실제로 장치의 시작과 끝 부분에 모두 저장되기 때문입니다. 전체 디스크 RAID가 사용되고 적절한 MD 메타데이터 해석 없이 표시되면 두 GPT 복사본이 동시에 발생하지 않습니다.
- v1.0 MD 슈퍼블록의 경우 두 번째 GPT(끝 부분)가 누락됩니다(BIOS가 예상하지 않는 위치로 더 일찍 이동됨).
- v1.1 및 v1.2 MD 슈퍼블록의 경우 첫 번째 GPT(처음)가 이동되어 펌웨어가 이를 찾을 수 없습니다.
어느 쪽이든 디스크에 유효한 파티션 테이블이 있는 것으로 인식하지 못하고 해당 디스크에서 부팅하는 것을 거부합니다.
게다가 UEFI로 부팅하려면 EFI 펌웨어에는 ESP가 소프트웨어 RAID일 수 있다는 단서가 없다는 점을 알아야 합니다(사양에는 이에 대한 내용이 없습니다). 그래서는 안됩니다. ESP는 항상 단순한 GPT 파티션이어야 합니다.
따라서 이 문제를 해결하려면 RAID를 구축한 다음 파티셔닝하는 대신 먼저 디스크를 파티셔닝한 다음 일부 파티션을 RAID로 수집합니다. 이것이 논란의 여지가 있지만 다음과 같은 계획을 제안합니다.
- EFI 설치의 경우: 511MiB(기본 오프셋 1MiB)의 ESP(유형 1), Linux RAID 유형의 /boot에 512MiB, 나머지 Linux RAID 유형에 대한 나머지(실수하지 않은 경우 fdisk의 유형 29입니다.) ).
- 레거시 설치의 경우: 1MiB(유형 4 - biosgrub), 510MiB 부팅(RAID) 및 나머지 RAID.
그런 다음 두 개의 RAID(/boot 및 나머지)를 생성하고 ESP 중 하나를 "ESP"로 선택합니다. 설치 후 두 번째 디스크에서 부팅을 활성화합니다. 그런 다음 큰 RAID에 LVM을 생성하여 파일 시스템을 보관합니다. 거기에서 스왑 볼륨, 루트 FS 볼륨을 생성할 수 있습니다(Debian의 경우 30GiB이면 충분하며 즉시 확장하기 쉽습니다. 모든 데이터를 마운트된 다른 전용 볼륨에 배치한다는 점에 유의하세요. 루트 볼륨에 애플리케이션 데이터를 저장하는 것은 좋지 않습니다) ). 나머지는 시스템 수명 동안 필요에 따라 생성될 수 있습니다.
그런 다음 평소대로 시스템을 설치합니다. ESP 파티션에 FAT32를 생성해야 합니다. 데비안 11 설치 프로그램에는 문제가 있어서 수동으로 만들어야 했습니다. 12번은 설치를 하지 않고 업그레이드만 했기 때문에 잘 모르겠습니다. 부트로더 설치에 관해서는 EFI에 제안된 대로 수행하지만 레거시에서는 이 단계를 반복하고 두 번 설치하여 두 번째에서 두 번째 디스크를 선택하면 즉시 중복 부팅이 가능합니다.
EFI의 경우 첫 번째 시스템 부팅 후 두 번째 "ESP" 파티션에 파일 FAT32 파일 시스템을 수동으로 생성하고 어딘가에 마운트한 다음(저는 /boot/efi2 사용) /boot/efi에서 모든 것을 복사하여 구조를 유지해야 합니다. 그런 다음 를 사용하여 두 번째 펌웨어 부팅 항목을 만듭니다 efibootmgr
.여기지침입니다.
답변2
완료... 올바른 방향을 알려준 Nikita에게 감사드립니다! 다음은 그것이 어떻게 작동했는지에 대한 빠른 요리법입니다(저는 "디스크를 다시 파티션하시겠습니까?" - 확인 몇 가지를 생략했습니다).
- 메인보드 BIOS 구성으로 이동하여 모든 UEFI 항목을 비활성화합니다.
- Debian 12 설치 이미지를 사용하여 USB 스틱에서 부팅합니다.
- "그래픽 설치"를 시작합니다.
- 첫 번째 단계(네트워크 설치 등)를 일반적인 방법으로 수행합니다.
- 설치 프로그램이 "파티션 디스크"로 이동하면 "수동"을 선택하십시오.
- 두 개의 대상 드라이브에서 이전 파티션을 모두 삭제하십시오.
- 첫 번째 대상 드라이브에 새 파티션을 만듭니다. 크기를 물어보면 "1MB"라고 입력하세요. 사용 가능한 공간의 "시작"에 파티션을 배치합니다. "다음으로 사용" 설정을 "예약된 BIOS 부팅 영역"으로 변경합니다.
- 첫 번째 대상 드라이브에 새 파티션을 만듭니다. 사이즈를 물어보면 "max"라고 입력하세요. "다음으로 사용" 설정을 "RAID용 물리 볼륨"으로 변경합니다.
- 두 번째 대상 드라이브에 대해 마지막 두 단계를 반복합니다.
- 분할 메뉴로 돌아가서 "소프트웨어 RAID 구성"을 선택하십시오. "MD 장치 만들기"를 선택합니다. "RAID1"을 선택합니다. 활성 장치는 "2"입니다. 예비 장치는 "0"입니다. 그런 다음 앞서 준비한 두 개의 RAID 파티션을 선택합니다. "마침"으로 RAID 설정을 종료합니다.
- 분할 메뉴로 돌아가서 "Guided partitioning"을 선택하십시오. "안내 - 전체 디스크 사용 및 LVM 설정"을 선택합니다. 앞서 준비한 RAID 장치를 선택합니다. "한 파티션의 모든 파일"을 선택하십시오. LVM의 크기를 묻는 질문에 "max"라고 답하세요.
이제 파티션 목록은 다음과 같아야 합니다. "파티션 완료 및 변경 사항을 디스크에 쓰기"를 선택합니다.
- 모든 것이 순조롭게 진행되었다면 이제 시스템이 표준 데비안 설치 프로세스를 시작합니다(시간이 걸릴 수 있음). 일반 설치 프로세스에서와 마찬가지로 질문에 정확하게 대답합니다.
- 디스크에 GRUB를 쓸 때 다시 한 번 깨어나십시오. 첫 번째 대상 디스크에 한 번 쓴 다음 돌아가서 두 번째 대상 디스크에 대해 동일한 작업을 수행하십시오.
- 나머지 절차는 표준입니다.
watch cat /proc/mdstat
명령줄에서 실행하여 RAID 상태(동기화 프로세스 진행 상황 포함)를 확인할 수 있습니다 .