큰 LVM 디스크 (8TB)를위한 파일 시스템은 무엇입니까?


21

2TB 디스크가 많은 Linux 서버가 있는데, 모두 현재 LVM에 있으며 약 10TB의 공간이 필요합니다. ext4 파티션에서이 공간을 모두 사용하고 있으며 현재 약 8,8TB의 데이터가 있습니다.

문제는 종종 디스크에 오류가 발생하고 오류가 발생하자마자 교체 (즉, 이전 디스크를 dd를 사용하여 새 디스크에 복사 한 다음 서버에 새 디스크를 넣음)하더라도 나는 종종 약 100MB의 손상된 데이터를 얻습니다. 따라서 e2fsck가 매번 미치게되며 ext4 파일 시스템을 다시 정상 상태로 만드는 데 일주일이 걸립니다.

따라서 질문은 : LVM에서 파일 시스템으로 사용하기를 권장하는 것은 무엇입니까? 아니면 대신 무엇을 권장합니까? (실제로 LVM이 필요하지 않습니다)?

내 파일 시스템의 프로파일 :

  • 총 크기가 다른 많은 폴더 (일부 총 2TB, 총 100MB)
  • 크기가 다른 거의 200,000 개의 파일 (약 10MB, 100MB와 4GB 사이의 1/4 중 3/4; 현재 ext4 파티션이 며칠 동안 완전히 망쳐 져 파일에 대한 더 많은 통계를 얻을 수 없음)
  • 읽기는 많지만 쓰기는 거의 없습니다
  • 내결함성이 필요합니다 (전체 디스크에 하나의 오류가있는 것을 좋아하지 않기 때문에 mdadm RAID 사용을 중단했으며 디스크 고장이 발생하여 가능한 한 빨리 교체하지만 손상된 데이터를 얻을 수 있음을 의미합니다) 내 파일 시스템)

가장 큰 문제는 디스크 고장입니다. 파일을 잃을 수는 있지만 동시에 모든 것을 잃을 수는 없습니다.

ext4를 계속 사용한다면 더 작은 파일 시스템을 만들어서 어떻게 병합해야한다고 들었지만 어떻게해야할지 모르겠습니다.

btrfs가 좋을 것이라고 들었지만 데이터가 복제되지 않을 때 디스크의 일부 (또는 전체 디스크)를 잃어 버리는 방법에 대한 단서를 찾을 수 없습니다 ( mkfs.btrfs -d single?).

질문에 대한 조언은 사전에 감사합니다!


1
정확히 어떤 디스크 오류가 발생합니까? 힌트를 주어야한다
Soham Chakraborty

불량 섹터, 종종 전체 디스크에서 하나 또는 두 개의 불량 섹터입니다.
alphatiger

이는 디스크가 나 빠지고 있음을 의미합니다. 파일 시스템과는 거의 관련이 없습니다. 어떤 디스크를 사용하든 디스크가 불량한 경우 편리합니다. 다른 사람들이 언급했듯이 RAID 디스크로 이동하거나 엔터프라이즈 디스크를 구입하십시오. 또한 양질의 컨트롤러도 찾으십시오.
Soham Chakraborty

그래, 나도 알기 때문에 나빠지는 디스크를 교체해야한다. 내 질문이 명확하지 않은 경우 죄송합니다. 그러나 여전히 일부 파일 시스템은 손상된 데이터로 더 잘 작동 할 것이라고 생각했습니다.
alphatiger

실제로 하드웨어의 결함 부분을 교체해야합니다. 이것은 자동차가 200km / h의 벽을 주행 한 후 충돌 테스트 더미를 보는 것과 같습니다. "오 봐! 그의 왼쪽 다리는 거의 OK! 테스트는 성공적이었다!" ... 기본 하드웨어가 썩을 경우 파일 시스템이 도움이되지 않습니다. XFS는 ext *보다 fsck가 빠르며 충분한 시간이 지나고 파일 시스템이 조금 더 성숙 해지면 btrfs도 작동합니다. 그런 다음 ZFS가 있지만 Linux에서는 상태가 약간 슬프습니다.
Janne Pikkarainen

답변:


22

파일 시스템 문제가 아니라 디스크의 물리적 한계입니다. 다음은 몇 가지 데이터입니다.

SATA 드라이브는 일반적으로 복구 불가능한 읽기 오류율 (URE)이 10 ^ 14로 지정됩니다. 즉 , 디스크가 제대로 작동하더라도 12TB 당 1 바이트가 복구 불가능하게 손실됩니다 .

즉, RAID가 없으면 드라이브가 고장 나지 않아도 데이터가 손실됩니다 . RAID가 유일한 옵션입니다.

RAID5 (총 용량 n-1, 여기서 n = 디스크 수)를 선택해도 충분하지 않습니다. 6 개의 2TB HDD로 구성된 10TB RAID5를 사용하면 연간 20 %의 드라이브 장애가 발생 하고 단일 디스크 장애가 발생합니다. URE로 인해 RAID5를 성공적으로 재구성하고 데이터의 100 %를 복구 할 확률이 50 %입니다. .

기본적으로 고용량 디스크와 상대적으로 높은 URE를 사용하면 단일 디스크 장애를 다시 방지하기 위해 RAID6이 필요합니다.

이것을 읽으십시오 : http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


3
대기는, URE는 복구 할 수없는 의미 읽기 오류 그러나 이것은 디스크가 실제로는 것을 의미하지 않는다 HAS 오류를. 다음 읽기는 올바른 비트를 반환 할 수 있습니다 (아마도). OS는 아마도 섹터를 다시 읽고 올바른 데이터를 얻을 것입니다. 또한 SMART에 대해 이야기하는 것을 잊었습니다. 섹터가 영구적으로 손상되기 전에 SMART는 데이터를 읽거나 쓰려고 시도합니다. 너무 많은 실패를 감지하면 SMART는 단순히 섹터의 컨텐츠를 다른 위치로 이동하고 해당 섹터를 BAD 로 표시하므로 아무도 다시 쓸 수 없습니다.
Avio

따라서 디스크에 결함이있는 이유 를 묻지 않고 수많은 디스크를 구매할 것을 제안합니다 . 열 문제 일 수 있고, SATA 컨트롤러에 문제가
있거나

@Avio 내가 말하는 것은 모든 디스크, SATA 컨트롤러, SATA 커넥터 등이 완벽한 상태이고 사양에 따라 작동하더라도 하드 디스크 제한으로 인해 읽기 오류가 발생한다는 것입니다. 또한 디스크 용량 + URE로 인해 RAID5조차 충분히 신뢰할 수 없기 때문에 RAID를 사용하여 RAID6을 사용해야한다고 판단하더라도 RAID6를 사용해야합니다. RAID5에서 단일 드라이브 장애가 발생하더라도 높은 데이터 손실 가능성이 있습니다 (50 % FFS!).
c2h5oh

1
URE의 @Avio U는 복구 할 수 없음 을 나타냅니다 .
c2h5oh

파일 시스템 문제 일 수 있습니다. btrfs 또는 xfs와 같은 쓰기 파일 시스템에서 사본을 사용하는 경우 이전 버전의 파일을 복구 할 가능성이 높으므로 파일의 마지막 변경 사항 만 잃어 버릴 수 있습니다. (변경된 경우)
Jens Timmerman

13

디스크를 위해 RAID를 사용하십시오. 심지어 mdadm이있는 소프트웨어 RAID 일 수도 있습니다. 또한 "디스크에 종종 오류가 발생하는"이유에 대해 생각해보십시오. RAID 등급 디스크 대신 저렴한 데스크탑 급 SATA 드라이브를 사용하는 경우를 제외하고는 정상이 아닙니다.

그 후, 파일 시스템은 더 이상 중요하지 않습니다-ext4, xfs는 모두 훌륭한 선택입니다.


1
나는;)에 동의하지만 여러 가지 이유로 RAID를 사용하지 않습니다. 주요한 것은 가격보다 2 ~ 3 배 더 비싸기 때문에 가격을 감당할 수 없습니다. 두 번째 이유는 마지막으로 RAID 5를 사용했을 때 새 디스크를 연결하고 다시 동기화하기 전에 두 개의 불량 디스크를 얻을 수있을 정도로 운이 좋았습니다 (그 당시에 여분의 디스크가 없었습니다. 새로운 것; 나는 RAID 클래스 디스크를 사용하면이 문제가 있었음을 동의합니다. 세 번째 이유는 저장해야 할 데이터가 증가함에 따라 RAID 구성으로 할 수없는 것보다 더 큰 크기의 새 디스크를 점진적으로 추가하기 때문입니다.
alphatiger

따라서 손상되지 않은 데이터에 의존 할 수없는 구성에서 누군가가 권장하는 파일 시스템이 있는지 확인하려고합니다. 아직도, 답변 주셔서 감사합니다!
alphatiger

4
따라서 데이터에 추가 비용이 들지 않는다고 말하는가? 데이터의 사본을 두 개 이상 가질 여유가 없다면 데이터 손실을 고려해야합니다. RAID5가 올바른 선택이 아닐 수도 있습니다. RAID6 또는 RAID10을 살펴보십시오.
Zoredache

@alphatiger : 시간과 데이터가 너무 싼 경우 디스크가 너무 비쌉니다.
Reinstate Monica-M. Schröder

8

ZFS와 함께 행운을 빕니다. 사용하는 배포판에서 사용할 수 있는지 확인할 수 있습니다. 공정한 경고, 아마도 전체 시스템을 재건하는 것을 의미하지만 실제로는 우수한 성능과 내결함성을 제공합니다.


현재 데비안 GNU / 리눅스를 사용하고 있습니다. FUSE 구현이 있지만 라이센스 문제로 인해 패키지가없는 것 같습니다. 아마도 (FUSE를 사용하여 높은 출력에는 좋지 않기 때문에 소스에서 컴파일 한 후) 시도해 볼 것입니다. 전체 파일 시스템을 다시 빌드해야한다고 걱정하지 않습니다. 감사 !
alphatiger

ZFS의 경우 +1 기존 RAID는 블록이 언제 잘못되었는지 또는 데이터를 복구하는 방법을 알기에 충분히 지능적이지 않기 때문에 데이터를 자동으로 손상시킵니다. 반면 ZFS는 체크섬을 통해 손상된 블록을 감지하여 알려진 양호한 미러 복사본에서 복구합니다. 이상적이지는 않지만 FUSE에서 ZFS를 실행하면 많은 워크로드에 충분한 성능을 발휘할 수 있습니다. 즉, 프로덕션 환경에서 사용하기 전에 애플리케이션을로드 테스트해야합니다.
23:47에 bahamat

1
ZFS의 또 다른 +1. 여기에있는 거의 모든 서버가 Linux를 실행하고 있으며이를 매우 좋아하지만 ZFS는 지난 3 년 동안 나에게 매우 유용한 것으로 판명되었습니다. 라이센스 나 성능 문제없이 ZFS를 사용할 수있는 대용량 스토리지 시스템
ssc

오래된 Sun 워크 스테이션에서 Solaris에서 실행하고 있으며 하드웨어 (3G 메모리와 250G SATA 드라이브 쌍을 갖춘 단일 코어 Opteron @ 2.2GHz)를 고려하면 성능은 놀랍지 않습니다.
TMN

8

더 큰 크기의 새 디스크를 점진적으로 추가

LVM 사용에 관심이 있고 여러 드라이브를 처리하려는 경우 간단한 대답은 LVM의 일부인 미러 기능을 사용하는 것입니다. 모든 물리 볼륨을 LVM에 추가하기 만하면됩니다. 논리 볼륨을 생성 할 때 --mirrors옵션을 전달하십시오 . 이것은 데이터를 복제합니다.

다른 옵션은 몇 개의 RAID1 쌍을 설정하는 것입니다. 그런 다음 모든 RAID1 볼륨을 VG에 PV로 추가하십시오. 그런 다음 스토리지를 확장 할 때마다 한 쌍의 디스크를 구입하십시오.


7

실제로 RAID 5, 6, 10, 50 또는 60을 사용해야합니다. 시작하는 데 도움이되는 자료는 다음과 같습니다.

RAID에 대한 배경 정보

하우투 및 설정

추가 RAID 링크에 대한 맛있는 링크를 확인하십시오 : http://delicious.com/slmingol/raid


RAID를 원하지 않는 이유를 보려면 SvenW의 답변에 대한 의견을 참조하십시오. (사실, 저는 이미 그것을 감당할 수있는 회사에 여러 개의 소프트웨어 RAID를 설치했습니다 ...) 그래도 감사합니다!
alphatiger

필자는 항상 RAID 용 상용 드라이브를 사용해 왔으며 RAID 용으로 등급이 지정된 것을 사용한 적이 없으며 RAID 내에 충분한 중복성이있는 RAID (RAID 6 또는 RAID 60)를 선택하는 한 문제가 없었습니다. RAID 6을 사용하려면 짝수가 필요합니다. 기존 구성원을 더 큰 디스크로 교체 한 다음 새로운 디스크 공간으로 확장하여 RAID를 상당히 쉽게 확장 할 수 있습니다.
slm

4

데이터 손상이 실제로 걱정된다면 zfs 및 btrfs와 같은 체크섬 파일 시스템을 권장합니다.하지만 btrfs는 여전히 개발 중이며 프로덕션 준비가 아닌 것으로 간주됩니다 .

디스크에서 읽은 데이터 (정상적으로 읽은 데이터)가 올바르다는 보장은 없습니다. 블록에는 체크섬이 있지만 항상 오류를 포착하지는 않는 간단한 체크섬입니다. ZFS와 같은 최신 파일 시스템은 파일에 더 많은 기능을 갖춘 체크섬을 첨부하며 하드 디스크 나 RAID 컨트롤러에서 알 수없는 데이터 오류를 포착하고 복구 할 수 있습니다.


1

따라 @ C2H5OH 말한다복구 할 수없는이 중요하다 - 그것은 디스크가 이미 시도하고 분야를 다시 읽지 못했습니다 의미합니다.

내 경험상 디스크가 복구 불가능한 읽기 오류 (URE)를 생성하기 시작하면 일부 데이터가 영구적으로 손실되며, GNU ddrescue를 사용하여 모든 데이터를 즉시 백업 하면 실패한 섹터를 다시 시도하고 복구 할 수없는 섹터를 건너 뛸 수 있습니다.

백업이 있다고 가정하면 URE로 인해 백업이 실패했을 수 있으며 파일이 손상되었을 수 있으므로 동일한 파일 시스템의 다양한 백업에서 전체 데이터 세트를 구성해야합니다.

ZFS에 권장하는 다른 답변은 지속적인 데이터 스크러빙 및 RAID 기능이 향후 데이터를 안전하게 유지하는 데 도움이되지만 여전히 백업을 대체 할 수는 없지만 사용자 및 관리자 오류로부터 보호 할 수 있기 때문에 읽을 가치가 있습니다.

스냅 샷이 필요없는 경우에만 LVM을 사용합니다. RAID와 잘 통합되지 않으며, 데이터 스크러빙 / 데이터 체크섬을 포함하지 않으며, 여전히 백업이 필요하므로 ZFS와 같은 것이 더 나은 옵션 일 것입니다. 자세한 내용 은 LVM 문제 및 위험에 대한 답변을 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.