LVM에서는 물리 볼륨을 추가하여 볼륨 그룹을 확장할 수만 있습니다. 따라서 추가 공간이 필요할 수 있지만 어떤 볼륨 그룹이 가장 빠르게 확장될지 예측할 수 없는 여러 볼륨 그룹이 있는 경우 할당할 수 있는 예비 물리 볼륨을 여러 개 두는 것이 좋습니다. MD RAID 어레이를 사용하여 물리 볼륨을 프로비저닝하는 경우 이를 설정하는 가장 좋은 방법은 무엇입니까?
예를 들어 1Tb 드라이브가 3개 있다고 가정해 보겠습니다. 처음에는 각각 500GB이고 나중에 추가로 500GB까지 확장할 수 있는 2개의 볼륨 그룹을 생성하려고 합니다.
제 생각에는 두 가지 옵션이 있습니다.
- 다중 RAID 어레이 - 각 디스크는 4개의 파티션으로 나뉘며 각 파티션의 크기는 250GB입니다. 그런 다음 이러한 파티션(예
mdadm /dev/md0 -create -lraid5 -n3 /dev/sda1 /dev/sdb1 /dev/sdc1
: 등)을 사용하여 각각 500Gb의 RAID 어레이 4개를 조립합니다.mdamd /dev/md1 -create -lraid5 -n3 /dev/sda2 /dev/sdb2 /dev/sdc2
그러면 하나의 RAID 장치가 각 볼륨 그룹의 초기 물리 볼륨으로 사용됩니다. 나머지 2개의 예비 RAID 장치는 향후 필요할 수 있는 볼륨 그룹에 추가할 수 있습니다. - 분할된 RAID 장치 - 이 예에서는 2Tb RAID 장치가 생성됩니다. 그런 다음 4개의 500Gb 파티션(
/dev/md0p1
/dev/md0p2
/dev/md0p3
및 500Gb 파티션) 으로 분할합니다/dev/md0p4
. 그런 다음 위에서 설명한 대로 물리적 볼륨으로 사용됩니다. 즉, 각 VG에는 처음에 파티션이 할당되는 식입니다.
분명히 여러 파티션을 생성할 때 약간의 디스크 공간 오버헤드가 있지만 이는 두 구성 모두에서 매우 유사할 가능성이 높으며 볼륨 크기에 비해 무시할 수 있습니다.
그런데 분할된 RAID 장치를 사용할 때 처리 또는 성능 오버헤드가 있습니까?
나는 항상 첫 번째 구성을 사용해 왔으며 최근에야 두 번째 구성을 고려하고 시도했습니다. 차이점을 발견하지 못했지만 이에 대한 장기적인 경험이 있거나 특정 구성이 선호되거나 더 이상 사용되지 않는 기술적 이유를 지적할 수 있는 사람이 있습니까?
답변1
일반적으로 가능한 한 적은 수의 VG를 사용하도록 노력해야 합니다(VG는 vgextend를 사용하여 여러 PV에 걸쳐 있을 수 있음). 단일 VG가 모든 PV에 걸쳐 있으면 관리가 더 쉬워지며 pvmove를 사용하여 LV를 다른 물리적 장치로 마이그레이션할 수 있습니다.
지난 수년간 소프트웨어 RAID를 통해 제가 발견한 것은 더 큰 디스크를 사용할 때 더 큰 드라이브를 더 작은 파티션으로 분할한 다음 드라이브 전체에 걸쳐 RAID를 분할하는 것이 실용적인 관점에서 더 잘 작동한다는 것입니다. 약간의 복잡성을 희생하면서.
예: (1) 예비 드라이브가 포함된 소프트웨어 RAID10 어레이에 조립된 (8) 4TB 드라이브. 디스크를 어떻게 분할하더라도 총 순 공간은 약 13TB입니다. 그러나 각 드라이브에 하나의 큰 파티션을 사용하는 경우 어레이 재구축 시간은 약 8-10시간이 됩니다. 실패하거나 다시 시작해야 하는 경우 일반적으로 mdadm은 처음부터 시작됩니다.
그러나 각 디스크를 (4)개의 파티션으로 나누고 (4) RAID10 어레이(/dev/md101 = sd[abcdefgh]1, /dev/md102 = sd[abcdefgh]2 등)를 구축하면 각 어레이는 약 2~2.5시간 안에 재구축됩니다. 총 재구축 시간은 여전히 8~10시간입니다. 재부팅으로 인해 mdadm이 중단된 경우 완료된 배열을 다시 실행할 필요가 없습니다. 모든(4) mdadm 어레이는 PV이며 동일한 VG에 속해야 합니다.
자주 액세스하는 모든 LV를 동일한 PV(/dev/md101)에 강제로 적용하여 블록을 플래터의 처음 25%에 배치할 수 있으므로 약간의 성능 이점도 있습니다. 이를 통해 속도가 약간 향상될 수 있습니다. pvmove를 사용하여 LV를 이동하여 조각 모음을 수행할 수도 있습니다.