저는 몇 가지 다른 용도로 사용될 홈 서버를 구축 중입니다. Btrfs raid 1 배열을 사용하여 대용량 데이터를 저장하고 싶지만 CentOS 7(3.10 이전에는 안정적이라고 하지만 이전 커널)을 사용하고 있으며 안정성과 기능에 대해 몇 가지 일반적인 우려가 있습니다. 발생하는 문제를 해결할 것이 걱정되어 (현재로서는) MD RAID 1에서 ext4를 계속 사용하기로 결정했습니다. 하지만 나중에 변환할 수 있도록 유연하게 유지하고 싶습니다. 내 생각에 가장 쉬운 방법은 디스크당 하나의 논리 볼륨 위에서 MD를 실행하여 시간이 지남에 따라 전체 RAID 크기를 더 쉽게 조정할 수 있고 그 위에 다른 논리 볼륨을 배치하여 다양한 작업에 대한 디스크 사용량을 관리하는 것입니다. (LVM raid를 사용할 수 있다고 생각하지만 여기에 나열된 이유 때문에 사용하지 않으려고 합니다.LVM을 사용한 RAID와 MDRAID 비교)
예를 들어 다음과 같습니다.
| /share | /userX | /userY | /media |
-----------------------------------
| LVM1 | LVM2 | LVM3 |
-----------------------------------
| RAID 1 Volume |
-----------------------------------
| LVM volume | LVM volume |
-----------------------------------
| Disk 1 | Disk 2 |
이렇게 하면 최상위 수준에서 디스크 사용량을 관리하고 전체 RAID 크기를 관리할 수 있는 유연성이 제공되므로 이론적으로는 결국 다른 시스템에 추가 디스크 공간을 사용할 수 있게 됩니다. 그렇죠?
뭔가 빠진 것 같은 느낌이 듭니다. 성능이 저하되었나요? 너무 복잡한? 추가하다,이 문제비록 그 포스터가 약간 다른 일을 하고 있는 것처럼 보이지만 내 접근 방식에 의문을 갖게 됩니다. 저는 여기에 핵 코드를 저장하려는 것이 아니며 중요한 내용을 외부에 백업해 놓을 것입니다. 하지만 문제를 일으킬 수 있는 솔루션으로 제 발을 찔리는 일은 피하고 싶습니다.
답변1
대부분의 init 시스템은 이를 예상하지 않으므로 LVM, MD, LVM을 다시 어셈블할 준비가 되어 있지 않습니다.
MD 아래에 LVM을 배치하는 경우 매우 주의해야 합니다. MD는 물리적 디스크와 함께 사용해야 하지만 LV를 RAID 멤버로 사용하면 동일한 디스크를 공유하는 두 멤버로 쉽게 끝날 수 있습니다. 즉, LVM 자체 RAID 기능 대신 MD를 독립 실행형 레이어로 사용하는 경우 후자의 경우 LVM 자체가 이를 보장합니다.
MD 구성원이 결국 디스크를 공유하게 되면 단일 디스크 오류로 인해 결국 여러 구성원이 종료됩니다. 기본적으로 진정한 중복성이 없으면 무의미한 RAID를 실행하고 있는 것입니다.
문제는 그러한 설정의 요점이 무엇입니까? 그래프를 보면 추가 LVM 레이어가 중복된다는 것이 분명합니다. 디스크를 직접 사용하면 됩니다.
RAID1 설정을 다른 것으로 완전히 변경하려는 대부분의 사람들은 디스크 하나를 제거하고 그 위에 새 시스템을 구축하면 됩니다. 일시적으로 이 프로세스의 중복성을 잃게 되지만 어쨌든 항상 백업이 있어야 합니다. 그렇죠?
LVM의 다른 장점 대부분은 RAID에 적용되지 않습니다. RAID를 늘리거나 줄이기 위해 LVM을 RAID 아래에 배치할 필요는 없습니다. MD가 직접 할 수 있습니다.