пятница, 24 апреля 2020 г.

Как добавить swap disk виртуальной машине FreeBSD

Минималистический пост в стиле HOWTO.
Несколько лет назад я заинсталил виртуальную машину на базе FreeBSD. На тот момент я считал, что если виртуалке дать достаточно памяти, то своп ей не нужен - если что, всегда можно добавить памяти.
Время показало, что я ошибался: Сервер может месяцами демонстрировать загрузку памяти на треть
А потом вывалить в консоль сообщение, что память все и сервис имярек выгружен, причем
узнаешь об этом в неподходящий момент по восторженным звонкам пользователей.
В хэндбуке описан способ с созданием файла подкачки, но так, как у меня виртуалка - я просто создам для нее еще один виртуальный диск размером 4G (больше действительно не нужно, хватило бы и 2G)
Так, как это второй диск, он у меня в видится как /dev/vtbd1
Создаем разметку
gpart create -s GPT /dev/vtbd1
Создаем swap раздел на весь диск:
gpart add -t freebsd-swap /dev/vtbd1
Смотрим что вышло:
# gpart show /dev/vtbd1
=>     40  8388528  vtbd1  GPT  (4.0G)
       40  8388528      1  freebsd-swap  (4.0G)
Подключаем:
swapon /dev/vtbd1p1
Добавляем в /etc/fstab строчку:
/dev/vtbd1p1    none    swap    sw      0       0
Ну и резульнаты налицо
P.S.
Не знаю насколько пост полезен, но из за того что большая часть сотрудников отдела работает удаленно, акценты в моей деятельности немного сместились и последнее время занимаюсь именно подобными вещами. Причем это образец достаточно интелектуальной деятельности - чаще диалоги в духе:
- Help: ко мне не доходит поочта!
- У вас переполнен ящик.
- Что делать?!
- Удалите старые письма.
- У меня нет времени - сделайте что нибудь!
- Могу удалить всю почту до какой то даты.
- А вдруг мне там что то нужно?!
- Тогда удалите сами.
- А как то по другому нельзя?
- .....

2 комментария:

  1. Александр, а если бы просто добавить этой виртуалке оперативной памяти? Но не просто на постоянной основе, а как balloon вариантом? Или выделение памяти balloon образом только для Windows-машин возможно?

    ОтветитьУдалить
    Ответы
    1. Лет 5 назад добавление памяти и отключение подкачки было нормальной практикой, а в последнее время (и это касается любых ОС) система использует подкачку, даже если у нее нет проблем с памятью - я прочитал несколько статей, где это объясняется подробно и логика в этом есть, но тут не буду излагать их аргументы. Просто надо делать минимальную подкачку чтоб была. При 8Г ОЗУ 1Г подкачки достаточно

      Удалить