gpt4 book ai didi

amazon-web-services - 如何在使用加壳器创建 AMI 期间调整根文件系统的大小?

转载 作者:行者123 更新时间:2023-12-05 05:20:30 25 4
gpt4 key购买 nike

我遇到了一些 apache 日志填得太快以至于根文件系统不够大的问题。

我正在使用用 packer 和 centos 6 创建的 AMI。

如何在创建 AMI 期间调整根 FS 的大小,以便为以后使用做好准备?

最佳答案

为了实现我的结果,我在加壳配置中添加了一个 user_data_file 脚本,如下所示:

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

因此,我在加壳器 user_data_file 中添加了以下代码;我使用 puppet 中的 facter 来获取我需要的信息,但你可以使用任何你想要的,甚至可以将其作为常量。

# 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

关于amazon-web-services - 如何在使用加壳器创建 AMI 期间调整根文件系统的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44540360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com