hogy lehetne beallitani systemd alatt, hogy az ssh fusson addig, mig a libvirtd is fut?
atirtam a cimet, hogy aki eddig megijedt tole, az ne tegye :)
azt mar sikerult beallitanom, hogy a libvirtd fusson addig, amig a libvirt-guests-nek szuksege van ra.
megprobaltam ugyanazzal a modszerrel beallitani, hogy az ssh fusson addig, mig a libvirtd-nek szuksege van ra, de nem lett jo.
mit rontottam el?
systemd szakertok ne kimeljenek, koszi!
regi:
van arra mod, hogy ugyanugy mint regen, csak azutan all le a szerver, miutan leallitotta a virtualis gepeket?
persze lehet egy 10 perces inhibitor timeout, de ezt meg ne varja meg, ha a virtualis gepek mar lealltak.
regen ugy mukodott, hogy miutan lealltak a gepek, leallitotta a szervert es volt egy 5 perces timeout minden virtualis gepnel.
most ugy mukodik, hogy elkezdi leallitani a virtualis gepeket, de az inhibitor timeoutkor akkor is leallitja a gepet, ha a virtualis gepek egy resze meg fut, vagy ha 10percre allitom az inhibitor timeoutot, akkor is megvarja, ha mar lealltak a virtualis gepek.
systemd szakertok ne kimeljenek, koszi!
Hozzászólások
senki tobbet?
neked aztan fura humorod van...
megvan, nem tudott csatlakozni, mert a libvirtd.service hamarabb leallt:
febr 13 21:18:33 xen systemd[1]: Stopping libvirt-guests.service - Suspend/Resume Running libvirt Guests...
febr 13 21:18:33 xen libvirt-guests.sh[7969]: Can't connect to default. Skipping.
febr 13 21:18:33 xen systemd[1]: libvirt-guests.service: Deactivated successfully.
febr 13 21:18:33 xen systemd[1]: Stopped libvirt-guests.service - Suspend/Resume Running libvirt Guests.
ezert csinaltam egy ilyet, igy jo lett:
/etc/systemd/system/libvirt-guests.service.d/local.conf
[Unit]
After=libvirtd.service
kovetkezo feladat, hogy az ssh.service ne alljon le, mig a libvirtd.service fut, hogy addig tudjam hasznalni a libvirtet mig fut, es ne addig, mig az ssh fut. csinaltam egy ilyet, de nem lett jo:
/etc/systemd/system/libvirtd.service.d/local.conf
[Unit]
After=ssh.service
tudom, masoljam be az egeszet:
# systemctl cat libvirtd.service
# /lib/systemd/system/libvirtd.service
[Unit]
Description=Virtualization daemon
Requires=virtlogd.socket
Requires=virtlockd.socket
# Use Wants instead of Requires so that users
# can disable these three .socket units to revert
# to a traditional non-activation deployment setup
Wants=libvirtd.socket
Wants=libvirtd-ro.socket
Wants=libvirtd-admin.socket
Wants=systemd-machined.service
After=network.target
After=firewalld.service
After=iptables.service
After=ip6tables.service
After=dbus.service
After=iscsid.service
After=apparmor.service
After=local-fs.target
After=remote-fs.target
After=systemd-logind.service
After=systemd-machined.service
After=xencommons.service
Conflicts=xendomains.service
Documentation=man:libvirtd(8)
Documentation=https://libvirt.org
[Service]
Type=notify
Environment=LIBVIRTD_ARGS="--timeout 120"
EnvironmentFile=-/etc/default/libvirtd
ExecStart=/usr/sbin/libvirtd $LIBVIRTD_ARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
# At least 1 FD per guest, often 2 (eg qemu monitor + qemu agent).
# eg if we want to support 4096 guests, we'll typically need 8192 FDs
# If changing this, also consider virtlogd.service & virtlockd.service
# limits which are also related to number of guests
LimitNOFILE=8192
# The cgroups pids controller can limit the number of tasks started by
# the daemon, which can limit the number of domains for some hypervisors.
# A conservative default of 8 tasks per guest results in a TasksMax of
# 32k to support 4096 guests.
TasksMax=32768
# With cgroups v2 there is no devices controller anymore, we have to use
# eBPF to control access to devices. In order to do that we create a eBPF
# hash MAP which locks memory. The default map size for 64 devices together
# with program takes 12k per guest. After rounding up we will get 64M to
# support 4096 guests.
LimitMEMLOCK=64M
[Install]
WantedBy=multi-user.target
Also=virtlockd.socket
Also=virtlogd.socket
Also=libvirtd.socket
Also=libvirtd-ro.socket
# /etc/systemd/system/libvirtd.service.d/local.conf
[Unit]
After=ssh.service
es a masik:
# systemctl cat ssh.service
# /lib/systemd/system/ssh.service
[Unit]
Description=OpenBSD Secure Shell server
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run
[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify
RuntimeDirectory=sshd
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
Alias=sshd.service
neked aztan fura humorod van...
Nem vagyok egy agy systemd guru de hacsak a libvirthez kell ssh akkor a systemdre kéne bízni a futtatását. Úgy értem hogy kéne a libvirt service fileba egy Require=ssh.service és akkor ha jól sejtem a systemd elindítaná neki.
// Hocus Pocus, grab the focus
winSetFocus(...)
http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation
leallitaskor volt gond, elindulni elindultak.
neked aztan fura humorod van...
su
Komoly!
beraktam az ssh.service.d-be is es a libvirtd.service.d-be is egy-egy ilyet, hogy legyen idom probalkozni:
[Service]
TimeoutStopSec=60
ExecStop=/usr/bin/sleep 60
a reboot parancs ugyan kidobott ahogy eddig, de vissza tudtam lepni, vagyis az sshd nem allt le, csak a futo sessionoket gyilkolta le.
a pam-auth-update -el kivettem a libpam-systemd-t belole "Register user sessions in the systemd control group hierarchy" neven van.
mostmar ugy mukodik, ahogy regen.
a virt-managerben szepen latom, ahogy leallitja a vm-eket.
neked aztan fura humorod van...