Para semi-automatizar partições LVM estendidas em clones de VMs Debian 11 a partir de um modelo, sinto-me um pouco travado quando tento fazer o script em comparação sfdisk
com arquivos fdisk
.
- Aqui está o particionamento original
root# sudo fdisk /dev/sda
Commande (m pour l'aide) : p
Disque /dev/sda : 45 GiB, 48318382080 octets, 94371840 secteurs
Modèle de disque : VDISK
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 1048576 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x919d40af
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 2000895 1998848 976M 83 Linux
/dev/sda2 2000896 86962175 84961280 40,5G 8e LVM Linux
/dev/sda3 86964222 94369791 7405570 3,5G 5 Étendue
/dev/sda5 86964224 94369791 7405568 3,5G 83 Linux
- Realizo as seguintes tarefas através do fdisk para estender os VGs do LVM: Nota: sda3 e sda5 não são usados, é por isso que os excluo.
- excluir partição 5: "d", 5
- excluir partição 3: "d", 3
- excluir partição 2: "d", 2
- crie uma nova parte estendida 2 com setores de início/fim padrão e o tipo é LVM: "n", "e", "2", "t", "lvm"
o resultado é :
Commande (m pour l'aide) : p
Disque /dev/sda : 45 GiB, 48318382080 octets, 94371840 secteurs
Modèle de disque : VDISK
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 1048576 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x919d40af
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 2000895 1998848 976M 83 Linux
/dev/sda2 2000896 94371839 92370944 44G 8e LVM Linux
Em seguida, depois que um disco VM crescer de 45 => 60 GB, posso atualizar sda2 comsudo pvresize /dev/sda2
Em seguida, estenda os VGs do meu LVM comsudo lvextend -L +5G /dev/vg/my_vg_name
Finalmente, redimensione o sistema de arquivos com sudo resize2fs /dev/vg/my_vg_name
e reinicie com sucesso.
- Eu quero fazer o script dessas ações (com requisitos de validação humana, com certeza), então minha primeira ideia foi ir com
sfdisk
. Antes de colocar o comando em um script, eu os testo manualmente, então farei:
- excluir partição 5:
sudo sfdisk /dev/sda 5 --delete --force --lock;
- excluir partição 3:
sudo sfdisk /dev/sda 3 --delete --force --lock;
- excluir partição 2:
sudo sfdisk /dev/sda 2 --delete --force --lock;
- crie uma nova parte estendida 2 com setores de início/fim padrão e o tipo é LVM:
sudo sfdisk /dev/sda 2 --force --lock << EOF
,,V
write
EOF
O resultado parece bom, o tamanho do sda2 aumentou de 45 para ~ 60 GB:
Disque /dev/sda : 60 GiB, 64424509440 octets, 125829120 secteurs
Modèle de disque : VDISK
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 1048576 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x919d40af
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 2000895 1998848 976M 83 Linux
/dev/sda2 2000896 125829119 123828224 59G 8e LVM Linux
Agora vamos atualizar o sda2 e estender um VG e ele fica ruim:
root# sudo pvresize /dev/sda2
Physical volume "/dev/sda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
root# sudo lvextend -L +5G /dev/vg/var
Insufficient free space: 1280 extents needed, but only 0 available
Parece que a tabela de partição não está atualizada com o sfdisk, enquanto está com o fdisk.
É um comportamento "normal" do sfdisk ou perdi alguma coisa lá?
Além disso, se você tiver ideias mais fáceis ou algum conselho, sinta-se à vontade para dizer se for construtivo.
Alguém de outro fórum encontrou a solução que resumirei abaixo: Parece que o sfdisk precisa de uma alteração explícita
partprobe
oukpartx -uv /dev/sda
após a gravação.Isso significa que eu tenho que executar as seguintes tarefas:
Agora posso estender e redimensionar minha parte LVM com