私は最近、SLC SSD、QLC SSD、4TB HDDの3つの異なるドライブで現在Debianコンピュータを再構築しました。私は別のユーティリティを試してみましたが、lvmcache
異なるキャッシュレベルで2つのSSDを利用するマルチレイヤキャッシュソリューションを作成できるかどうか疑問に思いました。
私のユートピアの構造は次のとおりです。
- SLC SSD(最も高速で最も信頼性が高い):頻繁に書き込みおよび読み取るファイル用のホットキャッシュ
- QLC SSD(高速で優れた安定性):頻繁に書き込まず読み取らない(おそらくより大きい)ファイルのためのホットキャッシュ
- HDD(Slow、High Reliability):頻繁に書き込んだり読んだりしないファイル用のコールドストレージ
lvmcache
bcache
残念ながら、この種の構成を可能にする多層キャッシュ機能は、国内(または他の場所)であまり見られませんでした。
lvmcache
bcache
このように設定できますか?そうでない場合、この構成を達成するための他のソリューションはありますか?
答え1
このソリューションは両方を使用します。dm-cache
SLC(ホット)および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