Uruchomiłem kilka serwerów na EC2 i nie mają wymiany.
Czy robię coś złego, czy też maszyny tego po prostu nie mają?
linux
ubuntu
amazon-ec2
swap
rafamvc
źródło
źródło
Odpowiedzi:
Masz rację, obrazy EBS Ubuntu EC2 nie są dostarczane ze skonfigurowaną przestrzenią wymiany ( przynajmniej dla 11.04 ). „Zwykłe” obrazy typu instancja mają partycję wymiany, choć tylko 896 MB w porównaniu z tą, którą testowałem.
Jeśli jakiś proces wybuchnie, a Ty nie masz przestrzeni wymiany, Twój serwer może zatrzymać się na chwilę, zanim zabije OOM, podczas gdy w przypadku wymiany zamiana staje się wolniejsza. Z tego powodu zawsze lubię mieć przestrzeń do wymiany, nawet przy wystarczającej ilości pamięci RAM. Oto twoje opcje:
Utwórz wolumin EBS (2-4 razy większy niż rozmiar pamięci RAM), dołącz go do instancji (lubię nazywać go / dev / xvdm dla „pamięci”)
sudo mkswap /dev/xvdm
, dodaj go do fstabsudo swapon -a
i gotowe . Zrobiłem to już wcześniej i działa dobrze, ale prawdopodobnie jest nieco wolniejszy niż sklep instancji, ponieważ przechodzi przez sieć.Lub możesz partycjonować dysk, aby dodać partycję wymiany, chociaż może to wymagać utworzenia nowego interfejsu AMI. Nie byłem w stanie tego zrobić w działającej instancji, ponieważ nie mogę odmontować głównego systemu plików, a nawet nie mam dostępu do urządzenia dyskowego (/ dev / xvda), tylko partycji (xvda1).
Lub możesz utworzyć plik wymiany. To jest teraz moje preferowane rozwiązanie.
Gotowy. :) Wiem, że wiele osób odczuwa niechęć do używania plików zamiast partycji, ale z pewnością działa wystarczająco dobrze jako przestrzeń wymiany awaryjnej.
źródło
Najlepszą lokalizacją wymiany IMHO jest sklep instancji. Dlaczego? AWS nie pobiera opłat za we / wy w sklepie instancji. Poza tym sklep instancji jest w wielu przypadkach bardziej wydajny niż EBS. Upewnij się tylko, że masz skrypt, który odtwarza plik wymiany na wypadek zatrzymania instancji. Ponowne uruchomienie jest w porządku. Dlaczego och, dlaczego nie ma go tam domyślnie?
Zlokalizujmy magazyn instancji.
Hurray, 160,1 GB za darmo! Umieść swap tam i zapomnij o 100 $ nadwyżkach na serwer, gdy swap oparty na EBS zostanie zalany przez pomyłkę. Niefortunne doświadczenie mówienia tutaj.
Najwyraźniej w niektórych przypadkach nie widzisz magazynu instancji.
źródło
Uwaga : Amazon zmienił swoją politykę cenową i nie pobiera opłat za żądania We / Wy od połowy 2016 r. Odpowiedź jest przechowywana tutaj ze względów historycznych, ale nie ma wpływu na koszty korzystania (lub nie używania) wymiany w instancjach wspieranych przez EC2 EBS.
To jest z założenia. Zamiana jest domyślnie wyłączona w instancjach wspieranych przez EC2 EBS, aby uniknąć nieprzewidzianych kosztów.
Jeśli masz aplikację wymagającą dużej ilości pamięci, która jest nieuczciwa (powiedzmy na małej lub małej instancji), może generować dość dużą liczbę żądań We / Wy na woluminie EBS.
Amazon pobiera 0,10 USD za 1 milion żądań We / Wy (patrz http://aws.amazon.com/pricing/ebs/ ).W normalnych warunkach nie powinieneś się tym martwić; zazwyczaj koszt żądań We / Wy nawet w mniejszych instancjach kilka dolarów, jeśli tak. Jeśli więc wiesz, że masz instancję o odpowiednim rozmiarze, a ta zamiana będzie używana rzadko, włącz ją. Ale bądź ostrożny z drobnymi przypadkami.
Jeśli włączysz zamianę, możesz mieć oko na Raporty użycia. Opcjonalnie możesz również skonfigurować alert rozliczeniowy, przechodząc do panelu sterowania CloudWatch i tworząc nowy alarm dla całkowitej kwoty rozliczenia. W ten sposób zostaniesz natychmiast powiadomiony, że dzieje się coś dziwnego z twoimi instancjami.
źródło
Sprawdź
/etc/fstab
plik, prawdopodobnie zostały skonfigurowane bez zamiany na używanym obrazie. Myślę, że niektórzy ludzie uruchamiają serwery bez wymiany, ponieważ oczekują, że nigdy nie będą używać więcej niż całkowitej pamięci - zamiana powoduje, że wszystko jest bardzo wolne.Jednak zawsze mam paranoję na punkcie procesu tworzenia balonów w pamięci, więc uważam, że rozsądnie byłoby po prostu skonfigurować dysk wymiany i odtworzyć obraz z działającej instancji ec2.
źródło
Prostym rozwiązaniem do prowadzenia
swap
wEC2
obrazach jest eksploatowanyswap
skompresowanelz4
wram
zzram-init
.systemd
&openrc
.To rozwiązanie ma nie wziąć
ram
z dala odhost
:źródło
zswap
który zapewnia skompresowaną pamięć podręczną RAM na normalnym pliku wymiany / dysku: wiki.archlinux.org/index.php/zswap . Więcej informacji na temat zram znajduje się na stronie cnx-software.com/2018/05/14/...