L2ARC 및 ZIL의 경우 : 하나 또는 두 개의 작은 SSD에 하나의 큰 SSD를 사용하는 것이 더 낫습니까?


22

주요 참고 사항

ZFS L2ARC (Brendan Gregg) (2008-07-22) 및 ZFS 및 하이브리드 스토리지 개념 (Anatol Studler 's Blog) (2008-11-11)에는 다음 다이어그램이 포함됩니다.

ARC, L2ARC, ZIL 및 디스크 스토리지 풀의 ZFS 피라미드 뷰

의문

SSD 계층에서 세로 흰색 선을 별도의 SSD 를 사용하는 것을 선호하는 것으로 해석해야합니까?

  • 단일 디스크에서 L2ARC와 ZIL을 혼합 하지 않는 환경 설정 ?

배경 (의견에 대한 답변)

개인적으로 집에서는 L2ARC 또는 ZIL을 사용 가능한 컴퓨터와 함께 사용하지 않을 것입니다. (저의 일상 컴퓨터는 8GB 메모리 및 하이브리드 Seagate ST750LX003-1AC154가 장착 된 MacBookPro5,2입니다. 광학 드라이브를 SSD로 교체 할 계획은 없습니다.)

다른 곳 : 직장에서 키트를 용도 변경하지만 날짜 나 세부 사항이 없습니다. (Xserve RAID x2는 혼합되어 있습니다. 현재 ZFS에 제공하는 것은 상상할 수 없지만 마음을 열었습니다.)

SSD 모범 사례에 대한 호기심 L2ARC 및 ZIL 모두는 ZEVO 지역에서 성능 관련 논의를 다음 동안 시작 - 사용자가 하나의 디스크에 L2ARC 및 ZIL 모두있는 경우 특히 주제 아래 언급했다.

다른 참고 문헌 및 토론

L2ARC 스크린 샷 (Brendan Gregg) (2009-01-30)

SLOG 스크린 샷 (Brendan Gregg) (2009-06-26)

[zfs-discuss] ZFS 루트 백업 / "재해"복구 및 루트 풀 이동 (2011-01-10) 은 단일 디스크에서 가지 (루트 풀, ZIL 및 L2ARC) 의 혼합을 권장합니다.

… 동일한 디스크에서 3 개를 모두 관리 할 때 발생할 수있는 문제는 없습니다. 예를 들어, 데이터 풀을 다시 설치하고 실수로 ZIL의 내용을 복제하기로 결정한 경우. 관리 및 복구를 단순하게 유지하기 위해 풀 구성 요소 또는 풀간에 디스크를 공유하지 마십시오. …

– 하나의 디스크에 두 가지 를 혼합하지 않는 것이 더 좋은지에 관심이 있습니다.

/superuser//a/238744/84988(2011-01-28 )은 "캐시 (L2ARC 캐시) 및 SSD에 쓰기 로그 (ZIL)"( 단일 )를 언급합니다 . 그러나 FUSE 및 Windows와 관련되어 있으므로 ZFS를보다 일반적이고 성능 중심적인 용도로 사용하는 것과 관련이 있다고 생각하지 않습니다.

@ChrisS 는 2011-08-16의 The Comms Room에서 ZIL과 L2ARC를 언급했습니다 .

http://forums.macrumors.com/showpost.php?p=14248388(2012-01-31 )에서는 여러 SSD에 대해 설명 합니다.

ZFS에 대해 알아야 할 사항 : 일반적으로 SSD에 내장 된 두 가지 종류의 캐시, 읽기 및 쓰기 (L2ARC 및 ZIL)가 있습니다. ZIL은 쓰기 캐시입니다. 그것은 아마도이 오해에서 비롯된 것입니다. zpool에 발생할 때마다 ZIL이 손상됩니다 (활성 시스템 가정). 문제는 mlc 기반 SSD를 ZIL로 사용하면 마모되어 매우 빠르게 실패한다는 것입니다. ZIL 드라이브로 사용하려면 훨씬 더 비싼 slc 기반 SSD가 필요합니다.

zpool을 SSD로만 구성하면 가능할뿐만 아니라 매우 잘 작동합니다. 또한 기본적으로 ZIL과 L2ARC를위한 별도의 드라이브가 필요하지 않습니다. 그렇습니다. TRIM을 지원하지는 않지만 ZFS의 기록 중 복사 특성을 기반으로하는 것이 좋습니다.

그러나 ZFS는 거의 전체 (예 : 85 % 이상) zpool에서 잘 작동하지 않습니다. 회전식 자성 매체를 사용하든 솔리드 스테이트를 사용하든 관계없이 성능이 크게 떨어지기 시작합니다. TRIM 지원이 부족하면 해당 문제를 악화시킬 수 있지만 이미 문제입니다.

/server//a/397431/91969 (2012-06-11)는 다음을 권장합니다.

  • ZIL 용 SLC 유형 SSD (특히 MLC 아님)
  • L2ARC 용 MLC 유형 SSD.

/superuser//a/451145/84988(2012-07-19 )은 단 하나의 "ZIL 및 L2ARC 용 ZD로 ZFS 속도를 높입니다"라고 언급합니다 .

zevo.getgreenbytes.com • 주제보기-FW800 연결 순서와 관련된 성능 문제? (2012-09-24)는 ZIL 및 L2ARC 용 단일 SSD를 사용하는 FireWire 버스의 주문 순서와 관련이 있습니다.

  • 버스 주문을 제외하고 ZEVO 주제는 별도의 SSD가 선호되는지 궁금해하기 시작했습니다.

더 구체적으로 : 위의 다이어그램에서 흰색 선의 해석에 대해 궁금했습니다.


2
서버 오류 문제 일 수 있습니다. 그러나 고려해야 할 사항은 스토리지 풀의 읽기 대 쓰기로드입니다. SSD raid가 일반적으로 단일 드라이브 구성보다 쓰기 성능이 크게 저하되는 방법을 보여주는 일부 연구가 있습니다. xbitlabs.com/articles/storage/display/…

2
ZFS에 친숙 할 가능성이 높은 사람들은 수퍼 유저보다 서버 결함 일 가능성이 높습니다. 이사 투표, 그러나 훌륭한 질문.
afrazier

현재 두 개의 투표가 마감되는 것을 보았습니다. 대신 질문을 간단히 옮길 수 있습니까? 덕분에 @afrazier
그레이엄 페린

1
서버 결함에 오신 것을 환영합니다. FAQ에서 알 수 있듯이, 우리는 직면 한 특정 문제를 바탕으로 실용적이고 대답 가능한 질문을 선호합니다 . 즉, 당신은 여기에서 많은 이론과 토론을 겪었지만 누락 된 것처럼 보이는 것은 당신이 해결하려는 문제입니다. 실용적인 세부 사항을 추가하면 훌륭한 질문이 있습니다.
Michael Hampton

1
VTC 답변을 이동시키는 방법입니다. 대부분의 VTC가 사이트로 이동해야하는 경우 이동합니다. 그리고 네, 실제적인 세부 사항,이 모습은 제발 정말 잘 쓰여진 및 설명, 그러나 당신이 처한 상황을 모르고, 하드 실제로 특정 답변을 얻을 수 있습니다. 당신은 분명히 kickass ZFS 설정을 작성하고 있으며 세부 사항은 답을 해결하는 데 도움이 될 것입니다.
Journeyman Geek

답변:


14

짧은 대답, 당신이 해결하려는 문제가 보이지 않기 때문에 ...

가능하면 별도의 장치를 사용하십시오. 이는 환경의 규모에 따라 다릅니다. 단순한 홈 시스템이거나 가상화 된 또는 올인원 ZFS 솔루션 인 경우 단일 장치를 사용할 수 있습니다.

더 큰 고성능 ZFS 솔루션에서는 ZIL 또는 L2ARC 역할에 적합한 장치를 사용합니다. 예를 들어 ZIL 용 STEC ZeusRAM 또는 DDRDrive 및 L2ARC 용 엔터프라이즈 SLC 또는 MLC SAS SSD입니다.

  • ZIL 장치는 IOPS가 높은 저용량, 저 지연 장치 여야합니다. 일반적으로 미러링됩니다.
  • L2ARC 장치는 대용량이어야합니다 (이유 : L2ARC 크기가 증가함에 따라 RAM을 추가해야합니다). 그들은 스트라이핑에 의해 확장됩니다.

뭐하는거야?


질문에 배경을 추가했습니다. 이 답변은 이상적입니다 – 감사합니다 – 수락하기 전에 며칠 동안 열어 두겠습니다.
Graham Perrin

링크 목적 : @ewwhite ZFS 의 2011 년 질문-ZIL 또는 L2ARC 사용을 위해 SSD를 파티션하는 방법은 무엇입니까? 허용 된 답변 내에서 "… 풀당 전용 ZIL 및 L2ARC 장치를 사용하는 방법"입니다.
Graham Perrin

6

ZIL에 대한 처음부터 몇 가지 근본적인 오해가 있으며 계속 진행하기 전에 수정해야합니다.

이해 : "정상적인"상황에서 ZIL / SLOG는 건드리지 않습니다.

그것은 것 에만 동기 쓰기가 명령하는 경우에 또는 서면의 경우 동기화 = 항상 특정 수영장 / 데이터 세트에 사용할 수 있습니다 ( "ZFS 동기화 수영장 / 데이터 세트를 얻을")

정상적인 상황에서는 ZIL을 읽지 않습니다. 재난 복구 기능입니다.

IE : ZIL은 전원이 꺼질 때만 존재합니다. 데이터가 풀에 커밋되기 전에 OS에 백업 된 데이터를 재생하는 데 사용됩니다. 풀에 대한 모든 ZFS 쓰기 (sync 또는 async)는 메모리 버퍼에서 가져옵니다.

정상적인 상황에서 데이터가 풀에 도달하면 슬로 그 항목이 증발 할 수 있습니다. 이는 단지 큰 순환 쓰기 버퍼 일 뿐이며 매우 클 필요는 없습니다 (대부분의 환경에서 1GB 이상으로 과잉)

비동기식 쓰기는 램으로 버퍼링되고 적절한 순간에 데이터를 수집하여 디스크에 씁니다. 전원이 꺼지면 해당 데이터는 손실되지만 FS 무결성은 유지됩니다 (동기화 = 항상 설정하려는 이유)

반면에 L2ARC는 읽기 및 쓰기 수준에서 크게 손상됩니다.

l2arc에있는 메타 데이터가 ARC 램에서 나오기 때문에 "너무 많은 l2arc"와 같은 것이 있습니다 (즉, l2arc 크기를 늘리면 램을 부스트해야합니다. 그렇지 않으면 성능이 크게 저하 될 수 있습니다. 결국 l2arc 사용량은 "사용 가능한 모든 공간"보다 훨씬 낮은 수준에서 레벨이 떨어집니다.)

일부 제조업체의 항의에도 불구하고 l2arc 크기를 늘려서 메모리 부족을 보완 할 수는 없습니다 (ZFS 어플라이언스로 분기 된 여러 하드웨어 RAID 어레이 제조업체가이를 가정했습니다)

tl; dr : IO로드가 데이터베이스 활동 인 경우 ZIL이 세게 닫힐 수 있습니다. 그것이 다른 것이라면 가볍게 만질 것입니다. 활동의 99.9 %에서 ZIL 기능이 작동하지 않을 가능성이 높습니다.

이를 알고 있으면 ZIL 용 SLOG 파티션이 필요한지, l2arc 파티션과 함께 사용할 수 있는지 또는 독립형 드라이브가 필요한지 (및 독립형 드라이브의 성능 수준)를 결정할 수 있습니다.

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