xfs: tentativa de acessar além do fim do dispositivo

0

em um redhat 7.2 (não tenho acesso root) comandos como ls , cat , executados em / em alguns diretórios / arquivos criados dentro de um xfs filesystem trava. Eu também observo erros contínuos de dmesg output como:

[Thu Apr 12 10:22:27 2018] dm-3: rw=33, want=63076776, limit=62914560 [Thu Apr 12 10:22:27 2018] attempt to access beyond end of device [Thu Apr 12 10:22:27 2018] dm-3: rw=33, want=63076784, limit=62914560 [Thu Apr 12 10:22:27 2018] attempt to access beyond end of device

o tamanho do sistema de arquivos deve ser de 50 GB e é de 50 GB em df -h de saída.

$ df -h /opt/data
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/datavg-optdata   50G  3.5G   47G   7% /opt/data

mas quando eu verifico lsblk (somente isso funciona sem acesso root para mim) ele mostra 30GB LV tamanho do dispositivo. Como pode ser que o FS foi redimensionado para 50GB em 30GB LV menores? Ou este é outro problema de xfs aqui?

sdb                      8:16   0   50G  0 disk
└─datavg-optdata    253:3    0   30G  0 lvm  /opt/data

Alguém tem alguma pista?

    
por Chris 12.04.2018 / 14:21

1 resposta

0

Como frostschutz e psusi já comentaram, a cadeia de eventos mais provável é que tanto o sistema de arquivos quanto o LV em que ele está contido eram originalmente de 50G de tamanho.

O comando xfs_growfs normalmente aumenta o sistema de arquivos para corresponder ao tamanho do dispositivo de armazenamento subjacente (seja um LV, uma partição ou um disco inteiro). As mensagens disponíveis dentro do binário xfs_growfs parecem indicar que, mesmo que você especifique o novo tamanho do sistema de arquivos, ele verificará a resposta, portanto, o crescimento do sistema de arquivos além dos limites do LV subjacente deve ser impossível. p>

É muito mais provável que alguém tenha esquecido que o comando lvreduce (sem a opção -r , se implementada) reduz apenas o LV, não o sistema de arquivos dentro dele ... e que o sistema de arquivos XFS não possui o capacidade de encolhimento, apenas para expansão.

Com o LVM, estender um sistema de arquivos existente e LV é fácil ... então, pode-se pensar que reduzi-los também é fácil. Infelizmente, isso não é bem verdade: reduzir um sistema de arquivos costuma ser um pouco mais complicado do que estendê-lo.

Agora, se o datavg-optdata LV foi reduzido de 50G para 30G, isso significa que um pedaço de 20G na extremidade final do sistema de arquivos foi cortado. Se o espaço reduzido foi imediatamente colocado em outro uso, os dados que estavam lá foram perdidos.

    
por 12.04.2018 / 15:57

Tags