2017-06-14 6 views
1

私は、いくつかのApacheログが非常に速くいって、ルートファイルシステムが十分に大きくないという問題に直面しました。パッカーでAMIを作成中にルートファイルシステムのサイズを変更するには?

私はAMIの作成時パッカーを使用して作成AMIとCentOSの6

がどのように私はルートFSのサイズを変更することができますを使用しています、後で使用するために、それは準備ができていますか?私の結果を達成するために

+0

を? –

+0

私はfacterを使ってOSのバージョンを取得します。 – Alex

+0

ハハ。 OK。あなたの答えは+1ですが、おそらく、あなたがパペットの存在を前提としていることを明確にする必要があります。 –

答えて

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 

パーティションが拡張され、それは、AMIの作成時に表示可能ではないが次の再起動時にFSは、フルボリュームのサイズにリサイズされます。

私はいくつかの興味深い情報やプロジェクトが見つかりました:これは人形で行うようになったものは

linux-rootfs-resize project

packer discussion

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

ami-block-device-mappings-example

関連する問題