O que o comando resize2fs faz no Linux?

1

O que o comando resize2fs faz quando estendemos ou reduzimos um volume lógico. A função é igual ou diferente ao usar comandos lvextend e lvreduce?

    
por Raghav Chadha 23.09.2015 / 18:28

1 resposta

7

Na verdade, existem quatro comportamentos diferentes que resize2fs pode ter (um deles é trivial). Depende se o sistema de arquivos é montado ou desmontado e se você está diminuindo ou se estendendo.

  1. Montado, estendendo

    Aqui, resize2fs tenta redimensionar on-line. Mais ou menos, isso apenas diz ao kernel para fazer o trabalho. O kernel então começa a escrever metadados adicionais do sistema de arquivos no armazenamento recém-disponível. Você pode continuar usando o sistema de arquivos quando isso acontecer.

    Note que sistemas de arquivos ext3 muito antigos podem não suportar redimensionamento online. Você terá que desmontar o sistema de arquivos antigo para estender.

  2. Desmontado, estendendo

    Desta vez, resize2fs faz o trabalho em vez do kernel. Principalmente, isso consiste em gravar metadados adicionais do sistema de arquivos no armazenamento recém-disponível.

  3. Montado, encolhendo

    Isso não é suportado. Deve apenas imprimir um erro. Este é o comportamento trivial.

  4. Desmontado, encolhendo

    Este é o mais demorado, e também o mais perigoso (embora ainda seja razoavelmente seguro). Se possível (por exemplo, há espaço suficiente), resize2fs faz o sistema de arquivos usar apenas os primeiros bytes tamanho do armazenamento. Ele faz isso movendo os metadados do sistema de arquivos e seus dados. Após a conclusão, haverá armazenamento não utilizado no final do dispositivo de bloco (volume lógico), não utilizado pelo sistema de arquivos.

lvextend e lvreduce alteram o tamanho do volume lógico. Eles também podem alterar o tamanho do sistema de arquivos se receberem a opção -r , que provavelmente é o caminho certo a seguir, especialmente com a redução. Acidentalmente, dar o tamanho errado para lvreduce é uma maneira fácil de perder dados; -r impede isso (garantindo que resize2fs seja informado do mesmo tamanho).

    
por 23.09.2015 / 19:22

Tags