Como parar o cache de uma partição LVM?

6

Eu tenho atualmente o cache LVM configurado na minha instalação do Ubuntu, conforme descrito em link . (Eu tive que instalar alguns dos pacotes vívidos / propostos para fazê-lo funcionar, mas eu consegui.)

Consegui converter com sucesso um dos meus volumes lógicos em um volume em cache, por meio de:

# lvconvert --type cache --cachepool anson-TA75MH2/lv_cache anson-TA75MH2/root
  Logical volume anson-TA75MH2/root is now cached.

No entanto, depois de fazer isso, não consigo redimensionar a partição em cache.

Quando tento estender a partição em cache (nesse caso chamada root , já que ela será a raiz do meu sistema de arquivos), recebo uma mensagem de erro:

# lvextend anson-TA75MH2/root -L +250G
  Unable to resize logical volumes of cache type.

Como posso desativar o cache para que eu possa redimensioná-lo?

Para referência:

sda é meu disco rígido principal de 1TB, contendo uma grande partição LVM e uma partição ext4 encolhida que planejo mover para lvm. O sdb é um SSD barato de 32GB, com uma partição ext2 / boot de 500MB, uma grande partição lvm e 8GB de swap.

# 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]

Como alternativa, se houver uma maneira de armazenar em cache mais de um LV usando o mesmo cache, isso seria o preferido (embora eu ainda gostaria de saber como desativá-lo). No entanto, quando eu tento, recusa:

# lvconvert --type cache --cachepool anson-TA75MH2/lv_cache anson-TA75MH2/home
  lv_cache is already in use by root
    
por AJMansfield 17.01.2015 / 22:20

2 respostas

6

A página do manual lvmcache (7) descreve como você pode remover o conjunto de cache sem remover seu volume de origem:

Removing a cache pool LV without removing its linked origin LV

This writes back data from the cache pool to the origin LV when necessary, then removes the cache pool LV, leaving the un-cached origin LV.

lvremove VG/CachePoolLV

Example:

# 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

Então, no meu caso, eu faria lvremove anson-TA75MH2/lv_cache . Isso faz comitate recriando o pool de cache do zero, mas isso é OK, apenas um pouco incômodo. (Eu planejo fazer isso nos próximos minutos se ninguém postar nada melhor.)

    
por 17.01.2015 / 22:47
5
lvconvert --uncache anson-TA75MH2/root

parece menos suscetível a erros catastróficos do que

lvremove anson-TA75MH2/lv_cache

mas como a man page disse, essas são as principais opções.

    
por 05.07.2016 / 17:23

Tags