Não é possível remover o volume lógico aberto

15

Quando tento remover um volume lógico, recebo a mensagem

#lvremove /dev/my-volumes/volume-1 
Can't remove open logical volume "volume-1"

#lvchange -an -v /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating

#lvremove -vf /dev/my-volumes/volume-1 
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"

#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV              VG           Attr   LSize   Origin Snap%  Move Log Copy%  Convert
volume-1        my-volumes   -wi-ao  50.00g  

Como posso forçar a remoção deste volume?

Obrigado Everett

    
por Everett Toews 05.05.2011 / 19:14

10 respostas

10

O que o volume lógico contém? É um sistema de arquivos (eu acidentalmente escrevi partição)? Poderia ser montado? Nesse caso:

umount /dev/my-volumes/volume-1

Tem algum instantâneo ativo?

Editar: tente lvchange -an -v /dev/my-volumes/volume-1 e lvremove -vf /dev/my-volumes/volume-1 .

Editar 2: por favor poste 'lvs'.

Editar 3: tente isso com algum outro volume problemático. Não é a opção mais limpa, mas de acordo com este site pode funcionar e é menos problemático do que reinicializar de qualquer maneira.

dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number
    
por 05.05.2011 / 19:17
8

Se você não conseguir desmontar ou remover um volume lógico, verifique se não há nenhum processo segurando o LV

Localize os números principais / secundários do volume lógico que você está tentando remover, por exemplo: vol0

# dmsetup info -c | grep vol0

Anote a quinta coluna, que indica se um volume é "aberto", e a segunda e terceira colunas, que são os IDs principal e secundário, respectivamente.

Encontre qualquer processo anexado a este volume pesquisando os IDs principais e secundários descobertos acima:

# lsof | grep "major,minor"

Encerre ou mate qualquer processo que ainda esteja acessando o volume para continuar desmontando e removendo.

tente lvremove

    
por 04.08.2014 / 09:51
5

Você provavelmente tem o iet ou tgt em execução (que depende do valor do iscsi_helper em /etc/nova/nova.conf, o padrão é iet) e o serviço possui um filehandle aberto. Você pode verificar qual deles fazendo algo assim (no meu caso é tgt)

# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5:           19155

# lsof | grep /dev/dm-5
tgtd      19155            root   12u      BLK              252,5         0t0    2531554 /dev/dm-5

Se for iet, pare o serviço fazendo:

service iscsitarget stop

Se for tgt, pare o serviço fazendo:

service tgt stop

Você deve poder excluir seus volumes.

    
por 24.05.2012 / 17:13
5

Entrei em situação semelhante, mas a remoção de LV foi bloqueada, porque eu estava usando o mount -o bind.

O artigo abaixo ajudou bastante, usando lsof com números maiores / menores de LV que mostraram que o holding de processos abriu o LV, no meu caso smbd.

Apenas simplesmente cat / proc / mounts | grep LV_name levou-me a conclusão, porque lvremove ou dmsetup remove recusar-se a livrar-se de LV desmontado.

link

    
por 23.06.2014 / 11:35
2

Encerre os contêineres do LXC que usam os sistemas de arquivos por meio de suas configurações: lxc.mount.entry

    
por 30.03.2016 / 13:53
0

Se você não conseguir remover lvm , siga estas etapas:

  1. desmonte a partição:

    # umount / dev / sda8

    (por exemplo, montei a partição em /dev/sda8 )

  2. tente remover lvm da seguinte forma:

    # lvremove / dev / vgname / lvname

Se você receber um erro como " não é possível remover o volume lógico aberto no linux ", tente desativar o LVM através dos comandos abaixo e, em seguida, remova-o:

 # lvchange -an  /dev/vgname/lvname

 # lvremove /dev/vgname/lvname

Deixe-nos saber se você enfrenta algum problema.

    
por 24.03.2016 / 10:07
0

Eu tive esse problema com um LV que vem de 3 PVs em um dispositivo iSCSI (com múltiplos caminhos).

Nenhuma solução funcionou, mas uma simples reinicialização ! ( comente em fstab , para que ele não seja montado novamente)

Talvez isso ajude alguém.

    
por 06.10.2016 / 15:06
0

isso também pode ser bloqueado pelo serviço nfslock no RHEL, basta parar esse serviço e você está pronto para ir.

    
por 06.04.2017 / 13:38
0

Eu tive um problema semelhante. O lv eu tentei remover foi um dispositivo de bloco VM, segurando um volumegroup. Este volume foi filtrado em lvm.conf, mas alguns itens do mapeador de desenvolvimento foram criados anteriormente.

Para descobrir se ele é segurado por um dispositivo, observe seu número menor (253, ?? ) ll /dev/<vg>/<lv> deve apontar para ../dm-??

Em seguida, ls -la /sys/dev/block/253:??/holders fornecerá links de vg (ex -> ../../dm-xx ) retransmitidos no seu dispositivo (como um pv)

Remova-os com dmsetup remove /dev/dm-xx (certifique-se de que esses dm não sejam usados) Então você deve remover / dev // que não é mais um "pv" em algum lugar

    
por 19.04.2017 / 10:41
-1

Eu tenho o mesmo problema que o seu. Eu tentei o seguinte comando e resolvi: swapoff -a

lvremove ...

    
por 09.02.2014 / 03:51

Tags