Przeczytałem już sporo postów na ten temat, ale nadal nie jestem pewien co do prawidłowego podejścia, zakładając:
Mam domyślną maszynę Wirtualną Ubuntu 14.04 LTS utworzoną przez i uruchomioną na platformie Azure, która nie jest dostarczana z wymianą
Chciałbym utworzyć swap przy użyciu istniejącego magazynu VM, zamiast tworzyć nowy dysk przy użyciu dodatkowego magazynu
Posty, które przeczytałem:
- https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-how-to-inject-custom-data/
- https://wiki.ubuntu.com/AzureSwapPartitions
- https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1374166
Dyskutowano o wielu rozwiązaniach, ale nie mogę znaleźć takiego, który będzie się utrzymywał po ponownym uruchomieniu serwera (prawdopodobnie z powodu inicjacji w chmurze ma własny pomysł na partycjonowanie obrazów), czy ktoś może mi doradzić najlepszą praktykę?
źródło
ResourceDisk.Format
,ResourceDisk.EnableSwap
iResourceDisk.SwapSizeMB
. ALE ważnym krokiem jest zrobienie instrukcji,sudo service walinuxagent restart
aby utworzyć plik wymiany, ponieważ sam restart serwera nie działa dla mnie.swapon -s
nadal wyświetla pustą listę plików wymiany.Odpowiedź Bruno jest świetnym punktem wyjścia, ale zadziałała dopiero po ponownym uruchomieniu i dała mi kolejną minutę po uruchomieniu.
za. Włącz zamianę
/etc/waagent.conf
, odpowiednie linie:b. Wykonaj następujące czynności jako root, co obejmuje ponowne uruchomienie komputera:
do. Po uruchomieniu nadal zajmie trochę czasu, zanim zamiana zostanie faktycznie włączona. Możesz to sprawdzić za pomocą
swapon -s
.źródło
Uważam, że właściwym sposobem na zrobienie tego, aby zarówno inicjator chmury, jak i osoba obsługująca grę bawili się „dobrze” razem (z dokumentów Azure na platformie Azure-Init ), jest ustawienie tych wartości na tym
Próbowałem zmienić punkt montowania, ale wyglądało na to, że nie działa poprawnie, więc dokumenty prawdopodobnie są dokładne w kwestii wartości
Następnie możesz dostosować opcje zamiany, jak chcesz
Podstawowe ponowne uruchomienie odbiera nową wymianę w porządku
źródło
Potrzebowałem tego również (właściwie 16.04 zamiast 14.04, ale myślę, że moja odpowiedź będzie dotyczyła obu).
Ale kiedy zobaczyłem, że muszę czytać tak długie eseje, że zwracacie uwagę, zamierzałem się poddać ... Ale nagle przypomniałem sobie bardzo prosty artykuł na blogu DigitalOcean:
Jak dodać Zamień na Ubuntu 14.04
To takie proste, że napisałem nawet dla niego skrypt (przynajmniej w najlepszym razie, jeszcze nie ustawienia swapiness i inne zaawansowane rzeczy):
Aby powyższe zadziałało, musisz
sudo apt install fsharp
najpierw (przynajmniej Ubuntu 16.04 ma fsharp w repozytoriach, nie jestem pewien co do 14.04).Potrzebujesz również tego
InfraTools.fs
pliku:Część, która sprawia, że moja odpowiedź działa poprzez restart serwera, to zapis do pliku / etc / fstab.
Zaletą tego rozwiązania jest to, że powinno ono działać na platformie Azure, DigitalOcean, YouNameIt, ...
Cieszyć się!
źródło
Teraz są instrukcje w oficjalnej dokumentacji platformy Azure: https://support.microsoft.com/en-us/help/4010058/how-to-add-a-swap-file-in-linux-azure-virtual-machines
źródło