Skip to content

Latest commit

 

History

History
73 lines (46 loc) · 4.27 KB

16.DM-cache.md

File metadata and controls

73 lines (46 loc) · 4.27 KB

1. Defined

  • 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ề).

2. Linux cache option

  • 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

3. DM-cache là gì ?

  • 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.

4. Cấu hình trên các Node LVM

  • 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