Odpowiedź jest dwojaka.
Obejście: użyj / dev / xvdb (/ mnt) dla danych tymczasowych
Jest to tak zwane efemeryczne przechowywanie Twojego wystąpienia Amazon EC2, a jego cechy są znacznie różne niż w przypadku trwałego magazynu Amazon EBS używanego gdzie indziej. W szczególności ta efemeryczna pamięć masowa zostanie utracona w cyklach stop / start i może zasadniczo zniknąć , więc zdecydowanie nie chcesz umieszczać w niej niczego o trwałej wartości, tj. Umieszczać tam tylko dane tymczasowe, na które możesz sobie pozwolić łatwo stracić lub odbudować , jak plik wymiany lub ściśle tymczasowe dane używane podczas obliczeń. Oczywiście możesz przechowywać na przykład ogromne indeksy, ale musisz być przygotowany na ich odbudowę po wyczyszczeniu pamięci z jakiegokolwiek powodu (ponowne uruchomienie instancji, awaria sprzętu, ...).
Rozwiązanie: zmień rozmiar / dev / xvda1 (/), aby uzyskać pożądaną pamięć
Jest to tak zwane urządzenia głównego bagażu Twojego Amazon EBS-backed instancji EC2, co ułatwia Amazon EBS na elastyczność i trwałość w szczególności, czyli dane umieścić tam jest dość bezpieczna i przetrwa instancji awarie; możesz jeszcze bardziej zwiększyć elastyczność i trwałość, wykonując regularne migawki woluminu EBS, które są przechowywane na Amazon S3 , o znanej trwałości 99,999999999%.
Ta funkcja migawki umożliwia z kolei rozwiązanie problemu, o ile możesz zastąpić bieżącą pamięć root 8 GB EBS (/ dev / xvda1) jedną większą lub mniejszą wielkością, jak chcesz. Proces został opisany w doskonałym artykule Erica Hammonda Zmiana rozmiaru dysku głównego w działającej instancji rozruchowej EBS Boot EC2 :
Tak długo, jak jesteś w porządku z krótkim czasem przestoju na instancji EC2 (kilka minut), możesz zmienić główny wolumin EBS na większą kopię, bez potrzeby uruchamiania nowej instancji.
Jeśli odpowiednio przygotujesz kroki, które opisuje (bardzo polecam przetestowanie ich za pomocą instancji EC2, aby zapoznać się z procedurą lub zautomatyzować ją nawet za pomocą skryptu dostosowanego), powinieneś być w stanie zakończyć proces kilkoma rzeczywiście tylko kilka minut przestoju.
Większość opisanych kroków można również wykonać za pomocą konsoli zarządzania AWS , co pozwala uniknąć obsługi narzędzi API Amazon EC2 ; sprowadza się to do:
- zatrzymaj (nie zakończ!) instancję EC2
- odłącz wolumin EBS od zatrzymanej instancji
- utwórz migawkę odłączonego woluminu EBS
- utwórz nowy (większy) wolumin EBS z utworzonej migawki
- dołącz nowy wolumin EBS do instancji EC2 ( Ważne ! Jeśli jest to twoje urządzenie root, pamiętaj, aby nazwać je dokładnie jako urządzenie root instancji, jak wspomniano, np. (/ dev / sda1) lub (/ dev / xdva1) w przeciwnym razie zostanie podłączone jako urządzenie blokowe, a nie jako urządzenie root, i nie będzie można uruchomić instancji, ponieważ dla instancji nie będzie wymienionego urządzenia root.)
- SSH do działającej instancji i za pomocą potwierdź, że wszystko jest w porządku
df -ah
- w przypadku, gdy system nie jest automatycznie zmniejszane do systemu plików, trzeba to zrobić ręcznie, jak wyjaśniono w artykule Erica
Powodzenia!
Alternatywny
Ze względu na uniwersalność i łatwość korzystania z tych woluminów EBS, dodatkową opcją byłoby dołączyć więcej woluminów EBS do instancji i przenieść wyraźnie rozłączne obszary zainteresowania tam.
Na przykład, używamy parę ładnych ciężkich aplikacji Java, każdy zużywa 1-2GB dyskowej na wersji; aby ułatwić aktualizację wersji i ogólnie móc przenosić te aplikacje do różnych instancji według własnego uznania, umieściłem je na dedykowanych woluminach EBS, montując je do instancji i miękko łącząc je z pożądaną lokalizacją, np. zwykle /var/lib/<app>/<version>
i /usr/local/<app>/<version>
.
Dzięki tej metodzie, obecnie działa EC2 instancji z pamięci urządzenia korzeń nadal w domyślnym rozmiarze 8GB (podobnie jak Twoja), ale czasami nawet do 8 woluminów EBS o różnych rozmiarach (1-15GB) dołączone także.
Trzeba zdawać sobie sprawę z potencjalnych problemów z wydajnością sieci, choć, o ile wszystkie te tomy EBS używasz bardzo samej sieci LAN za I / O, które mogłyby uzyskując odpowiednie wzrost wydajności nawet, czy nasycić swoją sieć w skrajnych przypadkach - tak jak zwykle to zależy na temat zastosowania i dostępnego obciążenia.