Como alterar o tamanho do inode em uma partição EXT3?

1

A configuração:

Para meu laptop de inicialização dupla, comprei um disco rígido grande para usar como solução USB externa. Eu decidi usar EXT3 como sistema de arquivos, pensando em usar Ext2IFS para acessar a unidade do Windows (como já faço com vários outros dispositivos externos ).

O problema:

O Linux é minha principal escolha como sistema operacional; assim, a unidade já estava 2/3 cheia antes de eu tentar acessá-la pelo Windows. Foi só então que percebi que cometi um erro grave - esqueci de limitar o tamanho do inode a 128. O valor padrão usado pela distribuição do Linux era 256, o qual o Ext2IFS não pode acessar.

Com 1 TB, a unidade é de longe o meu maior armazenamento, e a 2/3 do total seria inoportuno para backup.

A pergunta:

É possível alterar o tamanho do inode em uma partição EXT3 (sem perder os dados)? Eu não me importo se isso leva um par de horas.

Post Scriptum:

David Spillett respondeu perfeitamente à pergunta original - "como alterar o tamanho do inode em uma partição EXT3?".

A questão subjacente , no entanto, era "como eu acesso uma partição EXT3 do Windows depois que criei com os valores padrão do Linux para o tamanho do inode?". / p>

A resposta seria Ext2Fsd , que é um driver EXT3 para o Windows que não recusa grandes tamanhos de inode. (Não suporta, no entanto, tabelas de partição GUID (GPT), necessárias para unidades com mais de 2 TB.)

Eu pensei que isso poderia ser de interesse para muitas pessoas que olham para essa questão.

    
por DevSolar 29.06.2010 / 10:56

2 respostas

4

Você não pode mudar isso, até onde eu sei. Você pode fazer isso sem encontrar outra unidade Tb para copiar os dados enquanto reconstrói o sistema de arquivos por um método de round-about:

  1. reduza o tamanho do sistema de arquivos atual e elimine o comprimento da partição de acordo
  2. adiciona uma segunda partição no espaço recém-liberado
  3. monte os dois e mova-se para a nova partição o mais que puder
  4. reduza a primeira partição novamente, mova a nova para o disco e aumente para preencher a unidade e repita a etapa 3
  5. talvez seja necessário repetir a etapa 4 uma ou duas vezes, dependendo de como o sistema de arquivos original foi iniciado com

Você pode fazer tudo isso manualmente com fdisk , resize2fs e ferramentas relacionadas ou com dividido , que está disponível em repositórios da maioria das distribuições e como Live CD . É provável que a opção mais segura de longe, a menos que você já esteja familiarizado com as ferramentas manuais.

Mas grandes operações de mover / redimensionar o sistema de arquivos como esse são o tipo de coisa que eu sempre faço bons backups antes de começar, porque se algo der errado você pode matar tudo no (s) sistema (s) de arquivos afetado (s). Então, se você é saudável paranóico, o acima não elimina a necessidade de encontrar algum lugar para copiar os dados também enquanto você reformata / reorganiza ... Embora se a maioria dos dados seja substituível, ao baixar novamente o conteúdo de música / vídeo e tal, poderia fazer backup das coisas mais importantes e ter uma chance com o resto.

Como alternativa à reformatação / reorganização da unidade, agora você pode executar uma pequena VM Linux (com vmware ou vbox), conectar a unidade USB a ela e compartilhar os dados com o sistema operacional host (Windows) via Samba. Isso é ineficiente e menos conveniente, é claro, mas pode ser eficiente o suficiente "até o momento" até que você classifique uma solução mais permanente, como comprar uma nova unidade para reformatar e mover tudo e certamente é mais seguro do que a operação massiva do sistema de arquivos. dados que você não fez backup. Você não precisa alocar muitos recursos para a VM, eu estou supondo que uma instalação de servidor do Ubuntu ou uma instalação básica do Debian seria feliz para executar um compartilhamento de Samba em 128Mb de RAM ou menos e não precisaria de muito mais do que um único GB de espaço em disco (na verdade, pode levar apenas algumas centenas de Mb, se isso) na máquina host.

    
por 29.06.2010 / 12:30
1

Você não pode mudá-lo, você tem que recriar o sistema de arquivos do zero.

Na página man do mke2fs :

-I inode-size
    Specify  the  size  of  each  inode  in  bytes.   mke2fs creates
    256-byte inodes by default.
    ...
    It is not possible to change this value
    after the filesystem is created.
    
por 29.06.2010 / 11:14