체크섬이 비활성화된 경우 비 ECC RAM을 사용하면 ZFS가 더 안전합니까?

체크섬이 비활성화된 경우 비 ECC RAM을 사용하면 ZFS가 더 안전합니까?

죽음의 스크럽에 대해 들어본 적이 있습니다. 그러나 ZFS 데이터 세트의 체크섬을 비활성화할 수 있습니다. 그렇다면 ECC RAM을 사용하지 않는 시스템이 더 안전할까요?

저는 NAS나 그와 유사한 것을 생각하지 않습니다. 단지 fsckZFS 볼륨 관리 및 스냅샷의 이점을 활용하기 위한(필요하지 않음) 단일 드라이브를 사용한 워크스테이션 배포에 더 가깝습니다. 중복성을 사용하고 싶지도 않습니다.

ZFS 체크섬을 비활성화해도 잘못된 메모리 위치가 여전히 내 저장소를 완전히 손상시키나요?

답변1

죽음의 스크럽에 대해 들어본 적이 있습니다.

당신은 이것을 읽어야합니다 : http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/

시스템의 메모리가 완전히 쓰레기가 아닌 이상 디스크보다 문제가 덜 발생할 것이 거의 확실합니다.

시스템에 SSD와 "느린" CPU가 있는 경우 체크섬 데이터를 계산해도 성능에 미치는 영향은 미미합니다.

이에 대한 내 개인적인 의견은 CPU가 대부분의 시간 동안 100% 사용되지 않는 한(때때로 사용되는 경우도 있음) ZFS가 체크섬을 사용하도록 하는 것이 더 낫다는 것입니다.

이 주제에 대해 많은 혼란이 있는 것 같습니다.

가지다. 불행히도 더 나은 답변이 없습니다. ZFS on Linux 메일링 리스트에 이 질문을 올리시면 더 자세한 답변을 얻으실 수 있습니다.

답변2

IMHO. 워크스테이션 마더보드와 ECC RAM을 구입하는 것이 좋습니다. 내 서버에서도 사용하고 있습니다. 좋은 일반 마더보드 및 RAM과 가격이 거의 같습니다. 서버 마더보드도 훌륭하지만 가격이 두 배, 세 배나 비싸서 감당할 수가 없어요...

또 다른 옵션은 BTRFS를 사용하는 것이지만 비 ECC 메모리의 경우 ZFS만큼 나쁩니다. 예를 들어https://www.spinics.net/lists/linux-btrfs/msg59566.html사무실. 정기적으로 백업을 저장하고 데이터에 비트 부패가 전혀 없도록 유지하는 것이 중요하지 않은 경우 비 ECC RAM과 함께 ZFS 또는 BTRFS를 사용할 수 있습니다. AFAIK. ZFS는 SHA1을 사용하고 BTRFS는 CRC32C를 체크섬으로 사용합니다. 10Gbps(1200MB/s) 속도의 새 SSD가 있는 경우 이러한 SSD는 상대적으로 느린 체크섬 알고리즘으로 인해 ZFS에서 병목 현상이 발생할 가능성이 더 높습니다. 내가 기억하는 한 SHA1은 CRC32C보다 약 8~10배 느리고 CRC32보다 2배 느립니다. 이는 하드 드라이브에는 문제가 되지 않습니다. CRC32는 충돌이 없기 때문에 ZFS는 비트 회전 감지에서 약간 더 좋습니다.

체크섬을 꺼도 ZFS, BTRFS 또는 파일 시스템과 관련된 비ECC 관련 문제가 해결되지 않는다는 것을 제가 이해하고 있습니다. 비트 썩음을 감지하여 문제를 해결할 뿐이므로 썩은 데이터로 데이터를 덮어써도 실패하지 않습니다. 그러나 위의 BTRFS 링크에서 볼 수 있듯이 잘못된 비ECC 메모리는 전체 파일 시스템을 종료할 수 있습니다. 따라서 비트로트가 있는 일부 파일은 여기서 실제로 문제가 되지 않습니다. 그러나 ofc. 저는 해당 주제에 대한 전문가는 아닙니다. 단지 몇 (수백) 개의 기사를 읽어 보면 됩니다...

관련 정보