Arquivo Centos Kickstart - particionamento de disco rígido para aumentar o tamanho do disco rígido

1

Eu estou procurando uma maneira de particionar (no final, um arquivo de kickstart para vm's) para que o aumento do espaço em disco seja possível sem tirar o vm offline (sem problemas com lvm), mas sem excluir / recriar as partições - com ferramentas de bordo de centos.

Existe uma maneira possível?

Obrigado!

EDITAR: Estas são as minhas opções reais de partição no arquivo de kickstart:

## Informações sobre particionamento de disco

part pv.192 --fstype="lvmpv" --ondisk=sda --size=1 --grow
volgroup centos --pesize=4096 pv.192
logvol / fstype="xfs" --name=root --vgname=centos --maxsize=51200 --size=5024 --grow
logvol swap  --fstype="swap" --size=4096 --name=swap --vgname=centos

part pv.193  --fstype="lvmpv" --ondisk=sdb --size=1 --grow
volgroup logs --pesize=4096 pv.193
logvol /var/log  --fstype="xfs" --maxsize=51200 --size=8192 --grow  --name=log --vgname=logs

A desvantagem aqui é que eu tenho que excluir / recriar o volume ao redimensioná-los.

Isto é o que parece:

[root@localhost ~]# ssm list
-----------------------------------------------------------
Device        Free      Used     Total  Pool    Mount point
-----------------------------------------------------------
/dev/sda                      21.00 GB          PARTITIONED
/dev/sda1                      1.00 GB          /boot
/dev/sda2  0.00 KB  20.00 GB  20.00 GB  centos
/dev/sdb                      32.00 GB
/dev/sdb1  0.00 KB  32.00 GB  32.00 GB  logs
-----------------------------------------------------------
--------------------------------------------------
Pool    Type  Devices     Free      Used     Total
--------------------------------------------------
centos  lvm   1        0.00 KB  20.00 GB  20.00 GB
logs    lvm   1        0.00 KB  32.00 GB  32.00 GB
--------------------------------------------------
--------------------------------------------------------------------------------------
Volume            Pool    Volume size  FS      FS size       Free  Type    Mount point
--------------------------------------------------------------------------------------
/dev/centos/root  centos     16.00 GB  xfs    15.99 GB   14.99 GB  linear  /
/dev/centos/swap  centos      4.00 GB                              linear
/dev/logs/log     logs       32.00 GB  xfs    31.98 GB   31.95 GB  linear  /var/log
/dev/sda1                     1.00 GB  xfs  1014.00 MB  871.73 MB  part    /boot
--------------------------------------------------------------------------------------

E isso é o que eu quero (vdb, vdc, vdd) - mas também para o disco do sistema operacional:

[root@vm1 isolinux]# ssm list
-------------------------------------------------------------
Device        Free       Used      Total  Pool    Mount point
-------------------------------------------------------------
/dev/vda                       445.00 GB          PARTITIONED
/dev/vda1                        1.00 GB          /boot
/dev/vda2  0.00 KB  439.00 GB  439.00 GB  centos
/dev/vdb   0.00 KB   30.00 GB   30.00 GB  centos
/dev/vdc   0.00 KB   20.00 GB   20.00 GB  testvg
/dev/vdd   0.00 KB   40.00 GB   40.00 GB  vg_vdd
-------------------------------------------------------------
----------------------------------------------------
Pool    Type  Devices     Free       Used      Total
----------------------------------------------------
centos  lvm   2        0.00 KB  468.99 GB  468.99 GB
testvg  lvm   1        0.00 KB   20.00 GB   20.00 GB
vg_vdd  lvm   1        0.00 KB   40.00 GB   40.00 GB
----------------------------------------------------
---------------------------------------------------------------------------------------------
Volume                   Pool    Volume size  FS      FS size       Free  Type    Mount point
---------------------------------------------------------------------------------------------
/dev/centos/root         centos    440.00 GB  xfs   439.98 GB  374.89 GB  linear  /
/dev/centos/swap         centos      4.00 GB                              linear
/dev/vg_vdd/lv_vdd       vg_vdd     40.00 GB  xfs    39.99 GB   39.99 GB  linear
/dev/centos/TEST-SDB     centos     25.00 GB  xfs    24.99 GB   24.99 GB  linear
/dev/testvg/lv_vdc-test  testvg     20.00 GB  xfs    19.99 GB   19.99 GB  linear
/dev/vda1                            1.00 GB  xfs  1014.00 MB  790.33 MB  part    /boot
---------------------------------------------------------------------------------------------

Eu quero usar o LVM e ter meus sistemas de arquivos (incluindo o sistema operacional) diretamente nos discos. Existe uma maneira na parte "informações da partição do disco", ou eu tenho que fazer essas alterações no% post sektor (que excluiria o disco do sistema operacional).

Obrigado por qualquer dica!

    
por mschau 25.06.2018 / 11:23

2 respostas

0

Como obviamente não há como fazer essa tarefa na parte "informações de particionamento de disco", eu uso a seção% pre. Aqui você quase pode usar os comandos bash comuns para isso, com algumas modificações:

%pre --log /tmp/pre-install.log
echo "Starting Kickstart Pre-Installation..."

echo "Step 1: vgcreate vg_sdb /dev/sdb -f -y"
vgcreate vg_sdb /dev/sdb -f -y

echo "Step 2: lvcreate -l 100%FREE --name sdb vg_sdb"
lvcreate -l 100%FREE --name sdb vg_sdb

echo "Step 3: mkfs.xfs /dev/vg_sdb/sdb"
mkfs.xfs /dev/vg_sdb/sdb
vgchange -ay


%end

Como meu kickstart será criado a partir de outra ferramenta, não preciso de mais lógica aqui (por exemplo, sem discos codificados e volgroups, ...)

    
por 06.07.2018 / 09:48
0

Você sempre pode usar ferramentas "onboad" para recriar. A exclusão de uma parte no fdisk não a apaga. Basta remover a peça e recriá-la no mesmo setor inicial, mas com tamanho maior. Não hesite em fazer isso na execução da partição montada. Não vai quebrar nada.

Mas, para usar esse tamanho extra depois de recriar você ainda precisará de uma maneira de dizer ao kernel para recarregar a tabela de partes do disco usado, então você precisa instalar o parted e usar o partprobe (o fdisk sugerirá que quando você gravar alterações e sair ). Está dentro do repositório, então apenas instalar o parted.

Em seguida, use resize2fs para ampliar o sistema de arquivos on-line.

O LVM dentro da VM não é necessário, pois torna as coisas mais complicadas. (Surpresa!) Deixe o host fazer o gerenciamento de layout de volume físico real.

Veja a transcrição (é do Debian na verdade, mas com o CentOS ele vai exatamente o mesmo):

root@test:/home/merlin# fdisk -l /dev/sd?
Disk /dev/sda: 8 GiB, 8589934592 bytes, 16777216 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
Disklabel type: dos
Disk identifier: 0x3bc1a4d0

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048  1048575  1046528  511M 82 Linux swap / Solaris
/dev/sda2       1048576 16777215 15728640  7.5G 83 Linux
root@test:/home/merlin# df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
udev               494M            0  494M            0% /dev
tmpfs              100M         1.7M   98M            2% /run
/dev/sda2          7.4G         921M  6.1G           13% /
tmpfs              499M            0  499M            0% /dev/shm
tmpfs              5.0M            0  5.0M            0% /run/lock
tmpfs              499M            0  499M            0% /sys/fs/cgroup
tmpfs              100M            0  100M            0% /run/user/1000

Neste ponto, adicionei 16 Gb ao sda no host de virtualização. VM vê isso:

root@test:/home/merlin# dmesg | tail
[    3.613736] usb 1-1: SerialNumber: 42
[    3.858801] random: crng init done
[    3.927777] hidraw: raw HID events driver (C) Jiri Kosina
[    3.939081] usbcore: registered new interface driver usbhid
[    3.939082] usbhid: USB HID core driver
[    3.963159] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input6
[    3.963623] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:01.2-1/input0
[   54.108990] sd 0:0:0:0: Capacity data has changed
[   54.110036] sd 0:0:0:0: [sda] 50331648 512-byte logical blocks: (25.8 GB/24.0 GiB)
[   54.110235] sda: detected capacity change from 8589934592 to 25769803776

Agora, todo o procedimento:

root@test:/home/merlin# fdisk -l /dev/sda
Disk /dev/sda: 24 GiB, 25769803776 bytes, 50331648 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
Disklabel type: dos
Disk identifier: 0x3bc1a4d0

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048  1048575  1046528  511M 82 Linux swap / Solaris
/dev/sda2       1048576 16777215 15728640  7.5G 83 Linux
root@test:/home/merlin# fdisk /dev/sda

Welcome to fdisk (util-linux 2.29.2).                                                                                                                                                        
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 
First sector (1048576-50331647, default 1048576): 
Last sector, +sectors or +size{K,M,G,T,P} (1048576-50331647, default 50331647): 

Created a new partition 2 of type 'Linux' and of size 23.5 GiB.
Partition #2 contains a ext4 signature.

Do you want to remove the signature? [Y]es/[N]o: n

Command (m for help): p

Disk /dev/sda: 24 GiB, 25769803776 bytes, 50331648 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
Disklabel type: dos
Disk identifier: 0x3bc1a4d0

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1          2048  1048575  1046528  511M 82 Linux swap / Solaris
/dev/sda2       1048576 50331647 49283072 23.5G 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Устройство или ресурс занято

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).

root@test:/home/merlin# partprobe /dev/sda
root@test:/home/merlin# df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
udev               494M            0  494M            0% /dev
tmpfs              100M         1.7M   98M            2% /run
/dev/sda2          7.4G         921M  6.1G           13% /
tmpfs              499M            0  499M            0% /dev/shm
tmpfs              5.0M            0  5.0M            0% /run/lock
tmpfs              499M            0  499M            0% /sys/fs/cgroup
tmpfs              100M            0  100M            0% /run/user/1000
root@test:/home/merlin# resize2fs /dev/sda2
resize2fs 1.43.4 (31-Jan-2017)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/sda2 is now 6160384 (4k) blocks long.

root@test:/home/merlin# df -h
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в
udev               494M            0  494M            0% /dev
tmpfs              100M         1.7M   98M            2% /run
/dev/sda2           24G         924M   22G            5% /
tmpfs              499M            0  499M            0% /dev/shm
tmpfs              5.0M            0  5.0M            0% /run/lock
tmpfs              499M            0  499M            0% /sys/fs/cgroup
tmpfs              100M            0  100M            0% /run/user/1000
    
por 25.06.2018 / 12:12

Tags