9

Я пытаюсь увеличить пространство на жестком диске на моем ebs-экземпляре ec2 из моей облачной информации AutoScaling :: LaunchConfiguration. Первоначально корневое устройство начинается с 8 ГБ. Я бы хотел увеличить это до 40 ГБ. У меня такое впечатление, что я могу сделать это на основе этого documentation. К сожалению, приведенная ниже конфигурация не работает.Увеличьте размер корневого устройства в группе автомасштабирования облаков

"LaunchConfig" : { 
    "Type": "AWS::AutoScaling::LaunchConfiguration", 
    "Properties": { 
     "BlockDeviceMappings": [{ 
      "DeviceName": "/dev/sda1", 
      "Ebs" : {"VolumeSize": "40"} 
     }] 
    } 
} 

Я использую пользовательский ami, основанный на ami-05355a6c.

ответ

16

Ваша установка LaunchConfiguration устанавливает размер устройства блока тома EBS. Однако файловая система по-прежнему считает, что она должна использовать только 8 ГБ.

Вы можете выполнить команду, как в следующем сказать файловую систему он должен израсходовать весь блок устройства:

sudo resize2fs /dev/sda1 

Вы можете автоматизировать это в ваших пользовательских команд запуска AMI, или вы могли бы пройти в скрипт пользователя данных в вашем LaunchConfiguration к действию:

#!/bin/bash 
resize2fs /dev/sda1 

скриптов пользователя данных работают как корень на первую загрузку, поэтому Судо не нужно. Вот статья, где я ввел понятие скриптов пользователя данных: http://alestic.com/2009/06/ec2-user-data-scripts

В шаблоне CloudFormation, это может выглядеть примерно так:

"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ 
     "#!/bin/bash -ex\n", 
     "exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1\n", 
     "resize2fs /dev/sda1\n", 
     "" 
    ]]}} 

Вот статья, где я объясняю полезность «Exec» line для отладки сценариев пользовательских данных: http://alestic.com/2010/12/ec2-user-data-output

+0

+1 для подсказки о линии «exec». Это спасло меня от времени на лодку. Если я увижу, что вы изобретаете в этом году, я должен вам пиво :) – BillMan

Смежные вопросы