Redimensionando partições do Linux, Parte 1: Introdução

Redimensionando partições convencionais usando GParted

Sistemas Linux® são frequentemente instalados em várias partições, cada uma delas com um tamanho fixo. Entretanto, à medida que as necessidades mudam, é muitas vezes necessário redimensionar as partições para se adequar às circunstâncias. Há várias ferramentas para isso em Linux, mas há algumas armadilhas e restrições que podem tornar a tarefa mais difícil do que parece ser à primeira vista. Este artigo acompanha a tarefa de redimensionar partições do Linux, começando com preparações básicas e avançando para cenários comuns de redimensionamento usando ferramentas de interface gráfica com o usuário (GUI).

Roderick W. Smith, Consultant and author

Roderick Smith author photoRoderick W. Smith é consultor e autor de dezenas de livros sobre UNIX e Linux, incluindo The Definitive Guide to Samba 3, Linux in a Windows World e Linux Professional Institute Certification Study Guide. Ele é autor do software de particionamento GPT fdisk. Atualmente, Roderick reside em Woonsocket, Rhode Island.



03/Set/2010

Leia mais de Roderick

Navegue por todos os artigos de Roderick no developerWorks. Ou procure por um autor de sua escolha ou um tópico de interesse em nossa extensa biblioteca técnicaé possível limitar facilmente a pesquisa por produto, tópico ou tipo de conteúdo.

Se você segue conselhos comuns sobre particionamento, seu disco provavelmente usa várias partições. Se os tamanhos forem definidos incorretamente, ou se as necessidades mudarem, pode ser preciso redimensionar as partições. Para isso, é necessário se familiarizar com as exigências para o redimensionamento e com as ferramentas que podem realizar a tarefa. Em muitos casos, as operações podem ocorrer sem problemas; entretanto, podem surgir vários entraves para aqueles que não estão precavidos, ou mesmo para aqueles que tomaram precauções adequadas.

Inicialmente, este artigo descreve alguns dos recursos e limitações subjacentes às ferramentas de redimensionamento, e as etapas preparatórias a serem tomadas antes de iniciar a operação. Em seguida, ele cobre a ferramenta comum de redimensionamento de partições GParted (também conhecida como Gnome Partition Editor).

Nota: Por motivos de brevidade, eu uso o termo redimensionar para me referir a várias operações, incluindo aumentar o tamanho de uma partição, reduzir o seu tamanho e movê-la. Algumas vezes, uma dessas operações é possível, mas as outras não. Algumas dessas operações têm um risco inerente maior que as outras. Quando essas diferenças forem importantes, eu farei nota disso.

Introdução ao redimensionamento de partições

Antes de iniciar uma ferramenta de particionamento, é recomendável entender o que esses programas podem fazer e quando é apropriado usá-los. Também se deve anotar as configurações atuais e preparar um backup dos dados.

Quando as partições devem ser redimensionadas?

Vamos revisar a distinção entre partições e sistemas de arquivos. Partições são contêineres que consistem de setores contíguos no disco; elas são definidas por simples estruturas de dados. Sistemas de arquivos, por outro lado, são estruturas de dados que residem dentro das partições. Eles permitem que o computador localize arquivos específicos, e são bem mais complexos que partições. Na prática, redimensionar uma partição geralmente exige também redimensionar o sistema de arquivos contido nela. Para ser breve, eu me refiro a "redimensionar partições" quando quero dizer "redimensionar partições e os arquivos de sistema que contêm."

O redimensionamento de uma partição é, no mínimo, um pouco arriscado inerentemente. Softwares de redimensionamento precisam alterar estruturas de dados de baixo nível da partição e do sistema de arquivos e, possivelmente, mover quantidades significativas de dados. Problemas tais como dados corrompidos no disco, quedas de energia e travamentos do sistema podem causar falhas catastróficas no processo. Por isso, uma operação de redimensionamento de partição deve ser levada a sério, e, sempre que possível, deve-se fazer backup dos dados no disco, como descrito em "Preparando um backup."

Como regra geral, eu recomendo redimensionar apenas quando a configuração atual estiver causando problemas, ou prestes a causá-los. Ou seja, é preciso que uma das partições esteja próxima da capacidade máxima, ou que o usuário planeje adicionar dados suficientes para preenchê-la no futuro próximo, para considerar o redimensionamento.

Também é preciso ter em mente as limitações do redimensionamento. Por exemplo, não é possível reduzir alguns sistemas de arquivos, e pode ser necessário planejar cuidadosamente o posicionamento de partições primárias e lógicas em sua nova configuração. Em alguns casos, tais problemas podem se tornar barreiras para os planos de redimensionamento, forçando o usuário a adotar medidas alternativas, como descrito na Parte 2 desta série.

Obtendo dados sobre o uso atual das partições

A primeira etapa para planejar a operação de redimensionamento de partição é obter informações sobre como o disco está configurado, e quais partições estão ficando sem espaço. Uma maneira conveniente de obtê-las é usar o GParted, que apresenta um monitor GUI fácil de usar, como mostrado na Figura 1. O monitor exibe a localização das partições em relação às demais, e quanto espaço cada uma está consumindo. Infelizmente, o GParted nem sempre exibe informações completas, por isso pode ser útil complementar os seus monitores com a saída do df modo texto, fdisk ou outros utilitários.

Figura 1. GParted apresenta informações resumidas sobre o uso do disco
GParted presents disk use summary information

A Figura 1 mostra um sistema que tem uma partição /usr lotada (/dev/sdb5) e bastante espaço livre em /home (/dev/sdb7), o que pode causar problemas se o usuário desejar adicionar mais softwares ao computador. Dado esse layout de partição, pode ser proveitoso reduzir o tamanho de /home e aumentar o de /usr. (Observe que a Figura 1 foi obtida de um disco de boot de emergência, por isso a coluna Mount Point não reflete os pontos de montagem do sistema em execução.)

Recursos específicos dos sistemas de arquivos

O Linux suporta vários sistemas de arquivos nativos, e sistemas com boot duplo geralmente compartilham o disco com outros. Via de regra, ext2fs, ext3fs, ex4fs, ReiserFS e Btrfs são os mais flexíveis em termos das possibilidades que dão ao usuário. Todos esses sistemas de arquivos podem ser ampliados, reduzidos ou movidos pela maioria das implementações do GParted. XFS e JFS, infelizmente, não podem ser reduzidos, embora possam ser ampliados ou movidos.

Entre os sistemas de arquivos que não são nativos do Linux, FAT e NTFS podem ser ampliados, reduzidos e movidos. HFS e HFS+, usados no Macintosh, podem geralmente ser reduzidos e movidos, mas não ampliados. O Disk Utility do OS X pode, às vezes, ampliar partições HFS+.

No GParted, é possível selecionar View > File System Support para obter uma tabela de sistemas de arquivos e operações suportadas por ele. No entanto, se você tentar isso em seu sistema Linux regular, observe que o que é suportado varia de uma distribuição para outra. Se você usar um disco de emergência, como descrito mais à frente, ele pode suportar opções diferentes em relação à sua instalação regular.

Planejando um novo layout de partição

Com os dados sobre as partições existentes e informações sobre o que é possível fazer com os sistemas de arquivos atuais, é possível começar a planejar o novo layout. Vários fatores importantes devem ser considerados:

  • Velocidade e segurança—Mudar o ponto inicial de uma partição é, geralmente, mais lento e mais arriscado que mudar o ponto de extremidade, pois implica reescrever a maior parte dos dados na partição. Esse efeito é maior para partições com mais dados.
  • Sistemas de arquivos que não são nativos do Linux—Embora o GParted e seu primo de modo de texto, o GNU Parted, possam redimensionar sistemas de arquivos NTFS, FAT, HFS e HFS+, é recomendável usar as ferramentas nativas do sistema operacional em vez das ferramentas do Linux ao lidar com eles. Particularmente quando se trata de partições de boot do Microsoft® Windows® em sistemas de boot duplo, pois mudar o ponto inicial de uma dessas partições provavelmente fará com que o Windows não possa ser inicializado.
  • Partições primárias vs. partições lógicas—O sistema Master Boot Record (MBR), usado na maioria dos computadores Linux, suporta apenas quatro partições primárias. Uma delas pode ser uma partição estendida, que pode conter várias partições lógicas. Alguns sistemas operacionais, como o Windows, precisam ser inicializados a partir de uma partição primária. Todas as partições lógicas devem residir na mesma partição estendida, e por isso devem ser contíguas. Em sistemas que usam um identificador global exclusivo (GUID) Tabela Particionada (GPT) em vez do sistema MBR mais antigo, essas distinções não têm importância, pois GPT suporta apenas um tipo de partição.
  • IDs de dispositivo—Anote os IDs de dispositivos, tais como /dev/sda3, usadas nas partições do seu Linux. Se esses IDs mudarem, pode ser necessário alterar o arquivo /etc/fstab ou a configuração do boot loader (geralmente /boot/grub/menu.lst, /boot/grub/grub.conf ou /boot/grub/grub.cfg). Várias distribuições modernas usam, nesses arquivos, números de Identificador Universal Exclusivo (UUID) em vez de identificadores de dispositivo, por isso as mudanças podem não ser necessárias. Também não serão necessárias se o novo layout de partição não mudar IDs de dispositivos críticos. Observe que as partições primárias são numeradas de 1 a 4 e que pode haver lacunas na numeração, enquanto partições lógicas são numeradas a partir de 5 e não podem conter lacunas. Por isso, se uma partição primária for adicionada, é possível que os números das demais não mudem; mas, se for adicionada uma partição lógica, os números de todas as demais partições lógicas irão mudar.

Preparando um backup

Depois de planejar as mudanças, você pode se sentir tentado a correr para implementá-las, entretanto, devido aos riscos associados com a reconfiguração de partições, backup dos dados mais críticos deve ser feito, se possível. Se um backup não for possível, recomenda-se que o torne possível adquirindo o hardware necessário. Mesmo sem considerar os riscos envolvidos no redimensionamento de partição, discos rígidos às vezes falham, e problemas de software podem tornar sistemas de arquivos inúteis. Por isso ter um backup é uma boa ideia.

É possível fazer backup na mídia que for mais conveniente. É possível usar tar para criar um backup do sistema que cabe em um DVD regravável, entretanto, a maioria dos sistemas modernos têm tantos dados do usuário que um único DVD não é suficiente. Assim, pode ser necessário utilizar alguma outra mídia, como um disco rígido externo, para fazer backup desses dados.

Mesmo que um backup completo não seja possível, o conteúdo de /etc deve ser salvo. Esse diretório contém arquivos críticos de configuração do sistema, portanto sua cópia pode acelerar a recuperação, caso seja necessário reinstalar o sistema operacional.


Usando GParted para redimensionar partições

A maneira mais fácil de redimensionar partições no Linux é usar o programa GUI GParted. Embora ele possa ser executado a partir de uma instalação regular do Linux, ele se recusa a operar em uma partição montada. Portanto não é possível redimensionar a raiz (/) ou qualquer outra partição crítica para o funcionamento do sistema. Por isso, eu descrevo como implementar as mudanças usando um disco de emergência do Linux. Após o boot do disco, é possível executar o GParted da mesma maneira que em um sistema regular, usando operações gráficas com o mouse para dizer ao software o que fazer.

Executando um disco de emergência

Existem vários sistemas de disco de emergência para Linux, tais como PartedMagic e SystemRescueCd (consulte Recursos). Talvez seja possível também usar a mídia de instalação do Linux. Várias distribuições incluem um modo de resgate que dá acesso ao GParted ou a um utilitário similar. Para fins de ilustração, irei descrever o uso do PartedMagic 4.11; outros utilitários são basicamente semelhantes. Entretanto, talvez seja necessário ativar o GParted de uma maneira diferente.

A maioria dos discos de emergência tem apenas uma versão x86 (32 bits), mas eles funcionam bem em computadores x86-64 (64 bits), mesmo que o sistema esteja executando uma versão de 64 bits do Linux. As estruturas de dados do sistema de arquivos não são afetadas pela arquitetura da unidade central de processamento (CPU). Entretanto, se você estiver executando em algo que não seja hardware de computador pessoal (PC) padrão, tal como um Macintosh, você deve verificar se seu disco de emergência funciona com seu hardware.

Geralmente, é necessário inicializar o disco de emergência da mesma maneira que um disco de instalação do Linux. Em alguns sistemas, basta inserir o disco e reinicializar o computador. Em alguns sistemas, é necessário pressionar uma tecla de função para selecionar o dispositivo de boot, ou ajustar uma opção do sistema BIOS para inicializar a partir da unidade ótica em vez do disco rígido. Os detalhes de como fazer isso variam de acordo com o sistema, por isso é recomendável consultar o manual.

Ao inicializar o PartedMagic, um menu de boot é exibido. Selecione Default settings (Runs from RAM) para inicializar no sistema padrão. Quando o sistema inicializa, é exibido um desktop com algumas ferramentas comuns, incluindo uma chamada Partition Editor, que ativa o GParted. Clique duas vezes nesse ícone para começar a redimensionar suas partições.

Informando as alterações ao GParted

Para redimensionar uma partição, clique com o botão direito nela e selecione Resize/Move no menu pop-up. O resultado é uma caixa de diálogo igual à mostrada na Figura 2. É possível ajustar o tamanho e posição da partição usando a régua de controle gráfica ou os campos de entrada de texto.

Figura 2. GParted oferece uma interface gráfica para redimensionar partições
GParted presents a point-and-click interface for resizing partitions

A Figura 2 mostra um redimensionamento de /dev/sdb7 da Figura 1, movendo seu ponto inicial para a direita para abrir espaço para uma expansão em /dev/sdb5. Para completar um redimensionamento das partições da Figura 1, é necessário também mover a partição de troca (/dev/sdb6) para a direita antes de redimensionar /dev/sdb5. Como alternativa, é possível excluir e recriar a partição de troca, entretanto, isso pode exigir mudanças nas referências de UUID para o espaço de troca em /etc/fstab. Depois de mover o espaço de troca, é possível expandir /dev/sdb5.

Observe o campo Align to na Figura 2. Este é um novo recurso de versões recentes do GParted, que permite alinhar partições a cilindros, limites em mebibyte (MiB) ou nenhum dos dois. Discos mais antigos são geralmente particionados com alinhamento a limites de cilindro, mas alinhamento de MiB é comum em discos particionados no Windows Vista ou posterior. O Linux trabalha com qualquer um dos alinhamentos. Para sistemas com boot duplo com Windows XP, pode ser necessário o alinhamento de cilindro. Se o sistema fizer boot duplo com Windows Vista ou posterior, ou se usar um disco novo com setores de 4.096 bytes, pode ser necessário o alinhamento de MiB.

Para retirar espaço de uma partição lógica para dar para uma primária, ou vice e versa, é preciso redimensionar explicitamente a partição estendida que abriga as partições lógicas. O procedimento é o mesmo usado para redimensionar qualquer outra partição, entretanto, é mais fácil clicar em sua entrada na lista em vez de na entrada do diagrama acima da lista de partições.

O GParted não permite redimensionar partições em uso. Elas têm o ícone de um cadeado próximo a suas entradas. É possível clicar com o botão direito na partição e selecionar Unmount para desmontá-la. Observe que a partição estendida fica bloqueada desta maneira se qualquer uma das partições lógicas que contém estiver em uso, incluindo espaço de troca.

Implementando as alterações no GParted

Depois de informar as alterações ao GParted, é necessário implementá-las selecionando o item de menu Edit > Apply All Operations, ou clicando no ícone Apply. O resultado é uma caixa de diálogo de progresso que resume o que o programa está fazendo. Caso você mude de ideia em relação a uma alteração, pode usar o recurso de desfazer do GParted, ou sair do programa sem aplicá-la. Dessa forma, o disco não será alterado.

Operações de redimensionamento de partições podem demorar de uma fração de segundo a várias horas para serem concluídas, dependendo da natureza da alteração e da quantidade de dados que precisa ser movida. Não interrompa uma operação em execução, sob nenhuma circunstância! Fazer isso pode danificar o sistema de arquivos, tornando os dados irrecuperáveis.

Alterando referências de disco

Se partições tiverem sido adicionadas ou excluídas, pode ser necessário alterar o arquivo /etc/fstab ou a configuração do boot loader, como dito anteriormente. Para isso, é preciso montar a partição raiz (/) e editar o arquivo. Na Figura 1, a partição de boot é /dev/sdb1, e o GParted pode montá-la em /media/sdb1, de modo que você editaria /media/sdb1/etc/fstab. Em sistemas que usam uma partição /boot separada, pode ser necessário montá-la separadamente para editar a configuração do boot loader no arquivo grub/menu.lst, grub/boot.conf ou grub/boot.cfg na partição de boot.

Examine esses arquivos, e substitua quaisquer referências aos antigos números de ID de partição pelos novos. Se fizer qualquer alteração, faça backup do arquivo de configuração original antes de salvar o novo.


Indo adiante

Nesse momento, é possível reinicializar o sistema. No PartedMagic, o usuário pode clicar no ícone do canto inferior esquerdo da tela e selecionar Logout, que fornece, entre outras, a opção de reinicializar. Não se esqueça de retirar o disco de emergência, se não o tiver feito ainda. Com sorte, o computador deverá reinicializar no sistema operacional Linux regular, mas você descobrirá que a alocação do espaço em disco mudou.

Este artigo descreve uma operação básica de redimensionamento de partições. A Parte 2 desta série descreve opções mais avançadas e alternativas, incluindo redimensionamento de Logical Volume Management (LVM), resolução de problemas e alternativas para quando as operações de redimensionamento forem inadequadas.

Recursos

Aprender

Obter produtos e tecnologias

  • Faça o download do PartedMagic no Web site do programa.
  • Faça o download do SystemRescueCd no Web site do programa.
  • GParted é a mais flexível ferramenta de redimensionamento de partições para Linux, e está incluído em PartedMagic, SystemRescueCd e na maioria das distribuições Linux.
  • GParted é baseado em libparted, distribuída como parte do pacote GNU Parted de modo de texto.
  • Avalie os produtos IBM da melhor maneira para você: faça o download de uma versão de teste de um produto, teste um produto on-line, use-o num ambiente de nuvem ou passe algumas horas na Sandbox SOA aprendendo como implementar Arquitetura Orientada a Serviços de forma eficiente.

Discutir

  • Participe da comunidade do My developerWorks. Conecte-se a outros usuários do developerWorks ao mesmo tempo em que explora blogs, fóruns, grupos e wikis voltados aos desenvolvedores.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=516875
ArticleTitle=Redimensionando partições do Linux, Parte 1: Introdução
publish-date=09032010