
Debian Jessie가 포함된 서버를 얻었습니다. 4개의 드라이브 sda에서 sdd까지 모두 마찬가지로 파티션되어 있습니다. 시스템이 모든 드라이브에 대해 raid1 md raid 상태입니다. 모든 드라이브에는 grub이 있으며 디스크를 서로 교체할 수 있으며 각 드라이브는 부팅 가능하며 시스템은 행복하게 부팅됩니다. 모든 드라이브에는 정확히 동일한 형식이 포함되어 있습니다.
sdx1 - Boot Partition, GRUB installed
sdx2 - Raid 1 /boot
sdx3 - Raid 1 /
sdx4 - Raid 10 swap
sdx5 - non-md btrfs Raid 6 /data
데이터 파티션은 raid6 btrfs입니다. 현재 드라이브를 더 큰 드라이브로 교체하여 용량을 업그레이드하려고 합니다. 두 번 실패할 수 있기 때문에 첫 번째 본능은 드라이브 중 하나를 교체하고 백업을 부팅하고 복원하는 것이었습니다. 새로 설치된 드라이브로 인해 RAID 어레이에 오류가 발생했으며 재구축 후에는 모든 것이 정상으로 돌아왔습니다.
그러나 드라이브를 RAID 어레이를 무효화하는 것으로 교체하면 머신(슬프게도 현재 헤드리스임)이 부팅되지 않습니다. 하루 종일 디스크를 서로 교체할 수 있으며 행복하게 부팅됩니다. 하지만 디스크를 제거하거나 RAID의 일부가 아닌 다른 것으로 교체하면 부팅이 실패합니다.
뭔가 빠졌나요? 누락된 디스크/성능이 저하된 어레이로 자동으로 부팅해도 괜찮다는 것을 md에게 어떻게 알릴 수 있나요? 결국 md에 관한 한 4개의 디스크 중 하나라도 자체적으로 전체 시스템을 지원할 수 있습니다. 데이터 파티션은 최소 2개의 드라이브가 필요하기 때문에 또 다른 괴물이지만 순수한 btrfs이므로 md는 이에 대해 걱정해서는 안 됩니다. 습격.
현재 사용 사례에서는 RAID에서 드라이브를 제거하고 업그레이드한 다음 다시 거기에 넣을 수 있다는 것을 알고 있지만 오류가 발생하는 경우 시스템이 시작되지 않으면 드라이브를 제거할 가능성이 없습니다. 위로.
답변1
업데이트 및 답변 - 그 동안 여기서 실제로 누락된 유일한 것은 fstab의 nofail 플래그라는 것을 알아냈습니다. 파일 시스템의 성능이 저하되었으며 nofail 옵션을 설정하지 않으면 성능이 저하된 상태로 파일 시스템을 마운트할 수 없습니다.
답변2
내가 아는 한, 별도의 부팅 파티션 없이 부팅할 수 있는 mdadm을 사용하여 RAID를 만드는 것은 아직 불가능합니다. 여기에 설명된 것과 비슷한 방식으로 설정했다고 가정합니다. raid10을 사용하지만 다른 raid 레벨에도 적용됩니다.
3개 또는 4개(또는 그 이상) 디스크 소프트웨어 raid10으로 부팅 가능한 중복 데비안 시스템을 만드는 방법은 무엇입니까?
BIOS에서 부팅할 다른 디스크를 구성하지 않았을 가능성이 있습니까? 또는 부팅 파티션이 정확히 동일하지 않습니다. 즉, 동일한 UUID를 가진 정확한 복사본입니다.
특정 디스크를 부팅할 수 있도록 하려면 부팅 섹터가 있어야 하며 BIOS는 RAID의 일부인 다른 부팅 디스크 목록과 함께 부팅하도록 구성되어야 합니다. 물론 부팅이 성공적으로 완료되려면 디스크에 부팅 파티션도 있어야 합니다. 이러한 부팅 파티션은 RAID의 일부가 아니므로 각 부팅 디스크에는 자체 파티션이 있습니다. 각 부팅 파티션에 정확히 동일한 파일 시스템이 포함되어 있는지 확인하고(예: dd를 사용하여 복사) 각 디스크에 해당 부팅 파티션의 이미지를 사용하여 생성된 부팅 섹터가 있는 경우 시스템은 모든 디스크에서 부팅할 수 있어야 합니다. . RAID 성능이 저하되더라도 성능 저하된 RAID로 인해 성공적인 부팅이 방해되어서는 안 됩니다. 그렇지 않으면 레이드 논쟁의 큰 이점을 제공합니다.
링크에서 인용 :
RAID의 일부인 각 디스크에는 RAID의 일부가 아닌 약 1GB의 부팅 가능한 파티션이 있어야 합니다. 이러한 파티션은 정상적으로 생성되므로 크기가 정확히 동일해야 합니다. 부팅 가능으로 표시하고, 디스크 중 하나의 마운트 지점은 /boot여야 하며, 다른 디스크는 마운트 해제된 상태로 둘 수 있습니다.
dd를 사용하여 부팅 파티션의 정확한 복사본을 만든 후:
이제 BIOS가 3개의 디스크 모두에서 부팅을 시도하도록 구성되었는지 확인하십시오. 순서는 중요하지 않습니다. BIOS가 임의의 디스크에서 부팅을 시도하는 한, 디스크 중 하나에 오류가 발생하는 경우 UUID가 정확히 동일하기 때문에 시스템은 자동으로 다른 디스크에서 부팅됩니다.