2017-06-14 27 views
1

我遇到了一些apache日誌填滿太快的問題,以致根文件系統不夠大。如何在使用打包器創建AMI期間調整根文件系統的大小?

我的AMI創建過程中正在使用與封隔器創建的AMI和CentOS 6

我如何調整根FS有它準備好以後使用?

+0

了什麼這讓木偶呢? –

+0

我使用facter來獲取操作系統版本。 – Alex

+0

哈哈。好。 +1爲你的答案,但你可能需要更清楚地表明你假設Puppet的存在。 –

回答

1

爲了實現我的結果,我加入打包機配置這樣一個user_data_file腳本:

 "user_data_file": "/root/packer_userdata.sh", 

所以我加了封隔器user_data_file後續的代碼;我用傀儡的方式獲取我需要的信息,但是你可以使用任何你想要的東西,甚至可以把它作爲常量。

# resize root fs if the volume is bigger 
echo "ROOT DISK RESIZING" > /tmp/root_disk_resize.log 
# wait for facter 
while (! /usr/bin/facter); do sleep 15 ; done >> /tmp/root_disk_resize.log 2>&1 
OS_RELEASE=$(facter operatingsystemmajrelease 2>&1) 
ROOT_DEVICE=$(facter ec2_block_device_mapping_root 2>&1) 
# Install epel 
rpm -ivh https://ftp.fau.de/epel/epel-release-latest-${OS_RELEASE}.noarch.rpm >> /tmp/root_disk_resize.log 2>&1 
yum install -y cloud-utils-growpart gdisk >> /tmp/root_disk_resize.log 2>&1 
# resize partition 
growpart -v ${ROOT_DEVICE} 1 >> /tmp/root_disk_resize.log 2>&1 
# resize filesystem 
resize2fs -p ${ROOT_DEVICE}1 >> /tmp/root_disk_resize.log 2>&1 
# remove epel to avoid to interfere with the rest of the installation 
rpm -e epel-release  >> /tmp/root_disk_resize.log 2>&1 

該分區將被延長,在下一次重新啓動時的FS將被調整到最大音量大小雖然它不是AMI創建過程中可見。

我發現了一些有趣的信息和項目:

linux-rootfs-resize project

packer discussion

autoresize-ebs-root-volume-on-aws-amis

ami-block-device-mappings-example

相關問題