나는 Linux 서버를 가지고 있는데 그 하드 디스크 크기를 보고 싶을 때 다음 명령을 사용합니다. df -h
그러나 사실 내 서버는 여러 개의 하드 디스크로 구성되어 있고 원시 디스크 공간은 그 이상이라는 것을 알고 있습니다.
RAID가 있을 수 있습니다.
제 질문은:
서버에서 RAID가 사용되는지 여부와 원시 하드 드라이브 크기를 어떻게 알 수 있습니까?
답변1
Linux 시스템에서 RAID를 구성할 수 있는 위치는 네 가지가 있습니다.
- 하드웨어 수준에서. 즉, 시스템에 실제 물리적 RAID 컨트롤러가 있습니다. 소프트웨어에서 이것을 확인할 수 있는 100% 신뢰할 수 있는 쉬운 방법은 없습니다. 그러나
lspci
그것이 있는 경우 실행하면 목록이 표시됩니다(100% 확신할 수는 없지만).어떻게나열됩니다). - 펌웨어 수준에서. 이는 일반적으로 하드웨어 수준보다 효율성이 낮고 블록 수준보다 유연성이 떨어지기 때문에 서버 시스템에서는 거의 발생하지 않습니다. 대부분의 Intel 및 AMD SATA 컨트롤러에 있는 "RAID" 모드가 그 예입니다. 나는 이것을 확인하는 방법에 대한 조언이 전혀 없습니다. 어떤 대가를 치르더라도 그것을 피하기 때문입니다(성능은 일반적으로 기껏해야 평범하고 구성에 대한 Linux 지원은 기본적으로 존재하지 않습니다).
- 블록 레이어에서. 이는 MD 또는 LVM을 사용하여 수행되는 RAID입니다. 확인하는 방법은 매우 간단합니다. 장치가 나열 되면
/proc/mdstat
시스템에 MD RAID가 구성된 것입니다. 장치가 나열되어 있으면lvs -a
시스템에 LVM 기반 RAID가 있을 가능성이 높습니다(속성 열에r
첫 번째 위치로 시작하는 항목이 표시되면 복제(RAID1 또는 RAID10) 또는 삭제 코딩이 포함된 장치가 하나 이상 있는 것입니다. 쉬운 방법은 없습니다. 스트라이프 볼륨(RAID5 또는 RAID6)을 확인합니다. - 파일 시스템에서. 이는 파일 시스템이 ZFS 또는 BTRFS를 사용하는 경우 발생할 수 있습니다. ZFS에서는 어떤 복제/스트라이핑/패리티가 사용되고 있는지 확인하는 방법을 잘 모르겠습니다. BTRFS의 경우 실행하여
btrfs filesystem show
볼륨에 여러 장치가 나열되어 있는지 확인합니다(여기서 관심 있는 사항에 대해 이러한 볼륨은 RAID처럼 처리되어야 합니다).
이제 디스크 크기를 파악하는 데 있어서는 정확하지만 df
원하는 정보는 표시되지 않습니다. 각 디스크의 크기를 표시하는 것과는 달리 마운트된 각 파일 시스템의 사용량만 표시합니다.
기본 장치에 직접 액세스할 수 있는 경우(위의 사례 3과 4, 일반적으로 사례 1과 2에도 해당) blockdev --getsize64
장치에서 실행하여 디스크 크기를 직접 쿼리할 수 있습니다. 장치의 사용 가능한 크기(단위: 킬로바이트).
기본 장치에 직접 액세스할 수 없는 경우(위의 시나리오 1과 2 모두 가능) 보유하고 있는 RAID 컨트롤러의 구성 도구를 통해 해당 장치를 확인해야 합니다.
물론 드라이브 크기를 계산하는 가장 신뢰할 수 있는 방법은 관련된 모든 소프트웨어를 무시하고 케이스를 열고 드라이브 자체를 살펴보는 것입니다. 모든 최신 드라이브에는 레이블에 용량이 표시되어 있습니다.