AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1166758
Accepted
Flo
Flo
Asked: 2024-10-18 18:08:29 +0800 CST2024-10-18 18:08:29 +0800 CST 2024-10-18 18:08:29 +0800 CST

Tamanho do volume físico perdido após reinicialização

  • 772

Contexto

Estou executando um sistema Red Hat Enterprise Linux versão 8.5 em uma VM em um VMWare ESXI.

Eu precisava de mais espaço em um volume lógico preciso chamado lv_pmpnaquela VM:

$ lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   80G  0 disk
├─sda1                         8:1    0  600M  0 part /boot/efi
├─sda2                         8:2    0    1G  0 part /boot
└─sda3                         8:3    0 78,4G  0 part
  ├─VGslash-lv_root          253:0    0 19,5G  0 lvm  /
  ├─VGslash-lv_swap          253:1    0    4G  0 lvm  [SWAP]
  ├─VGslash-lv_usr           253:2    0    8G  0 lvm  /usr
  ├─VGslash-lv_srv           253:3    0    2G  0 lvm  /srv
  ├─VGslash-lv_home          253:4    0    2G  0 lvm  /home
  ├─VGslash-lv_opt           253:5    0    4G  0 lvm  /opt
  ├─VGslash-lv_tmp           253:6    0    4G  0 lvm  /tmp
  ├─VGslash-lv_var_log_audit 253:7    0  512M  0 lvm  /var/log/audit
  ├─VGslash-lv_var_log       253:8    0    1G  0 lvm  /var/log
  ├─VGslash-lv_vartmp        253:9    0 10,4G  0 lvm  /var/tmp
  ├─VGslash-lv_var           253:10   0    3G  0 lvm  /var
  └─VGslash-lv_pmp           253:11   0   20G  0 lvm  /pmp
sr0                           11:0    1 1024M  0 rom

Então redimensionei o disco da VM para 500G nas propriedades do VSphere que apareceram na sdaparte:

$ lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                            8:0    0  500G  0 disk
├─sda1                         8:1    0  600M  0 part /boot/efi
├─sda2                         8:2    0    1G  0 part /boot
└─sda3                         8:3    0 78,4G  0 part
  ├─VGslash-lv_root          253:0    0 19,5G  0 lvm  /
  ├─VGslash-lv_swap          253:1    0    4G  0 lvm  [SWAP]
  ├─VGslash-lv_usr           253:2    0    8G  0 lvm  /usr
  ├─VGslash-lv_srv           253:3    0    2G  0 lvm  /srv
  ├─VGslash-lv_home          253:4    0    2G  0 lvm  /home
  ├─VGslash-lv_opt           253:5    0    4G  0 lvm  /opt
  ├─VGslash-lv_tmp           253:6    0    4G  0 lvm  /tmp
  ├─VGslash-lv_var_log_audit 253:7    0  512M  0 lvm  /var/log/audit
  ├─VGslash-lv_var_log       253:8    0    1G  0 lvm  /var/log
  ├─VGslash-lv_vartmp        253:9    0 10,4G  0 lvm  /var/tmp
  ├─VGslash-lv_var           253:10   0    3G  0 lvm  /var
  └─VGslash-lv_pmp           253:11   0   20G  0 lvm  /pmp
sr0                           11:0    1 1024M  0 rom

Em seguida, redimensionei o sda3volume físico para corresponder ao espaço em disco recém-adicionado com

$ resizepart /dev/sda 3 1000000000
$ pvresize /dev/sda3
$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   500G  0 disk
├─sda1                         8:1    0   600M  0 part /boot/efi
├─sda2                         8:2    0     1G  0 part /boot
└─sda3                         8:3    0 476,9G  0 part
  ├─VGslash-lv_root          253:0    0  19,5G  0 lvm  /
  ├─VGslash-lv_swap          253:1    0     4G  0 lvm  [SWAP]
  ├─VGslash-lv_usr           253:2    0     8G  0 lvm  /usr
  ├─VGslash-lv_srv           253:3    0     2G  0 lvm  /srv
  ├─VGslash-lv_home          253:4    0     2G  0 lvm  /home
  ├─VGslash-lv_opt           253:5    0     4G  0 lvm  /opt
  ├─VGslash-lv_tmp           253:6    0     4G  0 lvm  /tmp
  ├─VGslash-lv_var_log_audit 253:7    0   512M  0 lvm  /var/log/audit
  ├─VGslash-lv_var_log       253:8    0     1G  0 lvm  /var/log
  ├─VGslash-lv_vartmp        253:9    0  10,4G  0 lvm  /var/tmp
  ├─VGslash-lv_var           253:10   0     3G  0 lvm  /var
  └─VGslash-lv_pmp           253:11   0    20G  0 lvm  /pmp
sr0                           11:0    1  1024M  0 rom

Aumentei o lv_pmptamanho do volume lógico:

$ lvextend /dev/mapper/VGslash-lv_pmp -l+100%FREE

E atualizou o sistema de arquivos para que ele detectasse o novo tamanho:

$ xfs_growfs /dev/mapper/VGslash-lv_pmp

Até agora tudo bem, obtive o tamanho que esperava no lv_pmpvolume lógico:

$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   500G  0 disk
├─sda1                         8:1    0   600M  0 part /boot/efi
├─sda2                         8:2    0     1G  0 part /boot
└─sda3                         8:3    0 476,9G  0 part
  ├─VGslash-lv_root          253:0    0  19,5G  0 lvm  /
  ├─VGslash-lv_swap          253:1    0     4G  0 lvm  [SWAP]
  ├─VGslash-lv_usr           253:2    0     8G  0 lvm  /usr
  ├─VGslash-lv_srv           253:3    0     2G  0 lvm  /srv
  ├─VGslash-lv_home          253:4    0     2G  0 lvm  /home
  ├─VGslash-lv_opt           253:5    0     4G  0 lvm  /opt
  ├─VGslash-lv_tmp           253:6    0     4G  0 lvm  /tmp
  ├─VGslash-lv_var_log_audit 253:7    0   512M  0 lvm  /var/log/audit
  ├─VGslash-lv_var_log       253:8    0     1G  0 lvm  /var/log
  ├─VGslash-lv_vartmp        253:9    0  10,4G  0 lvm  /var/tmp
  ├─VGslash-lv_var           253:10   0     3G  0 lvm  /var
  └─VGslash-lv_pmp           253:11   0 418,4G  0 lvm  /pmp
sr0                           11:0    1  1024M  0 rom    

Problema

O problema surge assim que reinicio o sistema: ele parece perder as alterações de tamanho que fiz no sda3volume físico, o que consequentemente impede que o lv_pmpvolume lógico seja montado (pois ele assume que não há espaço suficiente no PV pai):

$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0   500G  0 disk
├─sda1                         8:1    0   600M  0 part /boot/efi
├─sda2                         8:2    0     1G  0 part /boot
└─sda3                         8:3    0  76,9G  0 part
  ├─VGslash-lv_root          253:0    0  19,5G  0 lvm  /
  ├─VGslash-lv_swap          253:1    0     4G  0 lvm  [SWAP]
  ├─VGslash-lv_usr           253:2    0     8G  0 lvm  /usr
  ├─VGslash-lv_srv           253:3    0     2G  0 lvm  /srv
  ├─VGslash-lv_home          253:4    0     2G  0 lvm  /home
  ├─VGslash-lv_opt           253:5    0     4G  0 lvm  /opt
  ├─VGslash-lv_tmp           253:6    0     4G  0 lvm  /tmp
  ├─VGslash-lv_var_log_audit 253:7    0   512M  0 lvm  /var/log/audit
  ├─VGslash-lv_var_log       253:8    0     1G  0 lvm  /var/log
  ├─VGslash-lv_vartmp        253:9    0  10,4G  0 lvm  /var/tmp
  └─VGslash-lv_var           253:10   0     3G  0 lvm  /var
sr0                           11:0    1  1024M  0 rom 

Solução alternativa

É possível colocá-lo de volta em forma executando os seguintes comandos manualmente após a reinicialização:

### Re-apply physical volume changes
$ resizepart /dev/sda 3 1000000000
$ pvresize /dev/sda3
### Re-scan logical volumes
$ vgscan --mknodes -v
$ vgchange -a y

Pergunta

Por que isso está acontecendo? E o que posso fazer para evitar isso?

Não sei se isso está relacionado ao próprio sistema operacional, ao ambiente da VM ou a algum outro fator que não controlo. Qualquer conselho a esse respeito também ajudaria.

A solução alternativa acima não é realmente satisfatória, mesmo que eu pudesse colocá-la em um script na inicialização, ter que executar essa ação a cada inicialização não parece certo: não faz sentido para mim que uma alteração no tamanho do volume não persista após uma reinicialização.

vmware-esxi
  • 1 1 respostas
  • 17 Views

1 respostas

  • Voted
  1. Best Answer
    Nikita Kipriyanov
    2024-10-18T18:12:55+08:002024-10-18T18:12:55+08:00

    resizepart não atualiza estruturas no disco. Ele só faz alterações nas estruturas live do kernel. Consultoria man resizepart:

    resizepartinforma ao kernel Linux sobre o novo tamanho da partição especificada. O comando é um wrapper simples em torno do ioctl "resize partition".

    Este comando não manipula partições em um dispositivo de bloco.

    Você precisa usar fdisk(ou qualquer outro editor de partição) para alterar a partição no disco e, em seguida, atualizar a visualização do kernel usando resizepart(ou kpartx, ou partprobe, ou reinicializar).

    Existe uma ferramenta chamada growpartque faz as duas coisas, e online.

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve