Debian 6을 사용하여 RAID-1 어레이를 만들고 싶습니다. 어레이에는 6개의 디스크(운영 체제용 3개, 미러 3개)가 포함됩니다.
이전에 이 RAID를 사용한 적이 있지만 Windows에서는 3개의 다른 디스크를 볼 수 있지만 OS용으로는 하나만 볼 수 있기 때문에 잘 사용하지 못했을 수도 있습니다. OS가 3개의 디스크를 하나로 처리하도록 하는 방법이 있습니까? 아니면 서로 다른 단위처럼 될까요?
답변1
내가 이해한 바에 따르면 각각 미러가 연결된 3개의 RAID 어레이를 생성합니다. "반쪽"의 각 쌍을 일반 디스크로 마운트할 수 있지만 어레이가 실행 중이고 두 "반쪽"이 모두 활성화되어 있는 동안에는 이 작업을 수행하지 않는 것이 좋습니다. 이렇게 하면 복제본이 동기화되지 않고 어레이가 손상될 수 있기 때문입니다. 그러나 실패할 경우에는 별도로 존재하게 되며 이를 디렉토리에 사용하는 경우 예를 들어 /boot
raid 자체를 이해하지 못하는 프로세스는 이를 동일한 복사본으로 취급합니다. 저는 raid-1 및 많은 작은 파티션을 사용합니다. 어떤 운영 체제 드라이브가 죽더라도 시스템이 부팅 가능한 상태로 유지되도록 드라이브를 사용합니다.
이는 기본 하드웨어 중복성 이상의 이점을 제공하지 않으며 추가 유지 관리(처리할 어레이 3개)가 필요하고 드라이브가 격리되어 있습니다.
당신이 이것을 위해 이것을한다면성능상의 이유당신이 원하는최대 IOPS(예를 들어 데이터베이스 서버의 경우) 를 사용하는 것이 더 좋습니다 raid 1+0
. 이것은 기본적으로 3개 드라이브의 스트라이핑(단일 디스크 읽기/쓰기 속도의 약 3배)이고 해당 어레이를 다른 3개 드라이브로 미러링하는 것입니다. 현재 MD
드라이버는 기본적으로 이 기능을 지원하므로 raid-1 및 raid-0 어레이를 별도로 관리할 필요가 없지만 단일 raid 장치를 생성할 수 있습니다.
mdadm --create /dev/md0 -v --raid-devices=6 --level=raid10 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
즉, 얻을 수 있는 전체 어레이 크기는 디스크 3개를 합한 것과 같습니다. 이 설정의 문제점은 2개의 드라이브에 장애가 발생하면 드라이브가 파손될 수 있다는 것입니다.모두동일한 드라이브 이미지인 경우 데이터는 2개의 복사본으로 "절반"됩니다. 이러한 드라이브는 수명이 동일할 가능성이 높습니다. 즉, 거의 같은 시기에 오류가 발생하기 시작한다는 의미입니다. 그리고 나머지 "반"에 대한 재건 압력은 실패 가능성을 크게 증가시킵니다.
설정에 따라 raid-1+0의 데이터 손실 생존 확률은 다음과 같습니다.
1 drive fail = 100%
2 drives fail = 80%
3 drives fail = 40%
4 drives fail = 0%
괜찮다고 생각한다면균형 잡힌 IOPS/속도그리고저장6개 디스크의 경우 모든 장치의 raid-6을 생성하면 더 나은 복구가 가능합니다.
Probability of data loss in a 3 year span:
RAID5 - 0.0125 % (1 in 80)
RAID6 - 0.0005 % (1 in 1982)
하지만 부팅 파티션이 필요하기 때문에(부트로더는 디스크에 스트라이프할 수 없음) 2개의 어레이가 필요합니다. 하나는 작은 어레이(예: 256Mb)이고 나머지는 합쳐서 fdisk 또는 cfdisk를 사용하여 이 시나리오를 만들어야 하며 플래그가 bootable
small로 설정되어 있는지 확인해야 합니다. 정렬. 드라이브의 크기가 정확히 같은 경우 sfdisk를 사용하여 한 디스크에서 다른 디스크로 파티션 테이블을 복사할 수 있습니다.
sfdisk -d /dev/sda | sfdisk /dev/sdb
그런 다음 2개의 배열을 만듭니다.
mdadm --create /dev/md0 -v --raid-devices=6 --level=mirror /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm --create /dev/md1 -v --raid-devices=6 --level=raid6 /dev/sda2 /dev/sdb2 /dev/sdc3 /dev/sdd4 /dev/sde5 /dev/sdf6
운영 체제 설치 프로그램이 이를 처리할 수 있지만 사용하려는 첫 번째 어레이를 선택했는지 확인하십시오./boot
이렇게 하면 드라이브 1개의 저장 공간을 다시 확보할 수 있습니다(총 용량 = 드라이브 용량 * 4). 어레이는 2개의 드라이브 오류에도 살아남을 수 있으며 동시에 오류가 발생하지 않으면 이 어레이를 재구성할 수 있는 충분한 시간과 수학적 기회가 있습니다. .
한 가지 명심해야 할 점은 현재 소비자 품질(읽기 오류율은 약 10^14/오류) 및 드라이브 크기(>=2Tb)를 기준으로 해야 한다는 것입니다.안 돼요raid-5
장애 발생 시 어레이를 재구축할 확률이 50% 미만이므로 중요한 데이터 에 사용됩니다 .
답변2
뭔가 말이 안 돼요.
RAID1 어레이는 모두 동일한 내용을 가진 2개 이상의 디스크로 구성됩니다. 따라서 6디스크 RAID1 어레이를 만들면 미러가 3개가 아닌 5개가 됩니다.
당신은 아마도삼RAID1 어레이, 각 어레이는 두 개의 디스크로 구성됩니다. 그러면 md
세 가지 다른 장치에 액세스 할 수 있습니다 . 이는 디스크를 숨기지 않지만 /dev/sd[a-f]
디스크가 RAID 배열의 일부인 경우 일반적으로 해당 디스크의 데이터에 직접 액세스하지 않습니다. (그런 경우에도 직접 액세스할 수 있습니다 smartctl
.)
md
6개 디스크 모두에 하나의 장치를 제공하고 효과적으로 3개의 미러를 갖는 6개 디스크 RAID10 어레이를 만들 수도 있습니다 . 또한 더 빨라질 것입니다.
데비안 설치 프로그램은 이 모든 것을 설정할 수 있습니다(RAID10에 대해 알고 있다고 확신합니다. 그렇지 않은 경우 alt-f2로 전환하고 mdadm을 직접 사용하여 RAID10을 생성해야 합니다).
일반적으로 전체 디스크가 아닌 파티션에서 Linux 소프트웨어 RAID를 실행합니다. 또한 1이 아닌 RAID 레벨을 사용하는 경우 두 개의 파티션을 만드는 것이 좋습니다. 즉, 각 디스크에 작은 256MB 파티션인 RAID1을 만든 /boot
다음 원하는 RAID 레벨에 맞게 디스크의 나머지 부분을 포함하는 두 번째 파티션을 만드는 것이 좋습니다. GRUB2는 RAID1을 훌륭하게 지원하지만 다른 측면에 대해서는 그다지 지원하지 않습니다. 따라서 /boot
일반적으로 RAID1을 사용하는 것이 가장 좋습니다.
BIOS에 온보드 RAID가 있는 경우 이는 가짜일 가능성이 높으며 대신 Linux 소프트웨어 RAID를 사용해야 합니다. 최소한 이것이 새로 설치되고 시스템이 Linux만 지원하는 경우입니다. RAID 모드가 아닌 AHCI 모드에서 실행되도록 BIOS를 구성해야 합니다.
(실제 하드웨어 RAID 컨트롤러에 400달러 이상을 지출한 경우 해당 설명서를 확인하여 구성 방법을 확인하십시오. 아마도 그 뒤에 디스크가 숨겨지고 내보낸 볼륨만 노출될 것입니다.)