mdadm
누군가 나 에게 파티션을 사용하여 어레이를 생성하는 것과 전체 디스크를 직접 생성 하는 것의 차이점이 무엇인지 설명해 주실 수 있습니까 ? 전체 드라이브를 사용하려고 한다고 가정합니다.
다음 중 하나의 두 가지 방법으로 생성된 RAID6을 상상해 보십시오.
mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
또는:
mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd
차이점은 무엇이며 두 변형 중 하나에서 발생할 수 있는 문제는 무엇입니까?
예를 들어, 이러한 어레이 등에 대한 안정성, 관리 효율성 또는 복구 작업을 의미합니다.
답변1
가장 중요한 차이점은 디스크 교체 유연성을 높일 수 있다는 것입니다. 아래에 다른 여러 권장 사항과 함께 더 자세히 설명되어 있습니다.
전체 디스크 대신 파티션을 사용하는 것을 고려해야 합니다. 이는 어레이 설정에 대한 일반적인 권장 사항에 따라야 하며 향후 추가 디스크 교체가 필요할 때 확실히 골치 아픈 일을 피할 수 있습니다.
가장 중요한 주장은 다음과 같습니다.
다른 제조업체의 디스크(또는 동일한 제조업체의 "동일한" 용량을 가진 다른 모델)의 디스크 크기가 반드시 동일할 필요는 없으며, 크기 차이가 아주 작더라도 오류가 발생한 디스크를 새 디스크로 교체할 수 없습니다. 두 번째가 첫 번째보다 작은 경우. 파티셔닝을 사용하면 이 문제를 해결할 수 있습니다.
다른 제조업체의 디스크를 사용하는 이유에 대한 참고 사항: 디스크에 오류가 발생하면 이는 "만약"이 아니라 "언제"의 문제입니다. 동일한 제조업체, 동일한 모델의 디스크는 유사한 특성을 가지므로 동일한 조건 및 사용 시간에서 함께 고장날 가능성이 더 높습니다. 따라서 다른 제조업체, 다른 모델의 디스크, 특히 동일한 배치에 속하지 않는 디스크를 사용하는 것이 좋습니다(동일한 제조업체 및 모델의 디스크를 구입하는 경우 다른 상점에서 구입하는 것을 고려하십시오). 동일한 배치의 디스크를 사용할 때 디스크 교체 후 복원 중에 두 번째 디스크 오류가 발생하는 것은 드문 일이 아닙니다. 당신은 확실히 이런 일이 당신에게 일어나는 것을 원하지 않습니다.
따라서 권장 사항은 다음과 같습니다.
1)디스크 파티션 나누기이는 다음과 함께 사용됩니다.조금 작은 용량전체 디스크 공간보다 더 큽니다(예: 2TB 디스크로 구성된 RAID5 어레이가 있고 의도적으로 디스크 공간을 분할하여 각각 약 100MB를 낭비했습니다). 그런 다음 어레이 구성을 위해 각 디스크의 /dev/sd?1을 사용하십시오. 이는 새로운 교체 디스크가 어레이가 생성될 때 어레이를 조립하는 데 사용된 원래 디스크보다 공간이 적은 경우 안전 여유를 추가합니다.
2) 다른 제조업체의 디스크를 사용하십시오.
3) 다른 제조업체를 선택할 수 없는 경우 다른 모델의 디스크를 사용하십시오.
4) 다양한 배치의 디스크를 사용합니다.
5) 디스크가 실패하기 전에 사전에 디스크를 교체하고 동시에 디스크를 모두 교체하지 마십시오. 이는 약간 편집증적일 수 있으며 실제로 보유한 데이터의 비판도에 따라 달라집니다. 나는 서로 6개월의 나이 차이가 있는 디스크를 사용하곤 했습니다.
6) 정기적으로 백업하십시오(어레이 사용 여부에 관계없이 항상). Raid는 백업과 동일한 목적을 제공하지 않습니다. 어레이는 고가용성을 보장하고, 백업을 사용하면 손실된 파일(우연히 삭제되었거나 바이러스로 인해 손상된 파일, 어레이를 사용해도 보호되지 않는 일부 예 포함)을 복원할 수 있습니다.
OBS: 모든 항목을 제외하고무시할 수 없는위에서 합리적으로 /dev/sd를 사용하는 것 사이에는 기술적 차이가 많지 않습니까? 대 /dev/sd?#.
행운을 빌어요
답변2
또 다른 중요한 주장은 일부메인보드가 RAID 슈퍼블록을 삭제할 수 있습니다전체 디스크 장치를 사용하고 한때 GPT 장치였던 RAID 어레이에 디스크를 추가할 때 디스크를 지우는 데 매우 주의하지 않는 경우.
저는 ASRock 메인보드의 UEFI가 RAID를 사용할 수 없게 만들었을 때 이것을 힘들게 배웠습니다.
- http://forum.asrock.com/forum_posts.asp?TID=10174
- https://news.ycombinator.com/item?id=18541493
- https://www.phoronix.com/scan.php?page=news_item&px=Linux-Software-RAID-ASRock
이를 방지하려면 항상 sgdisk --zap
전체 장치 RAID에 사용하려는 이전 GPT 포맷 디스크에서 실행하십시오.
wipefs -a
또한 작동할 수 있습니다장치를 디스크에 추가하기 전에 GPT뿐만 아니라 모든 종류의 남은 파티션 정보를 지웁니다.
즉,이런 일이 발생할 가능성을 줄이려면 파티션을 사용하는 것이 가장 좋은 방법인 것 같습니다..
난 그게 뭔지 전혀 몰랐어진짜이 모범 사례에 대한 주장은 약간 다른 크기의 디스크를 처리할 수 있다고 설명하는 @Marcelo의 답변을 넘어서는 것이었습니다. 이제 알겠습니다.
그런데 이런 일이 발생하더라도 데이터는 손실되지 않습니다.아마도 sgdisk --zap
장치만 사용한 다음 예를 들어 RAID를 다시 생성 할 수 있습니다 mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
(mdadm은 이미 과거 데이터를 감지했다고 알려주고 해당 데이터를 계속 재사용할 것인지 묻습니다). 이 작업을 여러 번 시도했고 효과가 있었지만 여전히 수행하기 전에 백업을 수행하는 것이 좋습니다.
답변3
전체 장치를 파티션 대신 RAID 멤버로 사용하는 데 따른 문제를 언급하는 게시물이 몇 개 있습니다.여기 하나. 나는 그것이 사실임을 확인할 수 있다.
따라서 전체 장치를 사용하여 RAID를 생성하는 경우(예: /dev/sda
, , /dev/sdb
... 대신 /dev/sda1
, /dev/sdb1
, ...) 아래에 구성이 저장되어 있어도 재부팅 후 RAID 장치가 다시 조립되지 않습니다 mdadm.conf
. 메인보드 펌웨어가 RAID 슈퍼블록을 덮어쓰거나 제거할 가능성도 있습니다. 내 설정에서는 실행해도 mdadm --assemble --scan --verbose
RAID 설정이 다시 돌아오지 않으며 RAID 슈퍼블록을 사용할 수 없는 경우인 것 같습니다.
답변4
RAID를 분할하기 전에 파티션을 함께 RAID로 구성하는 대신 디스크를 배치하는 것은 전혀 드문 일이 아닙니다. 특히 대부분의 하드웨어 RAID 컨트롤러는 파티션 테이블을 읽을 수도 없기 때문에 항상 전체 디스크에서 작동합니다. 그러나 소프트웨어 RAID에서도 마찬가지입니다. 그리고 적절하게 구성되면 재부팅 시 소프트웨어 RAID가 제대로 재어셈블됩니다. 물론 디스크에 이전 파티션 테이블의 흔적이 남아 있지 않은지 확인하십시오. 많은 디스크가 미리 포맷된 상태로 제공되고 많은 도구(소프트웨어 RAID, 파일 시스템 등)가 처음에 "빈 섹터"를 남기는 경향이 있기 때문에 이는 특히 중요합니다. 그러면 이전 파티션 테이블의 흔적이 남아 있을 수 있습니다.
또한 RAID를 설정할 때 여분의 디스크 1~2개를 구입하는 것도 좋습니다. 디스크에 장애가 발생하면 신속하게 교체할 수 있습니다. 이는 단일 디스크 장애 후 장애가 발생한 디스크를 교체하고 RAID가 복구될 때까지 중복성이 없는 RAID5 또는 2디스크 RAID1에서 특히 중요합니다. 다시 동기화되었습니다. 정확하게 일치하는 스페어를 보유함으로써 새 디스크가 이전 디스크보다 느리거나 약간 작은 경우와 같이 RAID의 "약한" 디스크로 인해 발생할 수 있는 문제도 방지할 수 있습니다.
그럼에도 불구하고 "조금 더 작은" 문제는 파티션 유무에 관계없이 해결될 수 있습니다. 장치 매퍼를 사용하여 가상 디스크를 생성하면 새 디스크에서 용량의 99.9%를 얻고 시스템 디스크 또는 SSD에서 누락된 0.1%를 얻습니다. 또는 initramfs 단계에서 재부팅하는 동안 파일 시스템을 축소할 수 있습니다(참조:https://serverfault.com/a/888830방법) 그런 다음 RAID를 축소하면 다시 온라인 상태가 됩니다.
즉, 하드웨어나 소프트웨어 RAID 또는 ZFS 메모리 풀에 전체 디스크를 사용하는 것은 완벽합니다.