2013-10-02 10 views
9

Próbuję zwiększyć ilość miejsca na dysku twardym w mojej kopii zapasowej instancji e2 ebs z mojej chmuryformation AutoScaling :: LaunchConfiguration. Początkowo urządzenie główne ma 8 GB. Chciałbym zwiększyć to do 40 GB. Mam wrażenie, że mogę to zrobić na podstawie tego documentation. Niestety, poniższa konfiguracja nie działa.Zwiększenie rozmiaru urządzenia root w grupie autoskalowania w zakresie chmurformacji

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

Używam niestandardowego ami opartego na ami-05355a6c.

Odpowiedz

16

Twoja konfiguracja uruchamiania ustawia rozmiar urządzenia blokowego woluminu EBS. Jednak system plików nadal uważa, że ​​powinien używać tylko 8 GB.

można uruchomić polecenie jak poniżej, aby poinformować system plików należy zużyć całą urządzenia blokowego:

sudo resize2fs /dev/sda1 

można zautomatyzować ten w niestandardowych AMI komend startowych, czy można przekazać w skrypt dla użytkownika dane w LaunchConfiguration do skutku:

#!/bin/bash 
resize2fs /dev/sda1 

skrypty użytkownika danych są uruchamiane jako root na pierwszym rozruchu, więc sudo nie jest konieczne. Oto artykuł, gdzie wprowadzono pojęcie skryptów użytkownika danych: http://alestic.com/2009/06/ec2-user-data-scripts

W szablonie CloudFormation, może to wyglądać mniej więcej tak:

"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", 
     "" 
    ]]}} 

Oto artykuł, gdzie wyjaśnię przydatność „exec” linia do debugowania skryptów danych użytkownika: http://alestic.com/2010/12/ec2-user-data-output

+0

+1 za podpowiedź na temat linii "exec". To zaoszczędziło mi czasu na łodzi. Jeśli widzę cię na nowo w tym roku, jestem ci winien piwo :) – BillMan

Powiązane problemy