instância do Amazon automaticamente criando e redimensionando partições após a importação de VM

1

Estou usando o Packer para criar uma VM com o CentOS 7 e exportá-lo como um arquivo .ova no final da instalação. Por padrão, o Packer cria um disco virtual de 40 GB ( .vmdk ). Após a instalação, se eu importar o arquivo. ova no VirtualBox (apenas para testes) e listar o sistema de arquivos da VM criada, obtive isso:

[root@localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   37G  1.6G   35G   5% /
devtmpfs             1.3G     0  1.3G   0% /dev
tmpfs                1.4G     0  1.4G   0% /dev/shm
tmpfs                1.4G  8.4M  1.3G   1% /run
tmpfs                1.4G     0  1.4G   0% /sys/fs/cgroup
/dev/sda1           1014M  166M  849M  17% /boot
tmpfs                268M     0  268M   0% /run/user/1000
tmpfs                268M     0  268M   0% /run/user/0

Se eu importar o mesmo arquivo .ova em uma Instância do Amazon, desta vez aumentando o tamanho do meu volume de armazenamento raiz para 100 GB, obtive este sistema de arquivos:

[root@localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   50G  4,0G   46G   9% /
devtmpfs              15G     0   15G   0% /dev
tmpfs                 15G     0   15G   0% /dev/shm
tmpfs                 15G   18M   15G   1% /run
tmpfs                 15G     0   15G   0% /sys/fs/cgroup
/dev/xvda1          1014M  185M  830M  19% /boot
/dev/mapper/cl-home   45G   89M   45G   1% /home
tmpfs                3,0G     0  3,0G   0% /run/user/0
tmpfs                3,0G     0  3,0G   0% /run/user/1000

Observe que o / foi aumentado para 50 GB e agora um novo /home foi criado automaticamente. Isso estava me deixando louco, até encontrar a causa: Toda a instalação foi feita automaticamente pelo Packer, usando um arquivo de configuração do kickstart que usa autopart para particionamento. Nos documentos do RedHat, encontrei isto:

autopart (optional)
Automatically creates partitions: a root (/) partition (1 GB or larger), a swap partition, and an appropriate /boot partition for the architecture. On large enough drives (50 GB and larger), this also creates a /home partition.

Então, decidi criar manualmente as partições, usando essas linhas no arquivo de kickstart em vez de autopart :

part /boot --fstype ext4 --size=1014
part pv.01 --size=1000 --grow
volgroup cl pv.01
logvol swap --fstype swap --name=swap --vgname=cl --size=2048
logvol / --fstype ext4 --name=root --vgname=cl --size=1 --grow

Importando o .ova novamente para a Amazon, selecionando o mesmo tamanho de armazenamento de 100 GB para o volume raiz, finalmente consegui o que queria:

[root@localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   94G  2,3G   87G   3% /
devtmpfs              15G     0   15G   0% /dev
tmpfs                 15G     0   15G   0% /dev/shm
tmpfs                 15G  8,3M   15G   1% /run
tmpfs                 15G     0   15G   0% /sys/fs/cgroup
/dev/xvda1           983M  154M  762M  17% /boot
tmpfs                3,0G     0  3,0G   0% /run/user/1000

Então eu encontrei O QUE está acontecendo, mas não COMO isso acontece. As perguntas são:

  • O arquivo de kickstart deve ser usado apenas no momento da instalação. Como depois de Amazon VM importar o sistema de arquivos são alterados usando o mesmo convenções da instalação do kickstart?
  • Onde esta informação é armazenada e como o redimensionamento está sendo feito automaticamente no CentOS 7?
por Eduardo Baitello 17.03.2017 / 20:18

0 respostas