https://rwmj.wordpress.com/2014/05/22/using-lvms-new-cache-feature/ で説明されているように、現在、UbuntuインストールでLVMキャッシュをセットアップしています。 (私はそれを機能させるためにいくつかの鮮やかな/提案されたパッケージをインストールする必要がありましたが、私は管理しました。)
次の方法で、論理ボリュームの1つをキャッシュボリュームに正常に変換できました。
# lvconvert --type cache --cachepool anson-TA75MH2/lv_cache anson-TA75MH2/root
Logical volume anson-TA75MH2/root is now cached.
ただし、これを実行した後、キャッシュされたパーティションのサイズを変更できません。
キャッシュされたパーティションを拡張しようとすると(この場合はroot
という名前になります。ファイルシステムのルートになるためです)、次のエラーメッセージが表示されます。
# lvextend anson-TA75MH2/root -L +250G
Unable to resize logical volumes of cache type.
キャッシュをオフにしてサイズを変更するにはどうすればよいですか?
参考のため:
sdaは私のメインの1TBハードドライブで、大きなLVMパーティションとlvmに移動する予定の縮小されたext4パーティションが含まれています。 sdbは安価な32GB SSDで、500MBのext2/bootパーティション、大きなlvmパーティション、8GBのスワップを備えています。
# vgs
VG #PV #LV #SN Attr VSize VFree
anson-TA75MH2 2 3 0 wz--n- 803.46g 499.96g
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 anson-TA75MH2 lvm2 a-- 782.47g 499.96g
/dev/sdb2 anson-TA75MH2 lvm2 a-- 21.00g 0
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
home anson-TA75MH2 -wi-ao---- 250.47g
lv_cache anson-TA75MH2 Cwi---C--- 20.96g
root anson-TA75MH2 Cwi-aoC--- 32.00g lv_cache [root_corig]
または、同じキャッシュを使用して複数のLVをキャッシュする方法がある場合は、それをお勧めします(ただし、オフにする方法を知りたいのですが)。しかし、私が試してみると、それは拒否されます:
# lvconvert --type cache --cachepool anson-TA75MH2/lv_cache anson-TA75MH2/home
lv_cache is already in use by root
lvconvert --uncache anson-TA75MH2/root
壊滅的なタイプミスの影響を受けにくいようです
lvremove anson-TA75MH2/lv_cache
しかし、manページのように、これらが主なオプションであると述べました。
Lvmcache(7)のマンページでは、Originボリュームを削除せずにキャッシュプールを削除する方法について説明しています。
リンクされたオリジンLVを削除せずにキャッシュプールLVを削除する
これにより、必要に応じてデータがキャッシュプールからOrigin LVに書き戻され、キャッシュプールLVが削除されて、キャッシュされていないOrigin LVが残ります。
lvremove VG/CachePoolLV
例:
# lvs vg LV VG Attr LSize Pool Origin cache0 vg Cwi---C--- 10.00g lvol0 vg Cwi-a-C--- 100.00g cache0 [lvol0_corig] # lvremove vg/cache0 # lvs vg LV VG Attr LSize Pool Origin lvol0 vg -wi-a----- 100.00g
だから私の場合、私はlvremove anson-TA75MH2/lv_cache
。これは、キャッシュプールを最初から再作成する必要がありますが、それは問題ありません。少し面倒です。 (これ以上の投稿がない場合は、数分以内にこれを行う予定です。)