我正在使用 LVM,并在 HDD 上设置带有 ext4 的卷,并且我想使用 SSD 作为缓存。
我首先做的是
lvcreate --type cache-pool -l 100%FREE -n datacache SSD /dev/sda3 lvcreate --type cache -l 100%FREE -n data --cachepool datacache SSD --cachemode writeback /dev/sdb1
分别创建一个名为 datacache 的缓存池 voume 和一个附加到 datacache 的名为 data 的 vomume。
我认为(问题是我不记得了)fstrim 以这种方式完美工作。
然后我必须在磁盘上执行一些操作,并且必须断开缓存。所以我取消了磁盘缓存
lvconvert --uncache /dev/mapper/SSD-data
然后我移动了磁盘(和其他人的想法),最后我将磁盘重新连接到缓存池
lvcreate --type cache-pool -l 100%FREE -n datacache SSD /dev/sda3 lvconvert --type cache --cachemode writeback --cachepool datacache SSD/data
问题是,现在如果我 fstrim 我得到
root@me:~# fstrim -a fstrim: /mnt/data: FITRIM ioctl failed: Argument not valid
我不完全确定在分离和重新连接缓存之前它是否有效,但我想是因为我测试了 fstrim 并且我不记得任何错误。
我正在使用 Debian Buster。
root@me:~# uname -a Linux me 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux
谢谢你的建议。如果我错过了一些重要信息,我真的很抱歉。告诉我你需要什么,我会发布它:D