Những ưu điểm / nhược điểm của các tùy chọn bộ nhớ cache SSD và ổ cứng khác nhau (dm-cache, flashcashe cám) là gì?


23

Dường như có nhiều công nghệ khác nhau có sẵn để sử dụng SSD để hoạt động như một bộ đệm cho HHD. Những cái tôi biết:

  • dm-cache (bởi Redhat - trong Hạt nhân 3.9, do đó, nó phải ở trong Ubuntu 13.10)
  • Flashcache (được phát triển và sử dụng bởi facebook)
  • Bcache (được phát triển và sử dụng bởi Google)
  • EnhanceIO (bởi STEC; dựa trên Flashcache)

Có sự khác biệt đáng chú ý nào trong các triển khai khác nhau không? Cái nào là tốt nhất cho việc sử dụng máy tính để bàn thông thường - để tăng hiệu suất của các chương trình thông thường như trình duyệt web hoặc trò chơi?


Để tăng hiệu suất, tôi thấy rằng việc cài đặt Ubuntu 64 bit, hoạt động rất tốt, máy của tôi thậm chí còn nhanh hơn trước! Ngoài ra, về bộ đệm, bạn nên sử dụng bộ đệm ram được nén với gói này zram-configsẽ được ưu tiên sử dụng trao đổi. Và, lưu trữ trò chơi trên SDD và kiểm tra nó. Một số trò chơi sẽ không hoạt động nhanh hơn nhiều, những trò chơi khác sẽ hoạt động rất tốt! Tôi không thích sử dụng SDD làm bộ đệm vì giới hạn ghi của nó nhưng SDD đang ngày càng rẻ hơn nên không còn quá lo lắng nữa :)
Aquarius Power

Câu trả lời:


14

Tôi thực sự không biết bắt đầu từ đâu, vì tất cả đây là thông tin tuyệt vời. Tôi sẽ bắt đầu với một số thông tin về SSD, sau đó là mô tả về tất cả các phương thức lưu trữ khác nhau và chỉ đi từ đó. Tôi hy vọng bạn

Ưu điểm / nhược điểm

  • Giá: SSD là một số đắt tiền
  • Dung lượng tối đa và phổ biến: SSD dung lượng cao rất hiếm và đắt tiền
  • Tốc độ: Đây là nơi mà SSD có lợi thế
  • Độ bền: SSD không có bộ phận chuyển động

Tốt nhất để có một hệ thống kết hợp, để có tốt nhất của cả hai thế giới (công suất, độ tin cậy, tốc độ, v.v.)

Nhân Linux 3.9 (được cung cấp vào ngày 28 tháng 4 năm 2013) giới thiệu bộ nhớ đệm SSD. Trình ánh xạ thiết bị của kernel hiện bao gồm một mục tiêu bộ đệm được gọi là dm-cache cho phép SSD hoặc thiết bị lưu trữ khác được sử dụng làm bộ đệm cho ổ cứng. Về cơ bản, nó tăng tốc độ ghi và đọc dữ liệu vì nó cho phép SSD nhanh hơn vào dữ liệu bộ nhớ cache đầu tiên và sau đó chuyển nó vào ổ cứng chậm hơn.

Nguồn: Iwn

Flashcache là một mô-đun ban đầu được viết và phát hành bởi Facebook (Mohan Srinivasan, Paul Saab và Vadim Tkachenko) vào tháng 4 năm 2010. Điều này thường được sử dụng để lưu trữ ổ đĩa quay trên ổ đĩa trạng thái rắn nhỏ hơn vì lý do hiệu suất. Điều này cung cấp cho bạn tốc độ của ổ SSD và kích thước của ổ đĩa quay tiêu chuẩn cho các tệp được lưu trong bộ nhớ cache gần đây. FlashCache là bộ đệm khối ghi lại mục đích chung cho Linux.

Nguồn: ArchLinux

Bcache là bộ đệm lớp nhân Linux. Nó cho phép một hoặc nhiều ổ đĩa nhanh như ổ đĩa trạng thái rắn dựa trên flash (SSD) hoạt động như một bộ đệm cho một hoặc nhiều ổ đĩa cứng chậm hơn.

Ổ cứng rẻ và lớn, SSD nhanh nhưng nhỏ và đắt. Sẽ không tốt sao nếu bạn có thể minh bạch những lợi thế của cả hai? Với Bcache, bạn có thể có bánh của mình và ăn nó.

Các bản vá Bcache cho nhân Linux cho phép một người sử dụng SSD để lưu trữ các thiết bị khối khác. Nó tương tự như L2Arc cho ZFS, nhưng Bcache cũng thực hiện ghi lại bộ nhớ đệm (ngoài việc ghi thông qua bộ đệm), và đó là hệ thống tập tin bất khả tri. Nó được thiết kế để được bật với tối thiểu nỗ lực và hoạt động tốt mà không cần cấu hình trên bất kỳ thiết lập nào. Theo mặc định, nó sẽ không lưu bộ đệm IO tuần tự, chỉ đọc và ghi ngẫu nhiên mà SSD vượt trội. Nó có nghĩa là phù hợp cho máy tính để bàn, máy chủ, mảng lưu trữ cao cấp và thậm chí có thể được nhúng.

Mục tiêu thiết kế là nhanh như SSD và thiết bị được lưu trong bộ nhớ cache (tùy thuộc vào bộ nhớ cache so với bỏ lỡ và ghi thông báo so với ghi lại ghi) trong phạm vi lỗi. Nó không hoàn toàn ở đó, chủ yếu để đọc tuần tự. Nhưng thử nghiệm đã chỉ ra rằng nó hoàn toàn có thể, và thậm chí trong một số trường hợp phải làm tốt hơn - chủ yếu là viết ngẫu nhiên.

Nguồn: Bcache

Bcache có một nhược điểm lớn và nó lấy đi bộ nhớ từ hệ thống để thực hiện bộ đệm.

EnhanceIO là một giải pháp chạy bên dưới lớp ứng dụng, cho phép các ứng dụng sử dụng các lợi ích hiệu suất của SSD mà không cần thay đổi cơ sở hạ tầng CNTT lớn. Bộ nhớ cache SSD có thể mang lại hầu hết các lợi ích của việc chuyển đổi từ ổ cứng sang ổ SSD với chi phí chỉ bằng một phần của hệ thống tất cả SSD. Một hệ thống được lưu trữ thường hoạt động với ít năng lượng hơn một hệ thống có hiệu năng tương tự dựa trên ổ cứng và điều đó tạo ra lợi ích phụ bằng cách giảm các yêu cầu làm mát.

Bộ nhớ cache SSD cũng có thể kéo dài tuổi thọ hữu ích của hệ thống hiện tại bằng cách cải thiện hiệu suất để đáp ứng nhu cầu ngày càng tăng thông qua đầu tư gia tăng, thay vì thông qua nâng cấp / thay thế bán buôn của hệ thống hiện có.

Bộ nhớ đệm cũng cho phép truy cập dữ liệu nhanh hơn mà không cần chi phí quản trị lưu trữ bổ sung để có được và cài đặt các giá đĩa mới, định cấu hình LUN mới và di chuyển dữ liệu sang LUN mới. Bộ nhớ đệm gần như trong suốt và đòi hỏi ít nếu có thời gian chết. EnhanceIO dựa trên Flashcache.

Nguồn: Stec-Inc

bcache là vô giá trị nhất vì nó đòi hỏi phân vùng dữ liệu được chuẩn bị đặc biệt (được định dạng). Điều này gây khó khăn (nếu có thể) để gắn bộ đệm vào phân vùng hiện có với dữ liệu vì người ta sẽ cần 200% dung lượng và thực hiện di chuyển dữ liệu dài để kích hoạt / hủy kích hoạt bộ đệm.

Điểm sáng chói của EnhanceIO là nó hoàn toàn không cần thiết bị trung gian và có thể được gắn vào bất kỳ thiết bị khối nào khi đang di chuyển ngay cả khi thiết bị đã được gắn. Một điều cực kỳ thú vị khác là bạn có thể đính kèm bộ đệm EnhanceIO không chỉ vào phân vùng mà còn cho thiết bị khối được phân vùng để lưu trữ tất cả các phân vùng của nó cùng một lúc. Giống như các mô-đun enchanceio flashcache được xây dựng với DKMS và có thể được sử dụng với các nhân cũ hơn.

Nguồn: Debian

Ưu điểm của bộ nhớ cache DM

Bộ nhớ cache DM sử dụng kiến ​​trúc đơn giản hóa, giúp chúng có thể thích ứng và dễ dàng tùy chỉnh. Người dùng có thể điều chỉnh kích thước khối và dung lượng bộ đệm dựa trên lượng dữ liệu sẽ phải xử lý hoặc dựa trên giá trị của dữ liệu. Nếu một ứng dụng cụ thể cần lưu trữ rất nhiều dữ liệu theo trình tự, người dùng có thể định cấu hình bộ đệm cho mục đích đó. Nếu người dùng muốn ghi thông tin trong cơ sở dữ liệu đồng thời với bộ đệm, điều đó sẽ không can thiệp vào các hoạt động của bộ đệm.

Ưu điểm của DM Cache

Một nhược điểm khi sử dụng bộ đệm DM là hệ điều hành Linux có không gian hạn chế để lưu trữ siêu dữ liệu. Nếu bộ đệm lớn và bao gồm nhiều khối nhỏ, điều đó sẽ thêm vào rất nhiều siêu dữ liệu cho thông tin được lưu trữ. Để giải quyết vấn đề này, người dùng phải tăng kích thước khối. Một vấn đề khác có thể xảy ra là, sau sự cố máy chủ, siêu dữ liệu bộ đệm có thể không còn phù hợp với nội dung bộ đệm, mặc dù cuối cùng có thể khôi phục cấu hình chính xác.

Nguồn: Bổ sung của Fraser Sherman

Vì vậy, từ các thông tin trên, rõ ràng EnhanceIO là hướng đi, nhưng theo ý kiến ​​của tôi vì nó dựa trên Flashcache, tôi sẽ sử dụng bộ nhớ cache flash. Nhưng tôi chắc chắn sẽ thử cả hai trước khi đưa ra quyết định cuối cùng.


EnhanceIO: trình điều khiển dựa trên phần mềm bộ nhớ cache EhanceIO SSD có nguồn gốc từ dự án Flashcache mã nguồn mở của Facebook rất hữu ích cho việc sử dụng SSD làm thiết bị bộ đệm cho ổ cứng truyền thống. webupd8.org/2013/05/get-better-linux-desktop-performance.html
Qasim

Cảm ơn câu trả lời! Hy vọng EnhanceIO sẽ cập nhật kernel 3.10 và có sẵn trong phiên bản Ubuntu tiếp theo.
Uli

1
Viết tốt, nhưng tôi phải nhấn mạnh rằng bộ đệm DM hoàn toàn an toàn, nếu bạn gặp sự cố, bạn sẽ không mất bất kỳ dữ liệu nào. Trong thực tế, bộ đệm có thể kém hiệu quả hơn trong một thời gian cho đến khi siêu dữ liệu được tạo lại.
lzap

3
Nhận xét về việc sử dụng bộ nhớ bcache là không chính xác, do đó, (trích dẫn) một về chuyển đổi.
Gabriel

@Gabriel thoải mái sửa đổi, nhưng bao gồm nguồn. :)
Mitch

1

Phản hồi: Tôi đã cài đặt các gói gỡ lỗi tiêu chuẩn flashcache trên Ubuntu khoảng một năm trước ở chế độ ghi lại vào bộ nhớ cache / home (2TB) thành một lát 50 GB trên ổ SSD. Nó đã thực hiện tuyệt vời mà không có vấn đề. Tôi đã có một vài lần "treo" liên quan đến X (nghĩa là không liên quan đến flashcache) và đã sử dụng "Ctrl-Alt-PrtScr REISUB" một vài lần để phục hồi mà không gặp vấn đề gì và không gặp vấn đề tham nhũng. Tôi đã sử dụng flashcache vì a) đã có sẵn các bản sửa lỗi và b) nó không yêu cầu sao lưu và khôi phục / home.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.