VPS: Como posso atualizar o espaço disponível no disco rígido após a atualização?

5

Eu fiz uma atualização de um VPS hospedado na OVH, especificamente de VPS CLOUD 1 para VPS CLOUD 2 que tem 25gb a mais da solução anterior (50gb no total).

Neste VPS está instalado o CentOS 7.2.1511

Existe o resultado de df -HT

[root@srv ~]# df -HT
File system    Tipo      Dim. Usati Dispon. Uso% Montato su
/dev/vda1      xfs        27G   12G     16G  42% /
devtmpfs       devtmpfs  2,1G     0    2,1G   0% /dev
tmpfs          tmpfs     2,1G     0    2,1G   0% /dev/shm
tmpfs          tmpfs     2,1G   18M    2,1G   1% /run
tmpfs          tmpfs     2,1G     0    2,1G   0% /sys/fs/cgroup
tmpfs          tmpfs     405M     0    405M   0% /run/user/0

Existe o resultado de fdisk -l | grep Disk

[root@srv ~]# fdisk -l | grep Disk
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk label type: dos

Outras informações do disco:

[root@srv ~]# fdisk -l /dev/vda

Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Identificativo disco: 0x000af71d

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    52428799    26213376   83  Linux

Eu tentei isso:

[root@srv ~]# xfs_growfs /dev/vda1 -D 53.7G
meta-data=/dev/vda1              isize=256    agcount=13, agsize=524224 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=6553344, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data size 53 too small, old size is 6553344

E isso:

[root@srv ~]# xfs_growfs -d /dev/vda1 
meta-data=/dev/vda1              isize=256    agcount=13, agsize=524224 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=6553344, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data size unchanged, skipping

Obviamente sem sucesso.

[UPDATE]
A saída com o comando pr no parted:

Modello: Device a blocchi Virtio (virtblk)
Disco /dev/vda: 53,7GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: msdos
Flag del disco: 

Numero  Inizio  Fine    Dimensione  Tipo     File system  Flag
 1      1049kB  26,8GB  26,8GB      primary  xfs          avvio
 2      26,8GB  53,7GB  26,8GB      primary  xfs

Como posso expandir o espaço em disco disponível sem destruir os dados? O servidor de reinicialização não é um problema.

    
por sarcom 22.09.2016 / 12:37

6 respostas

7

xfs_growfs -d /dev/vda1

Capital -D cresce para o tamanho especificado em blocos de sistema de arquivos e não entende 'G'. Como tal, assumiu que você queria 53 blocos de sistema de arquivos, que falharam.

Em minúscula -d aumenta para o tamanho máximo.

Se você deseja um tamanho específico, calcule-o nos blocos, por exemplo, da saída do fdisk, o tamanho máximo é 26213376. Então, -D 26213376 também aumentará para o máximo de 6553344 blocos que você tem agora.

    
por 07.02.2017 / 12:52
1

Aqui está a solução de trabalho passo-a-passo que acabei de testar a atualização do OVH VPS 2016 SSD 1 (10 GB) para o OVH VPS 2016 SSD 2 (20 GB) com a partição crescer para o tamanho novo máximo.

O ambiente é com CentOS 7 com seu sistema de arquivos XFS padrão.

Depois de redimensionar, a nova partição é inicializável com todos os dados em vigor.

Passo 0. Atualizar para um plano VPS mais alto

Realize a atualização no painel da OVH.

Não é possível estar no modo de resgate durante a atualização.

Etapa 1. Inicialize no modo de recuperação

root@rescue-pro:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0  10G  0 disk 
└─vda1 254:1    0  10G  0 part /
vdb    254:16   0  20G  0 disk 
└─vdb1 254:17   0  10G  0 part /mnt/vdb1

O exemplo acima mostra que vdb tem 20 GB após o upgrade, e a partição original vdb1 tem 10 GB montada em /mnt/vdb1

Etapa 2. Instalar ferramentas a serem usadas

root@rescue-pro:/# apt-get update

root@rescue-pro:/# apt-get install xfsprogs

root@rescue-pro:/# apt-get install parted

O modo de recuperação não vem com ferramentas, xfs_growfs para aumentar o sistema de arquivos XFS.

Estará usando parted para redimensionar a partição subjacente para um novo tamanho antes de podermos expandir o sistema de arquivos.

Etapa 3. Redimensionando a partição subjacente

root@rescue-pro:~# umount /mnt/vdb1

Será necessário desmontar a partição antes de podermos aplicar as alterações.

root@rescue-pro:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0  10G  0 disk 
└─vda1 254:1    0  10G  0 part /
vdb    254:16   0  20G  0 disk 
└─vdb1 254:17   0  10G  0 part 

Verifique se foi desmontado.

root@rescue-pro:~# parted

Neste ponto, o dispositivo de resgate vda está selecionado, precisamos mudar para o dispositivo no qual estaremos trabalhando.

(parted) select /dev/vdb
Using /dev/vdb

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.7GB  10.7GB  primary  xfs          boot

(parted) unit s

Mude a unidade de exibição para sector

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End        Size       Type     File system  Flags
 1      2048s  20971519s  20969472s  primary  xfs          boot

(parted) rm 1

O texto acima REMOVE a partição existente.

Esta é a parte que mais hesito em realizar.

Depois de muita pesquisa e confirmação de que não destruirá os dados, teremos tudo de volta.

(parted) mkpart
Partition type? primary
File system type? xfs
Start? 2048s
End? 100%

O acima irá recriar a partição com o tamanho máximo da alocação de espaço da unidade.

Responda as perguntas de acordo com o resultado print acima.

2048s é o setor inicial, é por isso que mudamos a unidade para sector , certifique-se de que seja igual ao resultado print acima.

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End        Size       Type     File system  Flags
 1      2048s  41943039s  41940992s  primary  xfs

Verifique a nova tabela de partições.

Observe que o sinalizador boot está faltando.

(parted) set 1 boot on

(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End        Size       Type     File system  Flags
 1      2048s  41943039s  41940992s  primary  xfs          boot

Defina o sinalizador boot e imprima a tabela de partições novamente para verificar.

(parted) quit

Saia e aplique todas as alterações.

Você verá a seguinte nota que pode ignorar, já que o número da partição é o mesmo depois de redimensionar.

Information: You may need to update /etc/fstab.

Etapa 4. Verificar a partição redimensionada

root@rescue-pro:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    254:0    0  10G  0 disk 
└─vda1 254:1    0  10G  0 part /
vdb    254:16   0  20G  0 disk 
└─vdb1 254:17   0  20G  0 part 

Agora, podemos ver que vdb1 está no tamanho total 20GB

Monte a partição de volta e verifique o espaço em disco.

root@rescue-pro:~# mount /dev/vdb1 /mnt/vdb1

root@rescue-pro:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          9.9G  608M  8.8G   7% /
udev             10M     0   10M   0% /dev
tmpfs           388M  144K  388M   1% /run
/dev/vda1       9.9G  608M  8.8G   7% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           775M     0  775M   0% /run/shm
/dev/vdb1        10G  2.1G  8.0G  21% /mnt/vdb1

Podemos ver que a partição montada está de volta, todos os dados estão no lugar, mas o tamanho ainda é 10GB

Passo 5. CRESCER A PARTE XFS

root@rescue-pro:~# xfs_growfs -d /mnt/vdb1
meta-data=/dev/vdb1              isize=256    agcount=6, agsize=524224 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=2621184, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2621184 to 5242624

O comando acima aumenta o /mnt/vdb1 para o tamanho máximo disponível.

Use o ponto de montagem em vez do dispositivo de bloco.

root@rescue-pro:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          9.9G  608M  8.8G   7% /
udev             10M     0   10M   0% /dev
tmpfs           388M  144K  388M   1% /run
/dev/vda1       9.9G  608M  8.8G   7% /
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           775M     0  775M   0% /run/shm
/dev/vdb1        20G  2.1G   18G  11% /mnt/vdb1

Verifique o espaço em disco novamente e podemos ver que /mnt/vdb1 cresceu com sucesso para 20GB

Etapa 6. Etapa final - reinicialize e saia do modo de resgate

shutdown -h now

Volte para o Painel da OVH e use Reboot VPS para sair do modo de recuperação.

Após inicializar de volta ao ambiente VPS normal.

[root@vps]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  2.1G   18G  11% /
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G   17M  1.9G   1% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           386M     0  386M   0% /run/user/0

[root@vps]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  20G  0 disk 
└─vda1 253:1    0  20G  0 part /

Verifique o que foi mostrado acima, mostrando que a partição raiz foi redimensionada com êxito para 20GB

Acho que não há documentação completa sobre como realizar esse redimensionamento da partição raiz após a atualização do seu OVH VPS.

O sistema de arquivos XFS é o que torna complicado.

Espero que este passo-a-passo ajude alguém que esteja enfrentando o mesmo problema.

    
por 23.02.2017 / 17:09
1

Estou usando o Debian, mas as ferramentas usadas são muito comuns na maioria das distribuições do Linux, então devem funcionar exatamente da mesma forma no CentOS.

Eu atualizei um OVH VPS SSD 1 (10GB) para o OVH VPS SSD 2 (20GB) com um sistema de arquivos raiz usando o ext3. A atualização pode ser feita online, com segurança e em questão de segundos.

Depois de ter comprado a atualização, o VPS será reinicializado. Ainda não há mudanças no sistema de arquivos.

user@vps2:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           387M  5.3M  381M   2% /run
/dev/vda1       9.9G  7.5G  2.0G  80% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           387M     0  387M   0% /run/user/1001

Mas parted mostrará que o disco subjacente foi, de fato, atualizado.

user@vps2:~$ sudo parted /dev/vda
GNU Parted 3.2
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) pr
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  10.7GB  10.7GB  primary  ext3         boot

Eu mudo para unidades de setor e executo um redimensionamento da partição.

(parted) unit s
(parted) resizepart
Partition number? 1
Warning: Partition /dev/vda1 is being used. Are you sure you want to continue?
Yes/No? Yes
End?  [20971519s]? -1s
(parted) pr
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 41943040s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start  End        Size       Type     File system  Flags
 1      2048s  41943039s  41940992s  primary  ext3         boot

(parted) quit
Information: You may need to update /etc/fstab.

A partição agora é redimensionada. Em seguida, preciso redimensionar o sistema de arquivos.

user@vps2:~$ sudo resize2fs -p /dev/vda1
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/vda1 is now 5242624 (4k) blocks long.

No caso de um sistema de arquivos XFS, o comando de redimensionamento seria:

sudo xfs_growfs /

Et voila! , trabalho feito.

user@vps2:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           387M  5.3M  381M   2% /run
/dev/vda1        20G  7.5G   12G  40% /
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
tmpfs           387M     0  387M   0% /run/user/1001
    
por 13.09.2017 / 10:42
0

Após a pesquisa e com a ajuda de suas respostas, finalmente eu acho o caminho (mais ou menos).

1. Crie uma nova partição
Dê um fdisk no disco virtual

~$ fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Comando (m per richiamare la guida): n

Agora, dê o comando n

Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p

Agora escolha p para criar uma nova partição primária.

Numero della partizione (2-4, default 2): <enter>
Primo sector (52428800-104857599, predefinito 52428800): <enter>
Utilizzo del valore predefinito 52428800
Last sector, +sectors or +size{K,M,G} (52428800-104857599, predefinito 104857599): <enter>

Verifique as informações antes de acessar enter e verifique se o primeiro setor é o próximo do último setor da primeira partição. No meu caso, o último setor de vda1 é 52428799, então o próximo é 52428800.

Comando (m per richiamare la guida): w
La tabella delle partizioni è stata alterata!

Chiamata di ioctl() per rileggere la tabella delle partizioni.

WARNING: Re-reading the partition table failed with error 16: Dispositivo o risorsa occupata.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Sincronizzazione dei dischi in corso.

Digite w para gravar suas partições no disco. A reinicialização não é necessária, pois você também pode verificar novamente essas partições usando o partprobe. Execute o seguinte para procurar a partição recém-criada.

~$ partprobe -s

Depois disso, temos que aumentar a partição, mas o xfs_growfs ainda falha. : (

    
por 14.02.2017 / 19:00
0

A maneira mais simples de atualizar o HD com o servidor OVH (é aconselhável fazer o backup do seu servidor antes de fazer isso)

Aqui o HD era 20G e foi atualizado para 40GB, mas eu fiz esse procedimento com 10G > 20G sem perda de dados ou tempo de inatividade

abaixo é passo a passo todos os comandos com sua saída

Verifique seu caminho em HD

[root@ovh ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G   16G  2,8G  86% /
tmpfs           3,8G     0  3,8G   0% /dev/shm

Inicie o fdisk com esse caminho

[root@ovh ~]# sudo fdisk /dev/vda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): 

Veja as partições com o comando p e NOTE DOWN o cilindro inicial (aqui 3 )

p

Disk /dev/vda: 42.9 GB, 42949672960 bytes
16 heads, 63 sectors/track, 83220 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000574cf

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           3       41611    20970496   83  Linux

Command (m for help): 

Exclua a partição com o comando d e crie a partição com n e, em seguida, escolha p e 1 e insira os cilindros mencionados acima 3

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-83220, default 1): 3
Last cylinder, +cylinders or +size{K,M,G} (1-83220, default 83220): 
Using default value 83220

Agora você pode gravar no disco com w ou q (sair sem salvar)

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Peça a reinicialização e saia da máquina

[root@ovh ~]# reboot && exit

Em um ssh de 1 a 2 minutos na máquina e verifique se o tamanho é o mesmo de antes

[root@ovh ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G   16G  2,8G  86% /
tmpfs           3,8G     0  3,8G   0% /dev/shm

Você precisa usar resize2fs para redimensioná-lo

[root@ovh ~]# resize2fs /dev/vda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/vda1 to 10485504 (4k) blocks.
The filesystem on /dev/vda1 is now 10485504 blocks long.

Agora o tamanho deve estar OK

[root@ovh ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   16G   22G  43% /
tmpfs           3,8G     0  3,8G   0% /dev/shm  

NOTA 1:

se você invocar sudo fdisk -u /dev/vda , mostrará sectors em vez de cylinders

NOTA2:

se tentar se reconectar e não conseguir colocar o número errado de início cylinders , será preciso usar Reboot in rescue mode e usar este guia link

se a sua partição não estiver montada, você terá que invocar o fdisk das etapas anteriores com o cylinders correto desta vez

    
por 09.11.2017 / 06:45
-1

Você precisará redimensionar a partição no dispositivo vda, há muitas maneiras de fazer isso, mas eu usaria fdisk ou sfdisk.

Para o fdisk, inicie o fdisk assim:

fdisk /dev/vda

exclua a primeira partição (d), crie uma nova partição (n) e apenas aceite os padrões pressionando return, você precisará marcar a partição como ativa também pressionando a tecla

.

Se você tem uma versão razoavelmente moderna do sfdisk, você pode redimensionar programaticamente a partição para preencher o disco com este comando

echo ", +" | sfdisk -N 1 /dev/vda

O próximo passo é informar ao SO sobre o novo tamanho do disco, seja por meio de um reboot ou com o comando partprobe, que faz parte do pacote parted.

partprobe /dev/vda

Por fim, você precisará redimensionar o sistema de arquivos no dispositivo para o qual já recebeu o comando, mas a integridade está abaixo. Observe que você não precisa incluir -D, a menos que queira usar menos que todo o dispositivo.

xfs_growfs /dev/vda1
    
por 22.09.2016 / 12:55