Como estender a partição do CentOS 5 no VMware?

15

Eu tenho uma máquina virtual CentOS 5 e adicionei mais 20 GB ao tamanho do disco. Como inicializar e estender o espaço disponível?

Tentei carregar o GParted também, mas a unidade está bloqueada; como faço para desbloqueá-lo?

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Andrew
fonte

Respostas:

25

Você não poderá usar o GParted porque o sistema de arquivos está no LVM e o GParted não suporta isso.

Primeiro, faça um backup da VM. Em seguida, execute o seguinte como "root" em uma linha de comando.

  1. Parece que você já reiniciou, mas por precaução, verifique se o kernel reconhece o disco maior

    echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
    
  2. Redimensione a segunda partição com fdisk

    fdisk /dev/sda
    p     # print current
    d     # delete
    - 2
    n     # create
    - p   # primary partition
    2     # partition number
    - default first/last cylinders
    t     # change partition id
    - 2
    - 8e (hex code)
    p     # print the current again to verify it's expanded
    w     # write changes
    
  3. Reinicialize a máquina virtual

    shutdown -r now
    
  4. Depois de fazer o backup, redimensione o volume físico do LVM

    pvresize /dev/sda2
    
  5. Agora redimensione o volume lógico do LVM ( NOTA: não consigo decifrar qual o nome do seu volume lógico com base nas capturas de tela e, portanto, estou assumindo LogVol00. Você pode determinar isso executando lvdisplay.)

    lvresize -l +100%FREE /dev/VolGroup00/LogVol00
    
  6. Por fim, vamos redimensionar o sistema de arquivos

    resize2fs -p /dev/VolGroup00/LogVol00
    
  7. Verifique se o sistema de arquivos é maior

    df -h
    
  8. Feito

TheDude
fonte
Nenhuma reinicialização é necessária depois fdisk. Use partprobelá. A varredura SCSI é interessante - funciona em um disco em uso?
Nils
1
Tarde para a festa: p Eu tive problemas com o partprobe ao não reler as partições que estavam em uso, então acabo reiniciando em quase todos os casos. A nova varredura SCSI funciona bem com os discos em uso. Você pode executar dmesgpara confirmar o disco é visto como o novo tamanho
TheDude
triste que não haja nada como uma scsi-rescan para xen-pv-disks. Mas that`s outro assunto ...
Nils
1
Muito obrigado, suas instruções funcionaram perfeitamente!
21312 Chris Haas
O que devo procurar após a etapa 1 (eco e redigitalização)? Como posso saber se o kernel reconhece o espaço extra ou não?
8113 Jeff
4

As etapas abaixo estenderam minha partição de 12G para 26GB em um VMWare EXSi 5.5 executando o Centos 6 EXT4 VPS.

1) Identifique o nome do dispositivo, que é por padrão / dev / sda, e confirme o novo tamanho executando o comando:

# fdisk -l

2) Obtenha uma lista de partições para o dispositivo / dev / sda:

# ls -al /dev/sda*

brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2

3) Crie uma nova partição primária

# fdisk /dev/sda

Then type:
  n (enter) [create new partition]
  p (enter) [primary partition]
  3 (enter) [next available number from listed /dev/sda partitions in 2)
  (enter)   [start cylinder]
  (enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
  t (enter) [change partition type]
  3 (enter) [selecting /dev/sda3 partition]
  8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types] 
  w (enter)

  The partition table has been altered!

4) Reinicialize o Centos 6.X e efetue login novamente com privilégios de root

# reboot

5) Verifique se a nova partição está pronta e digite '8e':

# fdisk -l

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM
/dev/sda3            2089        3916    14678054   8e  Linux LVM

6) Crie volume físico:

# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

7) Descubra o nome do grupo de volumes:

# vgdisplay

--- Volume group ---
VG Name               vg_app1
...

8) Estenda o volume físico:

# vgextend vg_app1 /dev/sda3

Volume group "vg_app1" successfully extended

9) Estenda o grupo de volumes existente para o novo volume físico (+ 100% GRÁTIS pode ser alterado para o tamanho desejado). Como estamos estendendo a partição raiz, apontando para lv_root no grupo de volumes vg_app1.

# lvextend -l +100%FREE /dev/vg_app1/lv_root

Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized

10) Redimensione o volume raiz lógico:

# resize2fs /dev/vg_app1/lv_root

resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.

Nota: Use ext2online em vez de resize2fs se for uma máquina virtual da Red Hat.

11) Verifique o espaço disponível:

# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
                      26G   10G   14G  42% /
tmpfs                 9.8G     0  9.8G   0% /dev/shm
/dev/sda1             477M   88M  364M  20% /boot
webcoder.eu
fonte
2

Fácil. Entre na sua VM como raiz. Digite "fdisk -l" - se você já vê o novo tamanho do disco - bom.

Caso contrário - tente partprobe- se você ainda não vê o novo tamanho do disco - reinicie.

Agora fdisk /dev/sda

  1. Anote o cilindro inicial para a segunda partição.
  2. "Excluir" a segunda partição
  3. Recrie a segunda partição, mesmo cilindro inicial, último cilindro para final
  4. defina o tipo da partição recriada como 8e (LVM)
  5. escreva as alterações e saia do fdisk
  6. partprobe
  7. pvresize /dev/sda2

Agora o seu VG VolGroup00 tem 20 GB mais espaço. Faça o que quiser com ele. Assim como você faria em um sistema físico (redimensione LVs e, em seguida, redimensione o FS, por exemplo).

Nils
fonte
echo 1> / sys / class / scsi_disk / 0 \: 0 \: 0 \ 0 / dispositivo / rescan faz a mágica nova varredura sem reinicialização
Andrej
@andrej Mesmo se o disco estiver em uso?
Nils
Sim, é mágica de baixo nível no lado do controlador, portanto também funcionará em discos montados. Você só precisa ter certeza de que ampliou a unidade, para não subtrair espaço dela.
21716
2

Faça o download do ISO do CD ao vivo do Gparted . Em seguida, anexe o ISO ao CentOS e inicialize a partir do live cd (vá para as configurações da máquina virtual, selecione “CD / DVD” e selecione “Usar ISO” no painel do lado direito). Em seguida, selecione a partição que você deseja redimensionar. Clique no menu da partição (barra de menus superior) e clique em "Redimensionar". Em seguida, selecione "Aplicar todas as operações" no menu "Editar".

Manula Waidyanatha
fonte
I carregado, mas a unidade tem o ícone de bloqueio .. I anexa a imagem
Andrew
verifique isto unix.stackexchange.com/questions/37900/…
Manula Waidyanatha
Obrigado! +1 para esta sugestão de aplicativo do tipo Particion Magic.
jstuardo
0

Aqui estou usando uma partição de amostra para expandir o disco de 5 GB para 7 GB sem perder dados. Você pode alterar de acordo com o seu espaço livre disponível.

Antes de aumentar o disco, peguei os seguintes detalhes da VM do Linux:

# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
 255 heads, 63 sectors/track, 652 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
 /dev/sdb1               1         652     5237158+  83  Linux

Desligue a VM agora.

Agora vou aumentar o disco virtual existente ( /dev/sdb) do VMware no prompt de comando. Nota: esta tarefa deve ser executada apenas quando a VM estiver desligada.

Vá para o local do local do disco virtual.

# vmware-vdiskmanager -x  7Gb RedHatEnterprise_Linux_4-0.vmdk

Agora, ele aumentará o disco virtual para 7 GB

Agora você precisa ligar a VM. Efetue login na VM usando PuTTY ou o console como usuário raiz.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             6.8G  2.1G  4.5G  32% /
 /dev/sda1              99M   12M   83M  13% /boot
 none                  252M     0  252M   0% /dev/shm
 /dev/sdb1             5.0G   39M  4.7G   1% /mnt/test

Ainda mostra o tamanho antigo. Desmonte a partição que você vai aumentar.

# umount /dev/sdb1

Execute o reparo do sistema de arquivos no disco

# fsck -n /dev/sdb1

Agora, podemos remover o diário do disco para transformá-lo em um sistema de arquivos ext2.

# tune2fs -O ^has_journal /dev/sdb1

Agora inicie o particionamento /dev/sdbpara atribuir o espaço aumentado /dev/sdb1. Nota: Não entre em pânico, você não perderá dados aqui.

Estou removendo o existente /dev/sdb1e recriando junto com o espaço livre disponível.

# fdisk /dev/sdb
Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         652     5237158+  83  Linux

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913

Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         913     7333641   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Agora reinicie a máquina Linux para fazer efeito da partição (também podemos usar partprobe, é estritamente recomendado reiniciar a máquina).

# shutdown now -r

Agora, mais uma vez, verifique o sistema de arquivos estendido; se você pular esta etapa, o resize2fscomando recomendará executá-la.

# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks

Agora redimensione o sistema de arquivos.

# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.

Agora verifique o sistema de arquivos.

# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks

Agora recrie a partição com o formato ext3.

# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Reinicie a máquina Linux uma vez para usar efetivamente o sistema de arquivos ext3.

# shutdown -r now

Mais uma vez, você acessa a caixa Linux usando privilégios de root. Agora você pode encontrar a partição aumentada para 7 GB.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.8G  2.1G  4.5G  32% /
/dev/sda1              99M   12M   83M  13% /boot
none                  252M     0  252M   0% /dev/shm
/dev/sdb1             6.9G   39M  6.7G   1% /mnt/test
Jahanzeb
fonte
Por que você remove e reinstala o diário? Isso não é necessário, um sistema de arquivos ext3 pode ser estendido da mesma forma que um sistema de arquivos ext2. Além disso, você está perdendo uma grande parte do quebra-cabeça: a partição a ser estendida está no LVM.
Gilles 'SO- stop be evil'
0

Acabei de fazer isso, no VMware, com o CentOS 6.4. A resposta número 1 está correta, mas falta um passo, que eu descobri.

No Gparted, o meu também tinha o ícone de cadeado.

Na linha com a partição, que possui o ícone de cadeado, clique com o botão direito do mouse e selecione "desativar". Isso faz a fechadura desaparecer.

Em seguida, clique com o botão direito do mouse e altere o tamanho da partição.

Em seguida, aplique a alteração.

Em seguida, clique com o botão direito e selecione "ativar".

user41633
fonte
0

Você pode fazer com que as etapas 5 e 6 sejam uma adicionando a -ropção a lvresize. Isso será lvresizeexecutado resize2fsautomaticamente com os parâmetros necessários:

lvresize -r -l +100%FREE /dev/VolGroup00/LogVol00
user44724
fonte
Bem-vindo ao StackExchange * nix!
0

Para o CentOS 6.6 no VMWare, fiz o seguinte para aumentar de 30 GB para 40 GB (observe que não estava usando LVM, apenas partições linux nativas regulares (Id 83)):

NOTA: Faça um backup da sua VM primeiro, caso perca dados. Você não deve perder dados se tudo correr bem.

  1. O VMWare me deu uma GUI quando editei minha VM antes de iniciá-la para redimensionar a quantidade disponível para a VM. Eu usei isso e estendi para 40 GB.
  2. Inicializei o CentOS e executei 'fdisk -l' como root. Eu podia ver o novo espaço. Eu executei 'df -h' para verificar se minha partição antiga ainda estava lá.
  3. Então executei 'cfdisk / dev / sda' e recebi uma GUI textual que mostrava minhas partições. No meu caso, a partição que eu queria redimensionar era / dev / sda3 e foi a última partição.
  4. Depois usei o cfdisk para excluir a partição e criar uma nova com todo o espaço disponível. Eu escrevi minhas alterações e desisti.
  5. Reiniciei a VM (desligamento agora -r).
  6. Após a reinicialização, usei 'resize2fs / dev / sda3', onde / dev / sda3 é a partição que recriei. Isso completou automaticamente o redimensionamento para mim.
  7. Agora, com 'df -h', vejo o novo tamanho completo.

Informações encontradas em uma combinação de respostas nesta página e em http://positon.org/resize-an-ext3-ext4-partition

Shygar
fonte
0

Outra abordagem é criar um LVM estendido em um disco completo em vez de em uma partição.

Nesse caso, você pode adicionar hot disk usando o seguinte método

blockscan --rereadpt /dev/<PV disk
pvresize /dev/<PV disk>
# The associated VG is now resized
lvresize /dev/mapper/<LV> -r -l +100%FREE
ThinkBriK
fonte
0

Às vezes você precisa fazer

echo "- - -" >  /sys/class/scsi_host/host<n>/scan

Depende de você estar criando um novo disco ou estendendo um existente para qual tipo de nova verificação é necessária.

Robert B.
fonte