Eu tenho uma máquina virtual CentOS 5 e adicionei mais 20 GB ao tamanho do disco. Como inicializo e amplio o espaço disponível?
Tentei carregar o GParted também, mas a unidade está bloqueada; como faço para desbloqueá-lo?
Responder1
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.
Parece que você já reinicializou, mas, por precaução, certifique-se de que o kernel reconheça o disco maior
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
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
Reinicie a máquina virtual
shutdown -r now
Depois de fazer o backup, redimensione o volume físico do LVM
pvresize /dev/sda2
Agora redimensione o volume lógico LVM (OBSERVAÇÃO:Não consigo decifrar o nome do seu volume lógico com base nas capturas de tela e, portanto, estou assumindo
LogVol00
. Você pode determinar isso executandolvdisplay
.)lvresize -l +100%FREE /dev/VolGroup00/LogVol00
Finalmente, vamos redimensionar o sistema de arquivos
resize2fs -p /dev/VolGroup00/LogVol00
Verifique se o sistema de arquivos é maior
df -h
Feito
Responder2
As etapas abaixo estenderam minha partição de 12G para 26GB em um VMWare EXSi 5.5 executando 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 a 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) Reinicie o Centos 6.X e faça 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%FREE pode ser alterado para o tamanho desejado). Como estamos estendendo a partição raiz, apontamos 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 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
Responder3
Fácil. Entre na sua VM como root. Digite "fdisk -l" - se você já vir o novo tamanho do disco - ótimo.
Se não - tente partprobe
- se você ainda não vir o novo tamanho do disco - reinicie.
Agorafdisk /dev/sda
- Anote seu cilindro inicial para a segunda partição.
- "Excluir" a segunda partição
- Recrie a segunda partição, mesmo cilindro inicial, último cilindro para final
- defina o tipo da partição recriada para 8e (LVM)
- escreva as alterações e saia do fdisk
partprobe
pvresize /dev/sda2
Agora seu VG VolGroup00 tem 20 GB a mais de espaço. Faça o que quiser com ele. Assim como você faria em um sistema físico (redimensione os LVs e depois redimensione o FS, por exemplo).
Responder4
Aqui estou pegando um exemplo de partição para expandir o disco de 5 GB para 7 GB sem perder dados. Você pode alterar de acordo com o espaço livre disponível.
Antes de aumentar o disco, peguei os seguintes detalhes da VM 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 somente quando a VM estiver desligada.
Vá para o local do disco virtual.
# vmware-vdiskmanager -x 7Gb RedHatEnterprise_Linux_4-0.vmdk
Agora vai aumentar o disco virtual para 7 Gb
Agora você precisa ligar a VM. Faça login na VM usando PuTTY ou o console como usuário root.
# 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 vamos remover o diário do disco para transformá-lo em um sistema de arquivos ext2.
# tune2fs -O ^has_journal /dev/sdb1
Agora comece a particionar /dev/sdb
para atribuir o espaço aumentado para /dev/sdb1
. Nota: Não entre em pânico, você não perderá dados aqui.
Estou removendo o existente /dev/sdb1
e 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 que a partição tenha efeito (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, resize2fs
o comando recomendará executá-lo.
# 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ê faz login na caixa do 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