ホットウォームコールドキャッシュにLVMCacheまたはBCacheを使用する

ホットウォームコールドキャッシュにLVMCacheまたはBCacheを使用する

私は最近、SLC SSD、QLC SSD、4TB HDDの3つの異なるドライブで現在Debianコンピュータを再構築しました。私は別のユーティリティを試してみましたが、lvmcache異なるキャッシュレベルで2つのSSDを利用するマルチレイヤキャッシュソリューションを作成できるかどうか疑問に思いました。

私のユートピアの構造は次のとおりです。

  • SLC SSD(最も高速で最も信頼性が高い):頻繁に書き込みおよび読み取るファイル用のホットキャッシュ
  • QLC SSD(高速で優れた安定性):頻繁に書き込まず読み取らない(おそらくより大きい)ファイルのためのホットキャッシュ
  • HDD(Slow、High Reliability):頻繁に書き込んだり読んだりしないファイル用のコールドストレージ

lvmcachebcache残念ながら、この種の構成を可能にする多層キャッシュ機能は、国内(または他の場所)であまり見られませんでした。

lvmcachebcacheこのように設定できますか?そうでない場合、この構成を達成するための他のソリューションはありますか?

答え1

このソリューションは両方を使用します。dm-cacheSLC(ホット)およびQLC(ワーム)SSDの場合bcacheデバイス(HDD/コールド)サポート用。

#!/bin/bash

# Step 1: Set up dm-cache
# Create the cache device with the SLC SSD as the fastest tier
sudo dmsetup create slc_cache --table "0 $(blockdev --getsz /dev/slc_ssd) cache /dev/slc_ssd /dev/slc_ssd_metadata"

# Create the cache device with the QLC SSD as the slower tier
sudo dmsetup create qlc_cache --table "0 $(blockdev --getsz /dev/qlc_ssd) cache /dev/qlc_ssd /dev/qlc_ssd_metadata"

# Step 2: Create bcache device
# Create the backing device using the HDD
sudo make-bcache -B /dev/hdd

# Format the bcache device
sudo mkfs.ext4 /dev/bcache0

# Step 3: Configure bcache
# Attach the dm-cache devices to the bcache device
sudo echo "slc_cache" > /sys/block/bcache0/bcache/add_cache
sudo echo "qlc_cache" > /sys/block/bcache0/bcache/add_cache

# Register the bcache device as a caching device
sudo echo "writeback" > /sys/block/bcache0/bcache/cache_mode

# Register the bcache device as the backing device for the cache devices
sudo echo "/dev/bcache0" > /sys/block/slc_cache/bcache/backing_dev
sudo echo "/dev/bcache0" > /sys/block/qlc_cache/bcache/backing_dev

# Mount the bcache device
sudo mkdir /mnt/cached_hdd
sudo mount /dev/bcache0 /mnt/cached_hdd

# Update /etc/fstab to mount the bcache device on boot
echo "/dev/bcache0 /mnt/cached_hdd ext4 defaults 0 0" | sudo tee -a /etc/fstab

関連情報