Posso redimensionar o reiserfs de um volume LVM com falha?

2

Um tempo atrás eu peguei algumas peças de reposição para configurar um teste para o backuppc. Dois discos rígidos largos foram fundidos em um único volume com o LVM. Alguns meses depois, parece que o segundo disco está indo mal. A última vez que verifiquei, os dados que tenho apenas caberiam na primeira unidade, se eu conseguisse convencer os sistemas de arquivos a serem redimensionados.

Eu configurei o sistema de arquivos como reiserfs, seguindo alguns relatos de que funcionava bem para o backuppc. Eu comecei a usar o resierfsck para ver o quão extenso foi o dano, incluindo --rebuild-tree com uma lista de badblock (do programa badblocks). Mas toda vez que eu corro, ele encontra um novo bloco ruim e pára, então parece que o disco é uma causa perdida.

resize_resierfs diz que preciso executar reiserfsck --check primeiro, mesmo com -f . Isso, por sua vez, me diz que não pode ser executado por causa de um --rebuild-tree incompleto.

Pelo menos os dados são apenas de backup, então nada vital seria perdido ao começar de novo, bastando muito tempo para fazer o download de backups iniciais.

    
por Justin Love 11.06.2009 / 17:44

5 respostas

3

O que você está realmente tentando fazer é tirar o volume lógico dessa unidade, e sua melhor aposta para isso é migrar as extensões físicas para outro disco. Não há como prever de onde virá o espaço livre se você simplesmente redimensionar o sistema de arquivos.

Supondo que a unidade com falha é /dev/sdb e a nova unidade é /dev/sdc , aqui está o procedimento:

Prepare o novo disco

pvcreate /dev/sdc

adicione-o ao grupo de volume

vgextend myvolumegroup /dev/sdc

mova os dados para o novo disco

pvmove /dev/sdb /dev/sdc

nota: pvmove é lento , então você pode querer fazer

pvmove -v /dev/sdb /dev/sdc

em vez disso.

    
por 11.06.2009 / 18:35
2

Use pvmove para mover todas as extensões desse LV para outros PVs no VG. / p>     

por 11.06.2009 / 18:37
1

Concordo que o disco parece uma causa perdida. Sua abordagem (encolher o sistema de arquivos, encolher LV, mover disco ruim) também parece ok.

Isso pode (e eu quero dizer que todas as apostas estão desativadas com um disco com falha):

  1. Obtenha outro disco, pelo menos tão grande quanto o que está falhando.
  2. Adicione-o ao grupo de volumes (pvcreate, vgextend).
  3. Mova o LV do disco com falha (pvmove).

Isso funcionará no nível de PE / bloco, ignorando o sistema de arquivos. Mas você está recebendo erros de leitura, então não sei se vai funcionar ou não.

    
por 11.06.2009 / 18:35
1

com discos saudáveis, a broca para remover um de um VG é assim: (suponho que você tenha um único LV abrangendo ambos os discos)

  1. redimensionar o sistema de arquivos
    • redimensionar LV
    • pvmove
    • vgreduce

mas o seu principal problema parece ser que os passos 1 e 3 realmente não vão gostar de erros de disco.

no passado, a única maneira de recuperar dados de um volume reiserfs com setores defeituosos foi ddrescue . todas as ferramentas de reisporte 'arriscadas' erram no lado seguro: no primeiro erro de disco, toda a operação é cancelada. com ddrescue eu poderia simplesmente copiar para um bom dispositivo e continuar com o reiserfsck.

    
por 11.06.2009 / 19:39
0

Cada programa de redimensionamento de partição (gparted, Partition Magic, etc.) que já usei executa verificações de integridade no sistema de arquivos antes de confirmar qualquer alteração. A menos que alguém saiba de um aplicativo que não suporta e ainda suporta reiserfs, sua melhor aposta é começar do zero. Qualquer outra avenida em que eu possa pensar seria muito mais trabalho e levaria muito mais tempo.

Caso contrário, você pode tentar remapear todos os blocos defeituosos através das ferramentas do sistema de arquivos, mas se a unidade estiver realmente acelerando, eles podem aparecer mais rápido do que você pode remapear-los.

    
por 11.06.2009 / 18:30