- Cache là tên gọi của bộ nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý.Mục đích của nó là để tăng tốc độ xử lý (có sẵn xài liền không cần tốn thời gian đi lùng sục tìm kéo về).
- Dm-cache : giải pháp cũ nhất nhưng củng là ổn định nhất. Được phát triển bởi vào năm 2006 bởi 1 nhóm nghiên cứu của IBM và được tích hợp vào Linux Kernel từ bản 3.9 .Sử dụng device-mapper framework
- FlashCache: một kernel module fađược phát triển dựa trên dm-cache, đươc phát triển và duy trì ở Facebook, cùng sử dụng device-mapper framework
- EnhanceIO, RapidCache : biến thể của flash cache
-
DM-cache là một thành phần trong Linux kernel's device mapper, đây là một framework cung cấp khả năng map block device trên các virutal-block có hiệu năng cao hơn . Nó cho phép các storage device có hiệu năng cao như SSD sẽ làm hoạt động như một cache tier. cho các stroage device có hiệu năng thấp hơn như HDD. Điều này cung cấp khả năng như một hybird storage device, cung cấp khả năng xử lý .
-
Để thiết kế một dm-cache yêu cầu cần ít nhất 3 physical storage device để khởi tạo một hybrid volume, dm-cache sẽ dụng các storage device để lưu trữ dữ liệu bền vững, cache và metadata.
-
Các mode có trong dm-cache
- write-through : các yêu cầu cầu write sẽ thực hiện đồng thên lớp cache và backend.
- write-back : ghi cho cache trước,việc ghi lên bộ nhớ bị trì hoãn đến khi có dữ liệu mới cần đặt lên vùng lưu trữ đó.
- pass-through : cho phép ghi vào lớp backend , bỏ qua lớp cache.
-
M. Dữ liệu trên ổ SSD cấu thành từ nhiều block (khối), mỗi block lại có cấu tạo nhiều page (trang). Khi bạn gửi một tác vụ xóa file (chiếm một số page nhất định) từ hệ điều hành đến SSD controller (bộ điều khiển), toàn bộ nội dung của block này được di chuyển sang cache (bộ nhớ đệm). Điều này có nghĩa là nội dung của block sẽ bị xóa hoàn toàn. Ở trong cache, các page mà bạn yêu cầu xóa sẽ bị xóa. Sau đó toàn bộ nội dung của block sẽ được di chuyển trở lại. Với cách thực hiện như trên, phần dữ liệu mà bạn muốn xóa đã thực sự bị xóa hoàn toàn, các page tương ứng sẽ chứa nội dung blank (trống).
-
Có thể conver từ một logical volume thành các cache device
-
Cấu hình LVM (enable TRIM )
# vi /etc/lvm/lvm.conf
issue_discards = 1
- Build boot
dracut -f
sync
reboot
- Liệt kê các storage device . Ví dụ với /dev/vdc là SSD và /dev/vdd là HDD
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 918M 0 rom
vda 252:0 0 30G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 29G 0 part
├─centos-root 253:0 0 26G 0 lvm /
└─centos-swap 253:1 0 3G 0 lvm [SWAP]
vdc 252:32 0 20G 0 disk
vdd 252:48 0 50G 0 disk
[root@ceph_node1 ~]#
- Khởi tạo LVS trên /dev/vdc
pvcreate /dev/vdc
vgcreate slow_storage /dev/vdc