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: