Eu tentei fazer isso usando o pvmove e não funcionou. Há uma referência no Google para uma correção no código-fonte que permitiria que o comando pvmove permitisse isso, mas na minha máquina do CentOS 7 reclamou do meu thin pool, então não sei qual versão, se houver, essa correção é incluído. Também não sei se funciona.
Dito isto, mover um LV de um pool para outro não deve ser muito difícil. De fato, eu mudei o meu entre dois pools que estão em VGs separados (o que não deveria importar em nenhum caso). Aqui está o que eu fiz:
Chame o LV my_logical_volume, os VGs first_vg e second_vg (estes seriam os mesmos no seu caso), e o destino my_logical_volume2. Eu mudei nomes do LV na minha instância; Não tenho certeza se você pode criar dois lvs com o mesmo nome no mesmo VG, mesmo se eles estiverem em thin-pools diferentes. Você pode experimentá-lo. Em qualquer caso, após a mudança, você sempre pode fazer um simples, fácil de usar.
Aqui está a ordem das coisas:
# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
my_logical_volume first_vg Vwi-a-tz-- 10.74g thinpool0 31.39
thinpool1 second_vg twi-a-tz-- 1.20t 0.29
thinpool0 first_vg twi-a-tz-- 500.89g 86.87
Observe o LSize no volume lógico, acima. Este comando:
# lvcreate -V 10.74g -n my_logical_volume2 -T second_vg/thinpool1
... cria o número adequado de LEs para corresponder. Apenas use exatamente o mesmo
tamanho como é exibido por lvs. Use o lvdisplay para verificar se você tem
criou um volume lógico de tamanho idêntico; veja a linha Current LE
(se sua contagem LE resultante for menor, exclua e recrie o lv, mas
adicione 0,01 ao seu tamanho [o número após o -V]):
# lvdisplay first_vg/my_logical_volume
--- Logical volume ---
LV Path /dev/first_vg/my_logical_volume
LV Name my_logical_volume
VG Name first_vg
LV Pool name thinpool0
LV Size 10.74 GiB
Mapped size 31.39%
Current LE 2750
# lvdisplay second_vg/my_logical_volume2
--- Logical volume ---
LV Path /dev/second_vg/my_logical_volume2
LV Name my_logical_volume2
VG Name second_vg
LV Pool name thinpool1
LV Size 10.74 GiB
Mapped size 0.00%
Current LE 2750
Agora copie do primeiro lv para o recém-criado:
# time dd if=/dev/first_vg/my_logical_volume of=/dev/second_vg/my_logical_volume2 bs=4194304 conv=sparse
conv=sparse
é crítico com o dd, caso contrário, todo o espaço será provisionado em seu pool fino de destino e não será mais fino: -).
Verifique se o seu novo volume lógico é do seu agrado. Uma vez que alles klarr, Herr Kommissar, você pode renomear seu novo LV se quiser, remover o original (você fez backup antes de trabalhar nele, certo?), Etc.