segunda-feira, 23 de novembro de 2009

Utilizando o diskpart.exe da Microsoft para extender partições no Windows.

Esta foi uma necessidade recente onde, em um dos servidores que administro o espaço para o banco de dados do sistema ali hospedado, acabou.
A partição do banco de dados esta em um storage HP.

Acessei o gerenciador do storage e, aumentei o tamanho da partição neste gerenciador, depois disso tive que utilizar o "diskpart.exe" para expandir no windows e fazê-lo reconhecer o novo tamanho.

Esta expansão teve que ser feita pois o tipo da partição do windows esta como "básico". Caso estivesse como dinâmico o mesmo já reconheceria de imediato, após um boot do servidor o novo espaço alocado.

Este texto explicativo foi copiado do site da microsoft, achei meio desnecessário reescrevê-lo. O que importa é a parte prática o restante é apenas introdução.

É possível usar o utilitário Diskpart.exe para gerenciar discos, partições e volumes de uma interface de linha de comando. É possível usar o Diskpart.exe nos discos Básicos e nos Dinâmicos. Se um volume NTFS residir em um contêiner RAID 5 de hardware capaz de adicionar espaço ao contêiner, será possível estender o volume NTFS com o Diskpart.exe enquanto o disco permanece um disco Básico.

Use o comando extend para incorporar o espaço não alocado em um volume existente enquanto preserva os dados.

A seguir estão os requisitos para o comando extend:

* O volume deve ser formatado no sistema de arquivos NTFS.
* Nos volumes básicos, o espaço não alocado para a extensão deve ser o próximo espaço contido no mesmo disco.
* Nos volumes dinâmicos, o espaço não alocado pode ser qualquer espaço vazio em qualquer disco dinâmico do sistema.
* Apenas a extensão de volumes de dados é compatível. Os volumes do sistema ou de inicialização podem ter a extensão bloqueada e a seguinte mensagem de erro pode ser exibida:
O DiskPart não pôde estender o volume. Certifique-se de que o volume seja válido para extensão

Não é possível estender a partição se o arquivo de paginação do sistema estiver localizado na partição. Mova o arquivo de paginação para uma partição que você não deseja estender.

Para estender a partição ou o volume, é necessário primeiro selecionar o volume para manter o foco nele e, então, será possível especificar o quanto deseja aumentar a extensão. Para estender um volume, execute as seguintes etapas:

1. Em um prompt de comando, digite diskpart.exe.
2. Digite list volume para exibir os volumes existentes no computador.
3. Digite Select volume número do volume no qual número do volume é o número do volume que deseja estender.
4. Digite extend [size=n] [disk=n] [noerr] . A seguir estão descritos os parâmetros:
size=n
O espaço, em MB, para adicionar à partição atual. Se você não especificar um tamanho, o disco será estendido até ocupar todo o próximo espaço contíguo não alocado.

disk=n
O disco dinâmico em que o volume será estendido. O espaço igual ao size=n será alocado no disco. Se nenhum disco for especificado, o volume será estendido no atual.

noerr
Apenas para script. Quando um erro é acionado, este parâmetro especifica que o Diskpart continuará a processar os comandos como se o erro não tivesse ocorrido. Sem o parâmetro noerr, um erro faz com que o Diskpart encerre com um código de erro.
5. Digite exit para encerrar o Diskpart.exe.

Quando o comando extend é concluído, uma mensagem de erro, afirmando que o Diskpart estendeu com êxito o volume, é exibida. O novo espaço deve ser adicionado à unidade existente enquanto os dados são mantidos no volume.

A única coisa que esqueci de fazer foi, tirar os prints antes da alteração mas, na próxima vez eu faço isso.

Esta primeira tela (que na verdade seria a última depois da alteração realizada), foi o que aconteceu com a partição que, antes era de 10Gb e agora esta com 25Gb.



Os comandos executados para realizar a operação, são os comandos descritos abaixo:



Nos comandos acima foram apenas para identificar as partições que seriam alteradas e identificar o número do volume.
Um detalhe importante é que após selecionar o volume que se deseja expandir, caso você não coloque a informação "disk=n" o diskpart executa o comando para a partição selecionada então, não há um risco aqui de extender a partição errada. =D
Outra informação importante, o formato do diskpart adicionar ou expandir a partição se dá em MB e não GB então, neste caso, eu tinha uma partição ativa de 10Gb e tive que extendê-la para 25Gb ou seja, apenas 15Gb a mais.

O primeiro print, tem uma mensagem escrita "322 MB - Não alocado", isso foi um erro de cálculo na hora de dimensionar a partição em Gb, para arrumar é só executar o extend novamente, colocando o valor em MB.

O comando ficou conforme abaixo:



Depois de tudo isso feito, o gerenciador acusará o novo tamanho do disco.

É isso, sem mais delongas.. =D
O processo de reduzir a partição também é possível mas, não será abordado.

Deixem suas críticas ou sugestões.

Até a próxima.

Nenhum comentário: