다운그레이드 부팅 및 업그레이드 복구를 위한 간단한 mdadm RAID 1 설정이 필요하십니까?

다운그레이드 부팅 및 업그레이드 복구를 위한 간단한 mdadm RAID 1 설정이 필요하십니까?

이 답변을 광범위하게 검색했지만 찾을 수 없습니다. RAID 파티션이나 디스크에 문제가 발생하더라도 컴퓨터가 여전히 부팅 및 복구될 수 있도록 Linux 소프트웨어 mdadm RAID 1 어레이를 설정하는 방법을 아는 사람이 있을 수 있습니다. ? 내 인상은 그 배열이다어쩔 땐 그래디스크 중 하나를 분리하면 제대로 작동하지만 디스크를 미러링하지 않으면 제대로 작동합니다.유충파티션(있는 경우) 또는 UUID/이름이 올바르게 마운트되거나 부팅되면 어레이가 부팅되지 않을 수 있습니다.

내가 해결하려는 문제예 1) RAID 1 기능과 2) 시스템 업데이트/업그레이드를 재개할 수 있는 스냅샷 기능을 원합니다. 누군가 파티션/포맷/grub/스크립트/등을 제안할 수 있나요? 이를 달성하기 위한 설정은 무엇입니까? 이것은 생산 시스템이 아닌 개인입니다. 또 다른 예가 있습니다.

내가 시도한 것: 나는 가지고있다시험을 마친BTFS습격 1(그러나 영구 Ro 버그가 수정되었는지 확실하지 않으며 슬프게도 부팅되지 않는 다운그레이드된 btrfs raid 1(위와 같이 설정되지 않음)로 이 글을 작성하는 데 어려움을 겪고 있습니다.) 사용지브스(라이센스 문제로 인해 설치 및 파티셔닝 도구 통합이 부족한 것 같습니다.)LVM 스냅샷(경쟁 조건이 확실히 존재하기 때문에);적성 업데이트 복원(또는이것) 문제가 발생할 가능성이 높습니다.BTFS스냅샷은 훌륭하게 작동하지만 디스크 장애 후 컴퓨터가 부팅되지 않습니다.BTFSRAID가 현재 문제입니다. (실제로 btrfs 도구를 실행할 수 있는 부팅 가능한 USB를 만드는 방법을 찾으려고 노력 중입니다. (라이브 디스크는 다시 포맷할 수 없고 chroot/debootstrap에 액세스할 수 없기 때문입니다.) /etc.) 아마도 debian-installer를 사용하여 두 개의 USB 키를 삽입해야 할 수도 있지만, 시스템을 버리는 것이 더 쉬운 것 같습니다.

제안된 솔루션:내가 탐구하고 싶은 솔루션은미다뎀(ext4를 통해) 그리고 사용할 때마다 루트 파티션의 모든 것을 같은 크기의 롤백 파티션(아마도 예비 디스크에 있음)에 aptitude힘들게 복사하여 "수동 스냅샷"을 수행합니다. (성공적으로) 실패하면 아무 것도 필요하지 않습니다. 실패하면 시스템이 시작되고 복구될 수 있기를 바랍니다 .)dddd if=/dev/md# of=/dev/sd# bs=??M; syncdd if=/dev/sd# of/dev/md#

(여기서 GPT 파티션 이름을 사용하려고 하는데 잘 모르겠습니다. 틀렸다면 정정해 주십시오. 그럴 것 같지만 배열에 dd if=/dev/disk/by-???/??? of=/dev/disk/by-partlabel/rollback-root태그를 지정하는 방법 과 mdext4 시스템을 통해 태그를 수락해야 합니다.)

삽화:

sda UUID=10                   [?? xxxxxxxxxxxxx          ]
sdb UUID=20                   [?? xxxxxxxxxxxxx          ]
                                    ^ root and/or boot partitions, in md0(,md1? etc)

sdc LABEL=rollback-root UUID=30 [?? _empty_space_          ]

사양:

  • 시나리오 1: 드라이브 오류- 드라이브 중 하나가 손상되거나 제거되면 부트로더는 안전한 상태로 유지되며(손실되지 않고 손상되지 않음) 저하된 모드(또는 베어본 복구 파티션)로 부팅할 수 있습니다. 이를 위해서는 사용자 개입이 필요할 수 있습니다. 예를 들어 /dev/sda더 이상 존재하지 않는 경우 찾을 수 없기 때문에 보드는 이를 건너뜁니다.유충MBR 또는 UEFI 영역의 어느 위치에서든 일반적인 순서로 다음 디스크를 확인합니다. 예를 들어 /dev/sdb"백업" 그럽을 찾은 다음 해당 디스크를 사용합니다.
    • 이상적으로는 성능 저하 모드로 부팅할 때 사용자 개입이 필요하지 않습니다(예: 원격에 있는 경우).
  • 시나리오 2: 업그레이드 실패- 업그레이드가 발생하고 시스템을 사용할 수 없게 되면(부팅 시 커널 패닉으로 인해) 스냅샷 파티션에서 부팅한 다음 ddgrub 설치 덮어쓰기를 포함하여 스냅샷 파티션을 원래 부팅 가능한 루트/부팅 파티션으로 복원할 수 있습니다. .
    • 나는 원격 세계에서 "시작을 시도하고 실패 시 재개"하는 어떤 것도 모릅니다. (나는 Android가 다른 해상도를 설정하는 것과 같은 일부 폴백 플래그를 설정하여 어떻게든 이 작업을 수행할 수 있다고 믿습니다. "이것을 변경하시겠습니까?" 해결 방법은 N초입니다.")
    • 업그레이드가 발생하고 시스템이그리고부트로더가 손상되었습니다. 복구 USB/디스크를 삽입하고 어떻게든 고칠 수 있나요? (어쩌면 누군가가 "안전한" 부트로더에서 부트로더를 연결하는 좋은 방법을 알고 있을 수도 있습니다.자격중요하다고 생각되는 콘텐츠를 자유롭게 업데이트할 수 있습니다.유충) (또는 어떻게든 grub을 롤백 디스크에 백업한 다음 마더보드를 통해 롤백 디스크에서 부팅한 다음 어떻게든 grub을 복원할 수도 있습니다...어떻게?) MBR이나 ESP 만 사용할 수는 없다는 것을 알고 있습니다 dd. 이러한 상황에서 이를 관리하는 방법은 무엇입니까?

아이디어:

이러한 가상 설정에서 번호 지정 문제를 계속 수용하면서 두 RAID 파티션 간의 grub 구성을 동기화하는 방법은 무엇입니까? 적성 업그레이드로 인해 grub 구성이 변경되면 어떻게 되나요? 이 옵션은 nofail필수인가요, 아니면 기본적으로 활성화되어 있나요? 회의BTFS전용 "구조" 파티션이나 USB 플래시 드라이브가 있는 RAID가 더 쉬울까요? (파티션인 경우 GRUB를 활성화하려면 어떻게 설정해야 합니까?)

위의 내용에는 몇 가지 중요한 문제가 있을 수 있지만 이것이 최종 목표를 설명하기를 바랍니다.

감사합니다!

잠재적으로 유용한 참고자료:

답변1

이 문제에 대한 귀하의 낮은 기대치 때문에 저는 약간 혼란스럽습니다.

  1. 디스크를 제거한 후에도 여전히 작동하는 RAID1

이것이 RAID1이 하는 일입니다. 이러한 설정에서 종종 누락되는 것은 grub부트로더를 각 디스크에 수동으로 복사하는 것입니다.

grub-install /dev/sda
grub-install /dev/sdb
  1. 실패한 업그레이드 롤백의 스냅샷

저는 RAID 위에 LVM을 광범위하게 사용합니다. (보통 LVM은 LUKS 위에, RAID 위에 있습니다.) 최근 ZFS를 실험해 봤는데 많이 사용하기 전에 암호화 계층이 어떻게 작동하는지 살펴봐야 합니다.

"실제" 구성에서는 LVM 파티션이 아닌 RAID1에서 직접 루트를 실행하는 경향이 있지만 상대적으로 작은 파티션(100GB 대신 10GB)으로 실행하는 경향이 있다는 것을 알았습니다. 디스크가 허용하는 경우 한 가지 옵션은 3방향 RAID1 미러를 실행하고 주요 업그레이드 전에 세 개의 미러 중 하나를 분리한 다음 성공한 경우에만 다시 결합하는 것입니다.

아무 문제 없이 RAID1에서 부팅을 실행하고 LVM에서 루트를 실행했습니다. 당신이 걱정하는 것이 무엇인지 알고 싶습니다."반드시 존재해야 하는 경쟁 조건"저는 단지 데이터 포인트일 뿐이고 수정 불가능한 부팅 오류가 발생한 적이 없으며 LVM과 관련된 것도 없습니다. ( grub특히 IPMI 가상 디스크를 추가하고 제거할 때 어떤 파티션에 어떤 내용이 포함되어 있는지 가끔 화를 냅니다.)

  1. 일반적인

    • IPMI를 사용하여 원격 시스템을 관리하세요. 운영 체제(또는 OS grub)에 의존하지 마세요.
    • 적절한 외부 백업을 수행하십시오. (그냥) 스냅샷이 아닙니다. RAID1은 백업이 아닙니다.

관련 정보