현재 Ubuntu 설치에 LVM 캐시가 설정되어 있습니다.https://rwmj.wordpress.com/2014/05/22/using-lvms-new-cache-feature/. (작동시키려면 생생한/제안 패키지를 설치해야 했지만 작동하게 만들었습니다.)
다음을 통해 논리 볼륨 중 하나를 캐시 볼륨으로 성공적으로 변환할 수 있었습니다.
# 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는 500MB ext2 /boot 파티션, 대형 lvm 파티션 및 8GB 스왑 공간을 갖춘 저렴한 32GB SSD입니다.
# 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
답변1
lvconvert --uncache anson-TA75MH2/root
것보다 나은 것 같습니다
lvremove anson-TA75MH2/lv_cache
그러나 매뉴얼 페이지에 나와 있듯이 이것이 주요 옵션입니다.
답변2
lvmcache(7) 맨페이지에서는 원래 볼륨을 삭제하지 않고 캐시 풀을 삭제하는 방법을 설명합니다.
연결된 원본 LV를 삭제하지 않고 캐시 풀 LV를 삭제합니다.
필요한 경우 캐시 풀의 데이터를 원래 LV에 다시 쓴 다음 캐시 풀 LV를 삭제하고 원래 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
. 이렇게 하려면 처음부터 캐시 풀을 다시 만들어야 하지만 괜찮습니다. 다만 약간 번거로울 뿐입니다. (아무도 더 나은 게시물을 게시하지 않으면 앞으로 몇 분 안에 이 작업을 수행할 계획입니다.)