Esta dica, que na verdade são duas, resolve o problema que exibe as seguintes mensagens após algumas operações que com LVM.
/dev/sdd: open failed: No medium found /dev/sdd: open failed: No medium found WARNING: PV /dev/sdb1 in VG vgdados is using an old PV header, modify the VG to update.
Ali nós temos dois problemas. Um dispositivo de bloco que o LVM espera ser um PV, mas não é; e o outro é o conjunto de metadados do LVM corrompido ou desatualizado.
A solução para ambos os problemas é muito simples, no entanto como ela não costuma incomodar durante as operações do dia-a-dia geralmente algumas pessoas simplesmente as ignoram.
Atualizando os metadados do VG
Vamos primeiro pelo mais simples. A mensagem de “WARNING” é resolvida com o comando a seguir:
sudo vgck --updatemetadata vgdados
A linha de comando é praticamente auto-explicativa. Ela irá atualizar os os metadados do VG “vgdados” que é o grupo de volumes que apresentou a mensagem.
A sua execução é praticamente instantânea e pode acontecer de ao término a maldita mensagem aparecer novamente pela última vez, mas depois você se verá livre dela para sempre (pode rodar o mesmo comando pela segunda vez que quiser se assegurar disso).
Disco não encontrado no grupo de volumes
O segundo problema é relacionado ao “disco não encontrado”. Talvez eu esteja equivocado ou limitando demais a razão pelo qual esta mensagem aparece mas minha suspeita é que este problema ocorre em máquinas que possuam aqueles leitores de cartão genérico com múltiplas entradas ou quando você costuma usar diversos discos externos, pendrive etc.
Uma forma de descobrir se é exatamente isso que causa o seu problema é consultar as mensagens que o kernel emite sobre este dispositivo. No meu caso, por exemplo, são as mensagens relacionadas ao dispositivo /dev/sdd. Então eu faço assim:
dmesg | grep sdd
[ 3.239135] sd 7:0:0:0: [sdd] Attached SCSI removable disk
Veja que a mensagem informa que este dispositivo é de fato uma mídia removível (pendrive, cartão de memória, disco externo etc).
A minha máquina só tem dois discos fixos (/dev/sda e /dev/sdb) porém eu tenhos diversos discos usb e pendrives. Em algum momento eu pluguei vários deles ao mesmo tempo e o sistema do LVM ficou “morrendo de amores” por algum deles que acabou se tornando inesquecível. 🙂
O tratamento para este “caso de amor não resolvido” é bastante trivial porém deve ser feito com cuidado pois envolve aplicar um filtro sobre os dispositivos que o LVM deve considerar, e se você pesar a mão sobre ele, sendo muito restritivo, a sua máquina poderá não dar mais boot.
Este filtro deve ser informado no arquivo de configuração do LVM (/etc/lvm/lvm.conf). Este é um arquivo de texto simples com permissão de escrita exclusiva do root então vamos usar qualquer editor simples para isso:
sudo vim /etc/lvm/lvm.conf
Agora, procure as linhas que iniciam com “filter”. Você deve encontrar uma seção com diversos exemplos como os que seguem:
# filter = [ "a|.*|" ]
# filter = [ "r|/dev/cdrom|" ]
# filter = [ "a|loop|", "r|.*|" ]
# filter = [ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ]
# filter = [ "a|^/dev/hda8$|", "r|.*|" ]
# filter = [ "a|.*|" ]
Eu nunca alterei este arquivo então todas as linhas de filtro estão comentadas sendo necessários então adicionar a linha com a configuração que eu quero logo abaixo destes exemplos.
Pra simplificar: Estas linhas possuem REGEX (expressões regulares) que definem quais dispositivos serão aceitos (a) ou rejeitados (r) pelo LVM e valendo sempre a primeira regra que combine com o seu dispositivo.
Neste filtro eu serei bem especifico quanto ao dispositivo que está me causando problemas, e vou adicionar uma linha bem direta, para não causar um incidente bloqueando o que não devo:
filter = [ "r|^/dev/sdd|" ]
Ali eu digo que é para rejeitar (r) todos os dispositivos que iniciam com /dev/sdd. Coloque ali o seu dispositivo problemático e feito isso, basta forçar a busca por discos novamente para que a mensagem não apareça mais:
sudo vgscan
Duas últimas dicas para terminar
Caso haja mais de um disco sendo reclamado, faça como nos exemplos que estão no arquivo, e dentro dos colchetes “[]” coloque outra REGEX, separada da primeira por uma “,” (virgula) e apontando para o seu outro dispositivo. Como no exemplo abaixo:
filter = [ "r|^/dev/sdd|" , "r|^/dev/sde|" ]
E por fim. Se você ver uma mensagem como abaixo:
Invalid separator at end of regex.
Invalid filter pattern "r|^/dev/sdd".
Failed to create regex device filter
Edite o arquivo novamente, confira o que faltou ser digitado e após corrigir salve o arquivo e rode o vgscan mais uma vez. Neste caso especifico e omiti a “|” que finaliza a REGEX.
Eu queria saber o que significa o termo “no medium” quando se insere o pen drive no aparelho de som
Olá josé, tudo bem?
A sua pergunta não tem relação com o tema do artigo, mas a mensagem que você vê no aparelho de som trata de que não foi possível ler o seu pendrive.
Mesmo que você consiga ler o conteúdo do seu pendrive em outros aparelhos de som, ele pode estar danificado. Talvez conectá-lo a um computador e usar a opção de reparar disco resolva (mas tente fazer uma cópia dos seus arquivos antes, pois eles podem ser perdidos no processo).
Outra possibilidade é que você esteja tentando usar um pendrive maior do que o seu equipamento suporta. Por exemplo usando um pendrive de 32GB, mas seu equipamento só aceita até 16GB. Neste caso, a solução é usar o pendrive menor.
Há ainda a possibilidade do seu pendrive estar em um formato incompatível. Alguns aparelhos de som suportam apenas um formato ou dois formatos – por exemplo – pendrive formatados como FAT16 ou FAT32, mas a maioria dos computadores Windows atuais formatam por padrão em NTFS ou xFAT. Neste caso a solução seria (após fazer uma cópia do seu conteúdo) formatar o pendrive com o padrão que so seu equipamento aceita.