Руководство по созданию файла подкачки для сервера Masternode Linux
Для работы с мастернодами сначала необходим VPS. Вы можете воспользоваться одними из самых популярных: Vultr или Digital Ocean. Они являются наиболее надежным и наиболее рекомендуемым поставщиками VPS для мастернод.
Теперь после настройки сервера вам необходимо установить двоичные файлы и скомпилировать необходимые файлы. Но для того, чтобы скомпилировать файл кошелька, вам нужен VPS с минимум 2 ГБ оперативной памяти.
Чтобы сэкономить деньги, вы могли бы выбрать сервер с 1 ГБ оперативной памяти.
1 CPU и 1 ГБ оперативной памяти - это минимальный сервер, которого достаточно для запуска мастерноды.
Однако этого недостаточно для компиляции кошелька и недостаточно для запуска более 1 мастерноды, особенно если в будущем Вы захотите вложиться в мастерноды других проектов.
VPS с менее чем 2 ГБ ОЗУ в большинстве случаев не сможет создать двоичные файлы. Так что если у вас есть сервер с менее чем 2 ГБ ОЗУ, Вам нужно будет создать файл подкачки.
Что такое файл подкачки и зачем он нужен для мастерноды?
Файл подкачки (swap) - это выделенная область на вашем (HDD / SSD), которую операционная система использует как виртуальное расширение оперативной памяти (ОЗУ).
Когда физически ОЗУ становится недостаточно для работы всех процессов, ядро Linux перемещает наименее используемые в данный момент "страницы" памяти из ОЗУ в этот файл, освобождая место для активных задач (например, для демона мастерноды при пиковой нагрузке).
Важно понимать три ключевых момента:
- Это не равноценная замена ОЗУ. Скорость доступа к диску (даже SSD) в сотни раз ниже, чем к оперативке. Использование подкачки всегда приводит к заметному снижению производительности системы. Его цель - не ускорить работу, а предотвратить аварийное завершение процессов из-за нехватки памяти и дать системному администратору время на реакцию.
- Это страховка, а не основной ресурс. Для мастерноды, которая должна работать стабильно 24/7, оптимальная ситуация, когда подкачка не используется вообще или используется минимально. Постоянная активная запись в подкачке - это сигнал о том, что VPS требуется больше ОЗУ.
- Влияние на оборудование: активная работа с подкачкой увеличивает нагрузку на накопитель. Для современных SSD это некритично, но может теоретически сокращать их ресурс при экстремально интенсивной перезаписи.
Для мастерноды подкачка решает две основные задачи:
- Компиляция кошелька: процесс сборки требует значительных ресурсов и может превысить лимит ОЗУ на маломощных серверах (1-2 ГБ). Подкачка выступает как временный буфер, позволяющий компиляции завершиться.
- Стабильность долгосрочной работы: блокчейн растет, возможны периоды повышенной активности сети (скачки нагрузки). Подкачка поглощает кратковременные пики, не давая мастерноде упасть.
Как мы уже говорили, файл подкачки необходим для компиляции кошелька на вашем сервере. Но требуется только в том случае, если на вашем сервере недостаточно оперативной памяти (менее 2 ГБ).
Swap выполнен в виде виртуальной памяти. Целью создания файла подкачки является повышение эффективности и скорости отклика серверов.
Он расширяет объем оперативной памяти, выделяя часть пространства на жестком диске для хранения данных. Эта виртуальная память позволяет серверу запускать больше приложений, чем он может выполнить только одной оперативной памятью.
Так что, если на вашем сервере только 1 ГБ ОЗУ, то подкачка будет иметь огромное значение. Это позволит удержать Ваш сервер от сбоя, когда ОЗУ находится под максимальной нагрузкой.
И это также помогает серверу запускать приложение, которое потребляет большой объем памяти без каких-либо проблем.
Примечание. Хотя подкачка увеличивает доступное пространство ОЗУ, недостатком является то, что дисковое пространство начнет работать медленнее.
В любом случае это поможет собрать двоичные файлы на сервере. Более того, если вы хотите запустить 2 или более мастерноды на одном и том же VPS, вы можете воспользоваться этой виртуальной памятью.
Итак, начнем. Здесь, в этом руководстве, мы покажем вам, как настроить файл подкачки. Мы шаг за шагом проведем Вас через все командные строки, чтобы настроить файл подкачки.
Параметры и рекомендации по настройке фалйа подкачки для мастерноды
| Параметр | Рекомендация для сервера с 1 ГБ ОЗУ | Рекомендация для сервера с 2 ГБ ОЗУ | Примечания |
|---|---|---|---|
| Оптимальный размер файла подкачки | 2-4 ГБ | 1-2 ГБ (или равная Вашему ОЗУ) | Важно: размер должен покрывать пиковое потребление ОЗУ. Для 1 ГБ ОЗУ 2 ГБ подкачки - необходимый минимум для компиляции. На диске с малым объемом (25 ГБ) не стоит создавать swap >4 ГБ |
| Минимально достаточный размер | 1 ГБ | 512 МБ | Хватит, чтобы система не "упала", но компиляция может завершиться с ошибкой или крайне медленно |
| Расположение | Файл (/swapfile) |
Файл (/swapfile) |
На VPS выделять отдельный раздел под подкачку обычно невозможно. Файл гибкое и стандартное решение. |
| Тип накопителя | Только SSD | Только SSD | Важно! На HDD использование подкачки для мастерноды не рекомендуется. Производительность упадет до неприемлемого уровня. Если Ваш VPS только с HDD сразу берите тариф с большим ОЗУ. |
Swappiness (vm.swappiness)- параметр ядра Linux, который регулирует баланс между использованием оперативной памяти (ОЗУ) и файла подкачки |
25 | 25 |
Параметр от 0 до 100. Определяет "желание" системы использовать swap. Значение 25 заставит ядро держать данные в ОЗУ дольше, сводя swap к роли аварийного буфера, а не активного ресурса. Значение по умолчанию (60) для сервера избыточно |
Cache Pressure (vm.vfs_cache_pressure) - параметр ядра Linux, который управляет тем, насколько агрессивно система освобождает оперативную память, занятую кэшем файловой системы. |
50-100 | 50-100 |
Контролирует скорость очистки кэша файловой системы. Значение 50 сделает кэширование более агрессивным (что может помочь мастерноде, активно читающей файлы блокчейна) 100 - стандарт. Можно оставить по умолчанию. |
| Когда файл подкачки НЕ поможет? | При хронической нехватке ОЗУ | При одновременном запуске 3+ тяжелых мастернод |
Если индикаторы Решение: увеличить тариф VPS, добавить ОЗУ. |
| Мониторинг | free -h, swapon -s, htop |
free -h, swapon -s, htop |
Следите за колонкой Если она постоянно заполнена более чем на 30-50% - вашему серверу не хватает ОЗУ для текущей нагрузки. |
Создание файла подкачки
Следующее руководство работает как с новыми, так и с существующими настройками. Также он работает со всеми версиями сервера Ubuntu, такими как: v16.04, v18.04, v18.10 и т.д.
Примечание. Мы предполагаем, что Ваш сервер запущен и работает. Также мы предполагаем, что у вас есть базовые знания по Linux и вы знаете, как получить доступ к серверу.
Но в начале в виде таблицы покажем Вам:
Полный цикл работы с файлом подкачки
| Этап | Команда | Назначение | Результат |
|---|---|---|---|
| Подготовка | df -h / |
Проверка свободного места | Минимум 3 ГБ свободно для swap 2 ГБ |
| Создание | sudo fallocate -l 2G /swapfile |
Быстрое создание файла | Файл создан за секунды |
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress |
Универсальное создание | Прогресс-бар, медленнее | |
| Безопасность | sudo chmod 600 /swapfile |
Установка прав | Только root имеет доступ |
ls -l /swapfile |
Проверка прав | -rw------- 1 root root |
|
sudo mkswap /swapfile |
Форматирование под swap | Вывод UUID файла | |
| Активация | sudo swapon /swapfile |
Включение swap | Без вывода при успехе |
free -h |
Проверка | В строке Swap покажет использование | |
| Автозагрузка | echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab |
Добавление в fstab | Файл будет монтироваться при загрузке |
| Оптимизация | sudo sysctl vm.swappiness=25 |
Настройка склонности к swap | Меньше обращений к диску |
sudo sysctl vm.vfs_cache_pressure=50 |
Настройка кэширования | Баланс кэша и памяти | |
echo "параметр=значение" | sudo tee -a /etc/sysctl.conf |
Сохранение настроек | Настройки сохранятся после перезагрузки | |
| Мониторинг | swapon --show |
Информация о swap | Покажет размер, приоритет, использование |
vmstat 1 5 |
Динамика использования | si / so должны быть 0 или минимальны | |
htop |
Визуальный мониторинг | Цветная индикация использования swap | |
| Устранение проблем | sudo swapoff /swapfile |
Отключение swap | Для изменения размера или удаления |
sudo nano /etc/fstab |
Редактирование fstab | Удалите строку с /swapfile для отключения | |
sudo rm /swapfile |
Удаление файла | После отключения swap |
Шаг 1: Проверьте, есть ли файл подкачки
Прежде чем приступить к настройке файла подкачки, давайте сначала убедимся, что подкачка не была уже установлена.
Чтобы проверить файл подкачки, просто введите следующую команду и нажмите Enter:
free -m
После ввода Вы должны увидеть что-то вроде этого.
root@ubuntu-s-1vcpu-1gb-sgp1-01:~# free -m
total used free shared buff/cache available
Mem: 985 69 708 0 207 778
Swap: 0 0 0
Если места подкачки нет, то рядом с разделом подкачки вы должны увидеть значение 0.
В качестве альтернативы вы также можете запустить команду swapon.
Если вы не получили никакого вывода, это означает, что на сервере еще не настроен файл подкачки. Пришло время создать его.
Перед созданием файла подкачки выполните два важных действия:
Проверьте наличие свободного места на диске:
df -h /
Убедитесь, что у вас есть как минимум на 1 ГБ больше свободного места, чем планируемый размер подкачки. Создание swap займет место на корневом разделе.
Выберите оптимальный размер swap (новые рекомендации):
- Для сервера с 1 ГБ ОЗУ - создавайте подкачку от 2 до 4 ГБ
- Для сервера с 2 ГБ ОЗУ - достаточно 1-2 ГБ подкачки
- Важное: на виртуальных серверах с маленьким диском (20-25 ГБ) не рекомендуется выделять под swap более 20% от общего объема диска, чтобы не нарушать работу системы
Шаг 2 (расширенный): Создание файла подкачки - два метода
Метод A: Через fallocate (быстрее, рекомендуется для современных систем)
sudo fallocate -l 2G /swapfile
- Преимущества: мгновенное создание файла, не нагружает диск
- Недостатки: может не работать на некоторых старых файловых системах (например, ext3).
- Проверка:
ls -lh /swapfile- должен показать файл размером 2.0гб
Метод B: Через dd (универсальный, но медленный)
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
- Преимущества: работает везде.
- Недостатки: создает реальную нагрузку на диск, тратит время.
- Рекомендация: используйте
fallocate, если система поддерживает.
Шаг 2: Создание и определение размера пространства подкачки
Вы можете создать 2 ГБ или 3 ГБ или даже 4 ГБ подкачки. Это зависит от вас, и нет идеального числа. Но общее правило - 2x доступная системная память. Так что если у вас VPS RAM составляет 1 ГБ, то мы рекомендуем вам создать 2 ГБ файла подкачки.
Чтобы создать файл подкачки объемом 2 ГБ, введите следующую команду и нажмите Enter
dd if=/dev/zero of=/swapfile count=2048 bs=1M
Примечание: замените 2048 на 3072 для 3 ГБ и 4096 для 4 ГБ подкачки.
Теперь приведенная выше команда должна выдать следующее.
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 3.24693 s, 661 MB/s
root@ubuntu-s-1vcpu-1gb-sgp1-01:~#
Это означает, что файл подкачки создан, но еще не активирован.
Шаг 3: Активация файла подкачки
После создания файла подкачки система не распознает его автоматически. Нам нужно установить разрешения и указать серверу, как форматировать файл, чтобы его можно было использовать в качестве допустимого файла подкачки.
Теперь введите следующую команду и нажмите Enter.
chmod 600 /swapfile
Приведенная выше команда обновляет разрешение на файлы подкачки. Отныне он разрешает только чтение / запись для пользователей root и больше ни для кого.
Затем активируйте файл подкачки, выполнив следующую команду.
mkswap /swapfile
Эта команда отобразит следующий результат:
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=998cf2ae-006d-4c1a-b136-9409f78884e1
Если результат такой же, как указано выше, переходите к следующему шагу, включающему своп.
Шаг 4: Включить swap on
Теперь все готово. Для включения подкачки введите команду указанную ниже.
swapon /swapfile
Эта команда ничего не выдаст, но swap включен. Для проверки файла подкачки введите «free –m» команду и вы должны увидеть следующий результат.
root@ubuntu-s-1vcpu-1gb-sgp1-01:~# free -m
total used free shared buff/cache available
Mem: 985 70 64 0 850 768
Swap: 2047 0 2047
Теперь отображается общее доступное и использованное пространство подкачки.
Вы успешно завершили настройку файла подкачки на своем сервере. Теперь есть одна последняя настройка.
Шаг 5: Включите swap при перезагрузке системы
Ваша мастернода будет работать 24/7. Однако в какой-то момент вы можете перезагрузить сервер.
Дело в том, что Ваш сервер не включит файл подкачки автоматически при перезагрузке системы. Поэтому мы должны убедиться, что своп будет включен автоматически во время загрузки.
Чтобы включить своп при загрузке, просто введите следующую команду.
sudo echo "/swapfile none swap sw 0 0" >> /etc/fstab
Вот и все. Вы закончили создание и настройку файла подкачки. Теперь вы можете скомпилировать кошелек или установить вторую мастерноду на том же сервере.
Комментарии
Спасибо. Очень четкий и качественный материал. Перерыл весь интернет - куча воды и потраченного времени. А тут за 1 минуту я создал и настроил файл подкачки. Автор молодец.



