LINUX.ORG.RU

Не дергается юнит с подключением swapfile при старте

 ,


0

2

Есть необходимость на микро-впс иногда слазить в swap.

Пытаюсь оформить в современном ключе, есть такой юнит:

[Unit]
Description=Turn on swap
After=local-fs.target

[Service]
Type=oneshot
TimeoutSec=0
Environment="SWAPFILE=/swapfile"
RemainAfterExit=true
ExecStartPre=/usr/sbin/losetup -f ${SWAPFILE}
ExecStart=/usr/bin/sh -c "/sbin/swapon $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"
ExecStop=/usr/bin/sh -c "/sbin/swapoff $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"
ExecStopPost=/usr/bin/sh -c "/usr/sbin/losetup -d $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"

[Install]
WantedBy=local-fs.target

Проблема в том, что при старте системы он не дергается, но достаточно руками сделать restart юниту как все замечально цепляется (юнит включен).

И самое главное, не понимаю, а что ему собственно нужно.

$ systemctl status swapfile.service
● swapfile.service - Turn on swap
   Loaded: loaded (/etc/systemd/system/swapfile.service; enabled; vendor preset: disabled)
   Active: inactive (dead)
$ journalctl -f -u swapfile.service
-- Logs begin at Wed 2016-08-24 11:00:01 UTC. --
Sep 22 11:08:41 ***** systemd[1]: Stopped Turn on swap.
Sep 22 11:08:41 ***** systemd[1]: Starting Turn on swap...
Sep 22 11:08:41 ***** systemd[1]: Started Turn on swap.
Sep 22 11:24:10 ***** systemd[1]: Stopping Turn on swap...
Sep 22 11:24:14 ***** systemd[1]: Stopped Turn on swap.

Из журнала все действия - это перезапуск ручками.

★★★

А нафига losetup? Просто mkswap file; swapon file.

anonymous
()

Пропиши в fstab, и systemd всё нормально подключит. Или попробуй mount-юнит.

anonymous
()

Попробуй systemd-swap

anonymous
()
Ответ на: комментарий от anonymous

Нюанс в том, что на сервачке CoreOS и там нет fstab :) Но такое решение мне не нравится впринципе: хочеться стильно, модно и молодежно, а то fstab и старый инит тоже прекрасно себе работали.

Просто, если абстрагироваться от того, что речь про свап - это простой сервис-юнит, почему он при старте не дергается и самое главное как отдебажить почему.

BigAlex ★★★
() автор топика

Вообщем, заработало вот swapfile.swap

[Unit]
Description=Turn on swapfile
After=local-fs.target

[Swap]
What=/swapfile

[Install]
WantedBy=local-fs.target

Всем анонимусам спасибо за внимание.

BigAlex ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.