Como redimensionar uma partição de um GPT por meio da ferramenta de linha de comando Parted. (Usando ambiente de resgate SSH.)

Como redimensionar uma partição de um GPT por meio da ferramenta de linha de comando Parted. (Usando ambiente de resgate SSH.)

Eu tenho um servidor remoto dedicado sem painel de controle on-line para redimensionar partições após a instalação inicial do sistema operacional, então estou usando o ambiente de resgate baseado em Debian para manipular as partições desmontadas. O problema é que sou um pouco estúpido quando se trata de manipulação de partições em unidades remotas, tentei usar a ferramenta de linha de comando GNU Parted, já que GParted não é uma opção e fdisk é inútil, pois a unidade está formatada com GPT, apenas para descubra que o comando de redimensionamento foi removido a partir da versão 2.4. Então, abaixo está uma lista das minhas partições do comando print do parted:

Number  Start   End     Size    File system     Name     Flags
1      20.5kB  1049kB  1029kB                  primary  bios_grub
2      2097kB  21.0GB  21.0GB  ext4            primary
3      21.0GB  2000GB  1979GB  ext4            primary
4      2000GB  2000GB  536MB   linux-swap(v1)  primary

O que preciso descobrir é como reduzir o número 3 para cerca de 1,2 TB e depois expandir o número 2 para preencher o que foi movido quando o número 3 foi reduzido. Minha partição nº 2 está cheia e a partição nº 3 tem espaço de sobra.

Responder1

Fazer o que você deseja pode ou não ser possível, dependendo do que está (e deve estar) montado atualmente e se você pode inicializar a partir de alguma outra mídia para solucionar problemas de montagem. Fatores a serem considerados aqui:

  • Tenha sempre em mente a distinção entre umpartição(uma estrutura de dados simples que define o ponto inicial e final de um pedaço de espaço em disco, normalmente junto com outras coisas como um código de tipo) e umsistema de arquivo(uma estrutura de dados mais complexa mantida em uma partição ou outro contêiner, como um volume lógico de LVM). Se você ainda não entende totalmente essa distinção, pare agora e pesquise.
  • Você pode aumentar o tamanho de um sistema de arquivos ext2/3/4 montado, mas no AFAIK você não pode diminuir o tamanho de um sistema de arquivos ext2/3/4 montado. O resize2fsutilitário faz esse trabalho na linha de comando.
  • Para redimensionar uma partição, pode ser necessário excluí-la e criar uma nova em seu lugar. Os pontos inicial e final podem precisar ser especificados com precisão em nível de setor, o que partednão é fornecido por padrão. Você precisa configurar unit spara conseguir isso; ou você pode usar gdisk, que fornece precisão em nível de setor por padrão. (Mesmo gdisk, no entanto, alinha automaticamente as partições com valores do setor 2048 por padrão, portanto, pode ser necessário ajustar o alinhamento com a dopção no menu de especialistas.)
  • As operações de redimensionamento do sistema de arquivos normalmente deixam o ponto inicial do sistema de arquivos inalterado. Assim, se você precisar mover o ponto inicial de uma partição, deverá fazê-lo usando ddou alguma outra ferramenta para mover todo o conteúdo do sistema de arquivos. Dependendo da direção do movimento, isso pode precisar ser feito antes ou depois de excluir a partição original, e a nova pode precisar ser criada antes ou depois da movimentação. Se a operação de movimentação se sobrepuser ao local original, você deverá estarmuitocuidado ao fazer isso, para não destruir alguns dados da partição!
  • Tenha muito cuidado com os pontos finais da partição e do sistema de arquivos. Se você reduzir um sistema de arquivos e recriar uma nova partição um pouco pequena demais, poderá acabar destruindo dados importantes. Eu recomendo reduzir o sistema de arquivos para um tamanho menor do que o pretendido, criar uma nova partição e, em seguida, usar resize2fspara aumentar o sistema de arquivos até o tamanho da nova partição circundante. Este procedimento minimiza as chances de ocorrer uma incompatibilidade de tamanho.
  • Lembre-se de que pode ser necessário reinicializar após alterar a tabela de partição para que o kernel use a nova tabela.

Devido a esses problemas, tentar fazer o que deseja sem a ajuda do GParted ou de alguma outra ferramenta projetada para coordenar alterações de partição e sistema de arquivos pode ser extremamente arriscado. Istopodeser feito, mas um deslize na especificação de um valor de setor pode deixar você com um disco totalmente inútil. O fato de você estar pedindo ajuda sobre isso me deixa cauteloso em sugerir que você faça uma tentativa; o risco de destruir um sistema de produção é grande demais para alguém que nunca fez esse tipo de coisa antes. Se você não tiver outra opção, recomendo fortemente que você recrie seu servidor localmente e pratique na cópia antes de tentar em seu servidor remoto.

Você pode querer considerar algumas alternativas:

  • Use o GParted- Se você puder inicializar a partir de uma mídia externa, poderá usar o GParted. Você diz que este é um servidor remoto. Muitos desses sistemas fornecem um BMC que permite conectar unidades USB virtuais e ver um console virtual por meio de um miniaplicativo Java. O uso desse recurso será extremamente lento, mas deverá permitir que você execute o GParted e faça alterações com muito mais facilidade e segurança.
  • Crie partições adicionais- Você pode reduzir uma partição e, em vez de mover e aumentar a outra, criar uma nova partição. Você então moveria os dados de um subdiretório para a nova partição e os montaria no lugar desse subdiretório. Esta abordagem basicamente divide a diferença; você ainda deve reduzir uma partição, mas evita a necessidade de realizar a operação de movimentação mais perigosa e difícil.
  • Use links simbólicos- Você pode atingir seus objetivos dividindo alguns arquivos de sua partição muito cheia para a menos cheia e, em seguida, usando links simbólicos para torná-los acessíveis nos caminhos desejados. Esta é provavelmente a abordagem mais segura.
  • Reinstale-- Se você tiver backup adequado, poderá fazer backup do sistema, reinstalar com uma configuração melhor e restaurar seus dados originais.
  • Faça isso no local- Se você tiver acesso físico aos seus servidores ou se tiver ajuda no local, você (ou sua ajuda) poderá fazer isso pessoalmente, como faria com um sistema desktop, usando uma unidade flash USB de instalação do Ubuntu. Dependendo da importância disso e da localização do servidor em relação a você, pode até valer a pena uma viagem para fazer o trabalho.
  • Adicionar um disco- Você pode considerar adicionar um disco, se for uma opção, e mover alguns dos seus dados para ele.

No futuro, você pode considerar usarGerenciamento de volume lógico (LVM),o que torna esse tipo de manipulação muito mais simples e segura. O LVM tem uma curva de aprendizado significativa, mas uma vez que você tenha aprendido o básico, isso ajuda muito porque você não precisa se preocupar em mover partições; os sistemas de arquivos são armazenados como arquivos em um sistema de arquivos; portanto, depois de reduzir um, você pode expandir outro no espaço livre sem alterar o ponto inicial. O LVM também ajuda a adicionar espaço na forma de novos discos.

Responder2

Como solução temporária, de um artigo que li. Parecia que 70% do espaço usado vinha do servidor web, especificamente/var/www. então o que eu fiz foi:

cd /var
mv www /home
ln -s /home/www www
ll
lrwxrwxrwx  1 root root      9 Oct 18 12:33 www -> /home/www/

Como eu disse, uma correção temporária, mas meu diretório raiz agora está apenas 30% cheio em vez de 100%. então, até que eu consiga redimensionar as partições, isso funcionará.

informação relacionada