mdadm
mdadm![]() |
원저작자 | 닐 브라운 |
---|---|
개발자 | 예스 소렌센 |
초기 릴리즈 | 2001 |
안정된 릴리스 | 4[1].2 / 2021년 12월 , 전( |
저장소 | git |
기입처 | C |
운영 체제 | 리눅스 |
이용가능기간: | 영어 |
유형 | 디스크 유틸리티 |
면허증. | GNU GPL |
웹 사이트 | raid![]() |
mdadm은 소프트웨어 RAID 디바이스를 관리 및 감시하기 위해 사용되는 Linux 유틸리티입니다.raidtools2나 [2][3][4]raidtools와 같은 오래된 소프트웨어 RAID 유틸리티 대신 최신 Linux 배포판에서 사용됩니다.
mdadm은 원래 SUSE의 Neil Brown에 의해 유지되고 저작권이 부여된 무료 소프트웨어이며[5] GNU General Public License 버전2 이후의 조건에 따라 라이센스가 부여됩니다.
이름.
이 이름은 관리 또는 관리하는 md(복수 디바이스) 디바이스 노드에서 파생되었으며 이전 유틸리티 mdctl이 [citation needed]대체되었습니다.원래 이름은 "Mirror Disk"였으나 기능이 [citation needed]추가됨에 따라 변경되었습니다.이 이름은 Multiple Disk and Device Management의 [2]약자로 인식되었습니다.
개요
Linux 소프트웨어 RAID 구성에는 Linux 커널에 표시되는 모든 것을 블록 장치로 포함할 수 있습니다.여기에는 전체 하드 드라이브가 포함됩니다(예:/dev/sda) 및 파티션(예: /dev/sda1)을 지정합니다.
RAID 구성
- RAID 0 – 블록 레벨의 스트라이핑.MD는 다른 길이의 디바이스를 처리할 수 있기 때문에 큰 디바이스의 여분의 공간은 스트라이핑되지 않습니다.
- RAID 1 – 미러
- RAID 4 – RAID 0과 비슷하지만 패리티를 위한 추가 디바이스가 있습니다.
- RAID 5 – RAID 4와 마찬가지로 패리티가 모든 디바이스에 분산되어 있습니다.
- RAID 6 – RAID 5와 비슷하지만 스트라이프당 2개의 패리티 세그먼트가 있습니다.
- RAID 10 – 다수의 RAID 1 미러셋을 채택하여 RAID 0 스타일로 스트라이핑합니다.
RAID 10은 RAID 0+1과는 다릅니다.RAID 0은 물리 하드 디스크 전체에 직접 고성능 RAID 0 스트라이프로 구성된 최상위 레벨의 RAID 1 미러입니다.RAID 10 구성에서 단일 드라이브에 장애가 발생하면 하위 레벨 미러 중 하나가 성능 저하 모드로 전환되지만 상위 레벨 스트라이프는 정상적으로 작동합니다(성능 저하 제외).RAID 0+1 구성에서 단일 드라이브에 장애가 발생하면 하위 수준의 스트라이프 중 하나가 완전히 실패하고 상위 수준의 미러 기능이 저하됩니다.2개의 셋업 중 어느 것이 바람직한지는, 스페어 디스크를 사용할 수 있는지 여부, 디스크 스핀업 방법 등, 문제의 애플리케이션의 상세 내용에 따라 다릅니다.
비 RAID 구성
- 선형 – 다수의 디바이스를 하나의 대형 MD 디바이스에 연결합니다.
- Multipath(멀티패스)– 단일 디바이스에 대한 페일오버가 있는 여러 경로를 제공합니다.
- 장애 – 테스트 및 개발을 위해 여러 디스크 장애 시나리오를 에뮬레이트하는 단일 디바이스.
- 컨테이너 – RAID 시스템을 구축할 수 있는 단일 디바이스로 관리되는 디바이스 그룹.
특징들
md 디바이스의 원래(표준) 이름 형식은 /dev/md <n> 입니다.< n >는 0 ~99 의 숫자입니다.최신 커널에서는 /dev/md/Home 등의 이름을 지원합니다.2.4.x 커널 이전 버전에서는 이 두 가지가 유일한 옵션이었습니다.둘 다 분할할 수 없습니다.
2.6.x 커널 이후 파티션 가능한 어레이라는 새로운 유형의 MD 디바이스가 도입되었습니다.디바이스명은 md를 md_d로 변경하여 변경되었습니다.파티션은 p<n>를 추가하여 식별되었습니다.<n>은 파티션 번호입니다.예를 들어 /dev/md/md_d2p3 입니다.Linux 커널 메인라인 버전 2.6.28에서는 파티션이 불가능한 어레이를 파티셔닝할 수 있으므로 파티션은 파티셔닝 가능한 어레이와 동일하게 참조됩니다(예: /dev/md/md1p2).
Linux 커널 메인라인 버전 3.7 이후 md는 기반이 되는 솔리드 스테이트 드라이브(SSD), 선형, RAID 0, RAID 1, RAID 5 및 RAID 10 레이아웃의 [6]TRIM 작업을 지원합니다.
기동중
MD는 커널에서 지원되므로 커널을 실행하기 전에 MD를 사용하는 데 문제가 있습니다.특히 부트 로더가 (e)LiLo 또는 GRUB 레거시일 경우에는 표시되지 않습니다.일반적으로는 존재하지만 GRUB 2에는 존재하지 않을 수 있습니다.이 문제를 회피하려면 /boot 파일 시스템을 md 지원 없이 사용하거나 RAID1에서 사용해야 합니다.후자의 경우는, RAID1 디바이스를 통상의 파일 시스템으로 취급하는 것으로 시스템이 기동합니다.시스템이 실행되면, md로서 재마운트 해, 거기에 2번째 디스크를 추가할 수 있습니다.이렇게 하면 따라잡힐 수 있지만 /boot 파일 시스템은 보통 작습니다.
최신 부트 로더에서는 initramfs 메커니즘을 통해 MD 지원을 커널 모듈로 로드할 수 있습니다.이 방법을 사용하면 복잡한 수동 구성 없이 /boot 파일 시스템을 RAID 시스템 내에 배치할 수 있습니다.
외부 메타데이터
Linux 소프트웨어 RAID는 RAID 볼륨 메타데이터에 대한 자체 형식 외에 Linux 커널 버전 2.6.27 및 mdadm 사용자 공간 유틸리티 버전 3.0 이후 외부 메타데이터 형식도 지원합니다.이것에 의해, Linux 에서는 다양한 펌 웨어 베이스 또는 드라이버 베이스의 RAID 볼륨을 사용할 수 있습니다.이 볼륨은 「짝퉁 RAID」[7]라고도 불립니다.
2013년 10월[update] 현재 외부 메타데이터에는 다음 두 가지 형식이 지원됩니다.
- DDF(Disk Data Format)는 상호 [8]운용성을 높이기 위해 스토리지 네트워킹 산업 협회에서 정의한 업계 표준입니다.
- 인텔®래피드 스토리지 테크놀로지(RST)가 사용하는 볼륨 메타데이터 포맷(구 인텔 매트릭스 RAID)은 많은 컨슈머 레벨의 [7]메인보드에 실장되어 있습니다.
mdmpd
mdmpd는 Linux[9] 커널 2.6.10-rc1까지의 MD 멀티패스 디바이스를 감시하기 위해 사용되는 데몬으로 mdadm [10]패키지의 일부로 Red Hat에 의해 개발되었습니다.이 프로그램은 멀티패스(RAID) 디바이스를 감시하기 위해 사용되었으며 보통 부팅 시 서비스로 시작되며 이후 데몬으로 실행됩니다.
엔터프라이즈 스토리지 요건에는 하나의 컨트롤러를 통해 디스크 드라이브와 통신할 수 없는 경우에도 시스템이 자동으로 다른 컨트롤러로 전환되어 계속 작동할 수 있도록 단일 디스크 드라이브와 통신할 수 있는 여러 가지 방법이 필요합니다.이를 멀티패스 디스크액세스라고 부릅니다Linux 커널은 md(Multiple Devices) 드라이버로 알려진 소프트웨어 RAID 스택을 통해 멀티패스 디스크 액세스를 구현합니다.md 멀티패스 드라이버의 커널 부분은 적절한 디바이스에 대한 라우팅 I/O 요청과 활성 경로에서의 장애 처리만 처리합니다.이전에 장애가 발생한 경로가 다시 기능하고 있는지 여부를 확인하려고 하지 않습니다.그게 이 데몬이 하는 일이야.기동시에, md raid 어레이의 현재 상태를 읽어내, 그 상태를 보존해, 커널이 흥미로운 일이 발생했다고 통지할 때까지 기다립니다.그 후, 기동해, 멀티패스 디바이스상의 패스에 장해가 발생하고 있지 않은지를 체크해, 장해가 발생하고 있는 패스의 폴링을 15초마다 개시해, 동작을 재개합니다.다시 동작하기 시작하면 데몬은 패스를 원래 속해 있던 멀티패스 MD 디바이스에 새로운 스페어 패스로 추가합니다.
/proc 파일시스템을 사용하는 경우 /proc/mdstat는 모든 액티브 MD 디바이스와 그에 대한 정보를 나열합니다.Mdmpd에서는 경로를 감시할 어레이를 찾고 대상 이벤트를 통지하며 모니터 [11]모드에서 어레이 재구성을 감시하기 위해 이 기능이 필요합니다.
기술 상세 RAID 1
RAID 1 볼륨의 데이터는 일반 파티션의 데이터와 동일합니다.RAID 정보는 파티션의 마지막 128kB에 저장됩니다.즉, RAID 1 볼륨을 일반 데이터 파티션으로 변환하려면 파티션 크기를 약 128kB 줄이고 파티션 ID를 fd에서 83(Linux의 경우)으로 변경할 수 있습니다.
「 」를 참조해 주세요.
- 소프트웨어 RAID
- OpenBSD/NetBSD의 bioctl
레퍼런스
- ^ Sorensen, Jes (2021-12-30). "ANNOUNCE: mdadm 4.2 - A tool for managing md Soft RAID under Linux".
- ^ a b Bresnahan, Christine; Blum, Richard (2016). LPIC-2: Linux Professional Institute Certification Study Guide. John Wiley & Sons. pp. 206–221. ISBN 9781119150817.
- ^ Vadala, Derek (2003). Managing RAID on Linux. O'Reilly Media, Inc. p. 140. ISBN 9781565927308.
mdadm linux.
- ^ Nemeth, Evi (2011). UNIX and Linux System Administration Handbook. Pearson Education. pp. 242–245. ISBN 9780131480056.
- ^ "Mdadm".
- ^ "Linux kernel 3.7, Section 5. Block". kernelnewbies.org. 2012-12-10. Retrieved 2014-09-21.
- ^ a b "External Metadata". RAID Setup. kernel.org. 2013-10-05. Retrieved 2014-01-01.
- ^ "DDF Fake RAID". RAID Setup. kernel.org. 2013-09-12. Retrieved 2014-01-01.
- ^ "117498 – md code missing event interface".
- ^ "Updated mdadm package includes multi-path device enhancements". RHEA-2003:397-06. Redhat. 2004-01-16.
- ^ "Mdadm(8): Manage MD devices aka Software RAID - Linux man page".
외부 링크

- mdadm 소스 코드릴리즈
- "Installation/SoftwareRAID". Ubuntu Community Documentation. 2012-03-01.
- Lonezor (2011-11-13). "Setting up a RAID volume in Linux with >2TB disks". Archived from the original on 2011-11-19.