RAM이 적은 환경에서 최적화 된 ZFS?


10

현재 파일 서버를 설정 중이며 실제로 데이터 드라이브를 설정하는 시점에 도달했습니다. 시스템에는 4 개의 드라이브 (OS 디스크 1 개, 데이터 디스크 3 개)가 있습니다. OS 디스크는 ext4로 포맷되어 ZFS 풀에 추가되지 않습니다 (ZFS를 실행하도록 선택한 경우). 내 주요 관심사는 데이터 무결성과 데이터 손실의 최소 위험입니다 (드라이브 캐싱은 BIOS에서 비활성화되어 있습니다). 이 ZFS는 Linux 용으로 안정적인 버전 (올바른?)을 가지고 있으며 하드 드라이브의 크기가 같지 않아도되는 데이터 복제, 풀링 및 raidz를 지원하므로 완벽한 후보로 보입니다.

그러나 여기 내 문제가 있습니다. 서버에는 2GB의 RAM 만 있으며 가까운 시일 내에 업그레이드 할 수 없으며 다른 모든 서비스를 설치하면 실제로 ZFS에 실제로 1.5 만 액세스 할 수 있습니다. 한 번에 최대 약 10 명의 클라이언트가이를 사용합니다 (평균 4 명 이상). 안전하다고 생각하기에는 너무 낮습니까?

내가 이해 한 바에 따르면 ZFS는 RAM이 적은 상황에서 충돌이 발생하여 풀을 사용할 수 있습니다. 스왑이이 문제를 완화하는 데 도움이 될지에 대해 의견이 분분합니다 (20GB 스왑 전용 드라이브가 있습니다). RAM이 거의없는 ZFS에서 데이터 손실이 발생했으며이를 방지하기 위해 어떤 최적화를 포함 시켰습니까?

위의 사항을 염두에두면 여전히 ack 크기를 줄이고 조금 줄이더라도 ZFS를 계속 실행할 수 있습니까? 아니면 너무 위험합니까?

시스템 사양 : 2GB RAM 20GB 스왑 드라이브 OS, 데비안 7, 최소 설치, FTP 및 XBMC, DNLA (RAM 요구 사항에 대한 아이디어 제공). 스토리지 서버 및 음악 미디어를 다른 장치로 스트리밍하는 데 사용됩니다.


1
나는 하지 하여 ZFS 전문가,하지만 일반적으로 파일 시스템에 대한 공정한 비트를 알고, 당신이 조심해야 한 장소를 알고 - 큰 시간 - 메모리 소비는 데이터 중복 제거 때문이다. 디스크 크기와 디스크에있을 데이터 양을 지정하지 않습니다. ZFS는 메모리 내 조회 테이블을 유지해야하므로 이는 엄청납니다. 다른 우려 사항에 대해서는 말할 수 없지만 중복 제거를 확실히 제거 할 수 있습니다. 또한 btrfs는 이제 백업 된 데이터에 대해 상당히 성숙합니다. 당신은 그것을 고려 했습니까? 일부 통찰력에 대해서는 arstechnica.com/civis/viewtopic.php?f=16&t=1226135 를 확인하십시오 (일부는 의심의 여지가 없습니다).
ravenpi

아 그래요. 풀은 3.35tb입니다 (디스크와 데이터 모두 매일 9 명의 클라이언트를 백업하므로 빠르게 채워질 것입니다.) btrfs를 지적 해 주셔서 감사합니다. 이제는 그것이 안정적임을 알지 못했습니다. 잘 살펴볼 것 같습니다.
Thomas E

"안정적"은 내가 그것을 부르기 위해 서두르지 않을 것입니다. 하나는 전화를 주저 어떠한 경우에도 좀-그렇다고 약간 새로운 파일 시스템 "안정을." 그러나 거기에 도착하고있다. LWN (Linux Weekly News)은 방금 시리즈를 만들었습니다. 좋습니다. lwn.net/Articles/576276
ravenpi

답변:


5

데이터 무결성과 데이터 손실 위험을 주요 관심사로 명시합니다. 2GiB의 메모리만으로 ZFS를 실행하는 것은 위험하며 권장되지 않습니다. RAM이 너무 적 으면 성능이 저하되어 과거에는 수많은 마운트 풀이 발생했습니다. FreeNAS에서 프로젝트는 최소로 RAM의 8GiB을 말한다.

또한 데이터 손실이 우려되므로 ECC RAM을 사용하는 것이 좋습니다. 귀하의 상자는 2GiB의 RAM 만 지원할 수 있기 때문에 ZFS에는 적합하지 않은 오래된 상자라고 가정합니다.

질문에 대답하려면 :

[…] 데이터 복제 지원

실제로 경험상 32GiB가없는 경우 중복 제거를 잊어 버리십시오. 풀 크기에 따라 훨씬 더 많은 RAM이 필요할 수 있습니다. 둘째, 중복 제거 + RAM 비용이 소수의 추가 디스크보다 저렴한 경우 계산을 수행하십시오. 종종 더 많은 디스크가 더 저렴한 대안입니다.

안전하다고 생각하기에는 너무 낮습니까?

예, 너무 낮습니다.

내가 이해 한 바에 따르면 ZFS는 RAM이 적은 상황에서 충돌이 발생하여 풀을 사용할 수 있습니다.

RAM이 부족하여 많은 사람들이 풀을 잃었습니다.

스왑이이 문제를 완화시키는 데 도움이 될지에 대한 갈등이 많은 의견을 들었습니다.

스왑을 잊어 버려 ZFS 상자는 스왑을 사용해서는 안됩니다.

편집 : 모험심이 있고 때때로 패닉이나 데이터 손실의 위험이 걱정되지 않으면 ZFS 튜닝 안내서를 읽고 언급 된 설정을 조정하십시오. 다음은 768MiB 메모리 시스템의 설정 예입니다.

vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"

그렇지 않으면 메모리 스트립에 백 달러를 투자하고 안정적이고 성능이 뛰어난 시스템을 즐기십시오.


3
내가 참조. 예를 들어 ecc 램을 가지고 있으며 기계는 최대 8 / 16GB 램을 지원하는 hp proliant microserver gen7입니다. 현재 더 많은 램을 구매하는 것이 경제적으로 불가능합니다. 나는 freenas가 8GB를 권장한다는 것을 알고 있었지만 freebsd 및 Solaris 설명서는 최소 1GB를 제안합니다. 이것이 질문의 이유입니다. 나는 이것에 비추어 ext4를 고수하고 rsync와 dd를 수동으로 오프라인 디스크에 수동으로 미러링해야하며 아마도 가장 안전한 솔루션 일 것입니다.
Thomas E

ZFS가 왜 SWAP를 사용하지 않아야하는지 자세히 설명 할 수 있습니까?
CMCDragonkai

ECC없이 ZFS를 사용하는 것이 다른 파일 시스템으로 동일한 하드웨어를 실행하는 것보다 더 위험한 이유는 없습니다.
Alicia

5
ZFS 커뮤니티가 왜 항상 그러한 거만 스 누버에 대해 언급하고 있습니까? 신뢰할 수있는 데이터 햇 $ 100을 원하는 모든 사람이 완전히 우스운 디자인 요구 사항을 충족 시키기 위해 거짓말을하는 것은 아닙니다 ! 예를 들어, 1GB 하드 유선 RAM 및 USB 하드 드라이브가 장착 된 소형 ARM 홈 서버가 있습니다. 나는 데이터가 감지되고 수정되어 비트 썩음으로부터 안전하고 백업 목적으로 스냅 샷을 갖기를 원합니다. 속도가 필요 없습니다. 그리고 btrfs는 설계 상 명백히 깨졌습니다. 따라서 일부 바보가 <128 엑사 바이트의 RAM을 가질 때마다 우울증에서 내리지 않도록 설계하지 않았다면 ZFS 현명 할 것입니다.
Evi1M4chine 2016 년

0

고용량 메모리 시스템 (리눅스)에서는 실제로 메모리를 업그레이드해야합니다. 교체시 IO (커널 정지 작업)를 잠그고 재부팅하지 않으면 사용할 수없는 버그 ( link ) 가 여전히 있습니다 . vm.swappiness = X는 zfs에 영향을 미치지 않으므로 아크를 특정 수로 제한하면 약간 도움이 될 수 있습니다.

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