다른 SSD-HDD 캐시 옵션 (dm-cache, flashcashe…)의 장점 / 단점은 무엇입니까?


23

SSD를 사용하여 HHD의 캐시 역할을하는 데 사용할 수있는 다양한 기술이 있습니다. 내가 아는 것 :

  • dm-cache (Redhat에 의해-3.9 커널에서 우분투 13.10에 있어야 함)
  • Flashcache (페이스 북에서 개발 및 사용)
  • Bcache (Google에서 개발 및 사용)
  • EnhanceIO (STEC 제공, Flashcache 기반)

다양한 구현에 주목할만한 차이점이 있습니까? 웹 브라우저 나 게임과 같은 일반적인 프로그램의 성능을 향상시키기 위해 일반 데스크탑 PC에 가장 적합한 것은 무엇입니까?


성능을 높이기 위해 64 비트 우분투 설치가 훌륭했으며 내 컴퓨터가 이전보다 훨씬 빨라졌습니다. 또한 캐시에 대해서는이 패키지와 함께 램 압축 캐시를 사용해야 zram-config스왑 사용에 우선 순위가 있습니다. 그리고 게임을 SDD에 저장하고 테스트하십시오. 일부 게임은 훨씬 빠르게 작동하지 않고 다른 게임은 훌륭하게 작동합니다! 쓰기 제한으로 인해 SDD를 캐시로 사용하지 않는 것이 더 좋지만 SDD가 더 저렴 해 지므로 더 이상 걱정하지 않아도됩니다.)
Aquarius Power

답변:


14

이 모든 것이 훌륭한 정보이기 때문에 어디서부터 시작 해야할지 모르겠습니다. SSD에 대한 정보부터 시작하여 모든 다른 캐싱 방법에 대한 설명을 시작하겠습니다. 나는 당신이 있기를 바랍니다

장점 단점

  • 가격 : SSD는 어떻게 든 비싸다
  • 최대 및 공통 용량 : 대용량 SSD는 매우 드물고 비쌉니다.
  • 속도 : SSD가 우위를 점하는 곳
  • 내구성 : SSD에는 움직이는 부품이 없습니다

하이브리드 시스템을 사용하는 것이 가장 좋습니다 (용량, 안정성, 속도 등).

2013 년 4 월 28 일에 출시 된 Linux 3.9 커널에는 SSD 캐싱이 도입되었습니다. 커널의 장치 맵퍼에는 SSD 또는 기타 저장 장치를 하드 드라이브의 캐시로 사용할 수있는 dm-cache라는 캐시 대상이 포함되었습니다. 빠른 SSD가 먼저 데이터를 캐시 한 다음 느린 하드 드라이브로 전송할 수 있으므로 데이터 쓰기 및 읽기 속도가 본질적으로 향상됩니다.

출처 : Iwn

Flashcache는 2010 년 4 월 Facebook (Mohan Srinivasan, Paul Saab 및 Vadim Tkachenko)이 처음 작성하고 릴리스 한 모듈입니다. 다른 드라이브에서 드라이브의 Write Through 캐싱을 허용하는 커널 모듈입니다. 성능상의 이유로 작은 솔리드 스테이트 드라이브에서 회전 드라이브를 캐싱하는 데 가장 자주 사용됩니다. 이는 SSD의 속도와 최근 캐시 된 파일의 표준 회전 드라이브 크기를 제공합니다. FlashCache는 Linux 용 범용 쓰기 저장 블록 캐시입니다.

출처 : ArchLinux

Bcache는 Linux 커널 블록 레이어 캐시입니다. 플래시 기반 SSD (Solid State Drive)와 같은 하나 이상의 고속 디스크 드라이브가 하나 이상의 느린 하드 디스크 드라이브에 대한 캐시 역할을 할 수 있습니다.

하드 드라이브는 저렴하고 크고 SSD는 빠르지 만 작고 비쌉니다. 두 가지 장점을 투명하게 얻을 수 있다면 좋지 않을까요? Bcache를 사용하면 케이크를 먹고 먹을 수도 있습니다.

Linux 커널 용 Bcache 패치를 사용하면 SSD를 사용하여 다른 블록 장치를 캐시 할 수 있습니다. ZFS의 L2Arc와 유사하지만 Bcache는 쓰기 저장 캐싱 (캐싱을 통한 쓰기 외에도)을 수행하며 파일 시스템에 무관합니다. 최소한의 노력으로 스위치를 켤 수 있으며 설정에 대한 구성 없이도 잘 작동하도록 설계되었습니다. 기본적으로 순차적 IO를 캐시하지 않고 SSD가 탁월한 임의의 읽기 및 쓰기 만합니다. 데스크탑, 서버, 고급 스토리지 어레이 및 심지어 내장형에도 적합합니다.

설계 목표는 SSD 및 캐시 된 장치 (캐시 적중 vs. 미스 및 쓰기 대 쓰기 / 쓰기에 따라 다름)만큼 오류 한계 내에서 빠른 속도를 유지하는 것입니다. 아직 순차 읽기를위한 것은 아닙니다. 그러나 테스트 결과는 강조 적으로 가능하며 경우에 따라 무작위 쓰기보다 더 나은 경우도 있습니다.

출처 : Bcache

Bcache는 큰 단점이 있으며 캐시를 구현하기 위해 시스템에서 메모리를 제거합니다.

EnhanceIO는 애플리케이션 계층 아래에서 실행되는 솔루션으로, 주요 IT 인프라 변경없이 애플리케이션이 SSD의 성능 이점을 활용할 수 있도록합니다. SSD 캐시는 모든 SSD 시스템 비용의 일부만으로 HDD에서 SSD로 전환 할 때 얻을 수있는 이점을 대부분 얻을 수 있습니다. 캐시 된 시스템은 일반적으로 유사한 성능의 HDD 기반 시스템보다 적은 전력으로 작동하며 냉각 요구 사항을 줄임으로써 부수적 인 이점을 만듭니다.

SSD 캐시는 기존 시스템의 도매 업그레이드 / 교체가 아닌 점진적인 투자를 통해 성능을 향상시켜 기존 시스템의 수명을 연장 할 수 있습니다.

캐싱은 추가 스토리지 관리 오버 헤드없이 새로운 디스크 선반을 확보 및 설치하고, 새로운 LUN을 구성하고, 새로운 LUN으로 데이터를 마이그레이션 할 수 있으므로 데이터에 더 빠르게 액세스 할 수 있습니다. 캐싱은 거의 투명하며 다운 타임이 거의 필요하지 않습니다. EnhanceIO는 Flashcache를 기반으로합니다.

출처 : Stec-Inc

bcache는 특별히 준비된 (포맷 된) 데이터 파티션이 필요하기 때문에 가장 가치가 없습니다. 따라서 캐싱을 활성화 / 비활성화하기 위해 200 % 용량이 필요하고 데이터를 오래 이동하여 캐시를 기존 파티션에 연결하는 것이 어렵습니다 (가능한 경우).

EnhanceIO의 장점은 중간 장치가 전혀 필요하지 않으며 장치가 이미 장착되어 있어도 즉시 모든 블록 장치에 연결할 수 있다는 것입니다. 또 다른 멋진 점은 EnhanceIO 캐시를 파티션뿐만 아니라 파티션 된 블록 장치에 연결하여 모든 파티션을 한 번에 캐시 할 수 있다는 것입니다. 플래시 캐시 enchanceio 모듈과 마찬가지로 DKMS로 빌드되고 이전 커널과 함께 사용할 수 있습니다.

출처 : 데비안

DM 캐시 장점

DM 캐시는 단순화 된 아키텍처를 사용하므로 적응 및 사용자 정의가 용이합니다. 사용자는 처리해야 할 데이터의 양이나 데이터 값에 따라 블록 크기와 캐시 용량을 조정할 수 있습니다. 특정 응용 프로그램에서 대량의 데이터를 순서대로 저장해야하는 경우 사용자는 해당 용도로 캐시를 구성 할 수 있습니다. 사용자가 캐시와 동시에 데이터베이스에 정보를 기록하려는 경우 캐시 작업을 방해하지 않습니다.

DM 캐시 단점

DM 캐시 사용의 한 가지 단점은 Linux 운영 체제에 메타 데이터 저장 공간이 제한되어 있다는 것입니다. 캐시가 크고 작은 블록이 많으면 저장된 정보에 대한 많은 메타 데이터가 추가됩니다. 이 문제를 해결하려면 사용자는 블록 크기를 늘려야합니다. 또 다른 가능한 문제점은 서버 충돌 후 캐시 메타 데이터가 더 이상 캐시 컨텐츠와 일치하지 않을 수 있지만 올바른 구성을 결국 복원 할 수 있다는 것입니다.

출처 : 프레이저 셔먼의 보완

따라서 위의 정보에서 EnhanceIO가 갈 길은 분명하지만 Flashcache를 기반으로하기 때문에 플래시 캐시를 사용합니다. 그러나 나는 최종 결정을 내리기 전에 두 가지 모두를 시도 할 것입니다.


EnhanceIO : 기존 HDD의 캐시 장치로 SSD를 사용하는 데 유용한 Facebook의 오픈 소스 Flashcache 프로젝트에서 파생 된 EhanceIO SSD 캐싱 소프트웨어 기반 드라이버입니다. webupd8.org/2013/05/get-better-linux-desktop-performance.html
Qasim

답변 해주셔서 감사합니다! EnhanceIO가 3.10 커널에 들어 와서 다음 Ubuntu 릴리스에서 사용할 수 있기를 바랍니다.
Uli

1
쓰기는 훌륭하지만 DM 캐시가 완전히 안전하다는 점을 강조해야합니다. 충돌이 발생하면 물론 데이터를 잃어 버리지 않습니다. 실제로 캐시는 메타 데이터가 재생성 될 때까지 한동안 효율성이 떨어질 수 있습니다.
lzap

3
bcache 메모리 사용에 대한 주석이 올바르지 않으므로 변환에 대한 인용 부호도 있습니다.
Gabriel

@Gabriel은 자유롭게 수정하되 소스를 포함하십시오. :)
Mitch

1

피드백 : 약 1 년 전에 Ubuntu에 플래시 캐시 표준 deb 패키지를 설치하여 SSD의 / home (2TB)을 50GB 슬라이스로 캐시합니다. 아무런 문제없이 훌륭하게 수행되었습니다. 나는 X 관련 "hangs"(플래시 캐시에 기인하지 않음)가 적었고 "Ctrl-Alt-PrtScr REISUB"를 몇 번 사용하여 아무런 문제없이 손상 문제없이 복구했습니다. a) 사용 가능한 deb가 있었고 b) / home의 백업 및 복원이 필요하지 않았기 때문에 flashcache를 사용했습니다.

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