かつて設定したSSDキャッシュを削除します。
環境
- CentOS Linux release 7.7.1908
- Linux 3.10.0-1062.18.1.el7.x86_64
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
[cache0] vg0 Cwi---C--- <362.79g 99.99 3.10 0.00
[cache0_cdata] vg0 Cwi-ao---- <362.79g
[cache0_cmeta] vg0 ewi-ao---- 372.00m
export vg0 Cwi-aoC--- <1.82t [cache0] [export_corig] 99.99 3.10 0.00
[export_corig] vg0 owi-aoC--- <1.82t
[lvol0_pmspare] vg0 ewi------- 372.00m
ボリュームグループ vg0 に、ロジカルボリューム export があります。
キャッシュプール cache0 があります。
まとめると、このようになっています。
役割 | LV |
---|---|
キャッシュLV | vg0/export |
キャッシュプールLV | vg0/cache0 |
キャッシュメタデータLV | vg0/cache0_cmeta |
キャッシュデータLV | vg0/cache0_cdata |
オリジンLV | vg0/export_corig |
作業手順
lvmcache(7)のマニュアルに従って作業します。
2通りあります。
- キャッシュLVから、キャッシュプールLVを切り離すだけ
lvconvert --splitcache VG/CacheLV
- キャッシュLVから、キャッシュプールLVを切り離して、キャッシュプールLVを削除
lvconvert --uncache VG/CacheLV
作業記録
キャッシュLVから、キャッシュプールLVを切り離してみました。
作業前
# lvdisplay vg0/export
--- Logical volume ---
LV Path /dev/vg0/export
LV Name export
VG Name vg0
(snip)
LV Cache pool name cache0
LV Cache origin name export_corig
(snip)
キャッシュプールLVを切り離し
# lvconvert --splitcache vg0/export
Flushing 0 blocks for cache vg0/export.
Logical volume vg0/export is not cached and cache pool vg0/cache0 is unused.
作業後
# lvdisplay vg0/export
--- Logical volume ---
LV Path /dev/vg0/export
LV Name export
VG Name vg0
(snip)
LV Status available
(snip)
キャッシュプールの情報が消えました。
キャッシュプールLVを削除
# lvremove vg0/cache0
Logical volume "cache0" successfully removed
ボリュームグループから物理ボリュームを解放
キャッシュ用に使っていた物理ボリュームを解放しました。
# vgreduce vg0 /dev/sda4
Removed "/dev/sda4" from volume group "vg0"