Настройка swap на AWS Ubuntu 18.04.3 LTS

Table of contents

Introduction

В статье Поднимаем инстанс t2.micro с Ubuntu Server 18.04 LTS на AWS разворачивался инстанс, доступный при Free Tier. Инстанс типа t2.micro имеет ограничение по оперативной памяти равное 1 GiB, что не всегда хватает для выполнения необходимых задач. Например, можно столкнуться с нехваткой оперативной памяти при установке пакетов через composer. И тут нам нужно думать о расширении оперативной памяти, а сделать это можно или сменой типа инстанса, или же установкой файла подкачки, или же swap.

Создание нового EBS Volume

Т. к. AWS предоставляет гибкое управление разделами EBS (ELASTIC BLOCK STORE), то добавление swap произведем с помощью подключения дополнительного раздела (Volume).

Для этого зайдем в управление EC2, в меню найдем пункт подключения разделов и создадим новый раздел:

volumes-ec2-management-console

Т. к. у нас размер оперативной памяти равен 1 GiB, то у нового раздела выставим размер в два раза больше, т. е. 2 GiB. При создании раздела важно выбрать правильную Availability Zone, т. е. ту зону, где находится тот инстанс, к которому мы смонтируем созданный раздел. Не забудьте добавить тег Name для раздела, как показано на скриншоте, чтобы было проще его найти.

create-volume-ec2-management-console

После добавления раздел не привязан к какому-либо инстансу, поэтому произведем установку:

volumes-available-ec2-management-console attach-volume-ec2-management-console

На данном этапе все настройки в консоли AWS мы завершили и теперь перейдем в консоль управления сервером.

Настройка на сервере

Посмотрим доступную нам оперативную память:

free -h
ubuntu-free-before

Видим, что нам доступен только 1 GiB и то, что у нас нет swap. Посмотрим на список смонтированных дисков, среди которых есть добавленный в Volume на 2 GiB:

lsblk
ubuntu-mounted-before

Создадим структуру swap и подключим его как раздел:

sudo mkswap /dev/xvdf
sudo swapon /dev/xvdf
sudo swapon -s
ubuntu-swapon

Уже на данный момент swap подключен как раздел, в чем можно убедиться, набрав опять команду:

free -h

Но, такое подключение просуществует до первой перезагрузки, поэтому добавим команду активации при запуске системы в файл /etc/fstab

echo "UUID=<UUID swap-раздела> swap swap defaults,pri=2 0 0"| sudo tee -a /etc/fstab

UUID swap-раздела в нашем случае это 0a9ca2a3-2713-43af-9358-a6e9b4174e7b

ubuntu-swap-autoload

Теперь и после перезагрузки нам будет доступен swap-раздел и проблемы с недостатком памяти для работы composer будут решены.

Дата публикации :
Дата редактирования : 2020-04-19 14:21:26
Автор :

Cookies and IP addresses allow us to deliver and improve our web content, resolve technical errors, and provide you with a personalized experience. Our website uses cookies and collects your IP address for these purposes.