Linux: concerns over systemd [OT]

Jeffrey Ollie jeff at ocjtech.us
Wed Oct 22 23:30:10 UTC 2014


On Wed, Oct 22, 2014 at 4:48 PM,  <nanog at jack.fr.eu.org> wrote:
> Bah, boot speed;
>
> On my server, boot is slow down by hardware initialization.
> The soft side is quite low.
>
> But the point is not "makes things faster from 15 to 14 sec is useless".
> The point is : it's good, but at what price ?

I agree that "boot speed" is a red herring.  Booting in a highly
dynamic environment is really one of systemd's key achievements.
True, this is most apparent in systems like laptops that can be
docked/undocked, tend to have a lot of USB devices added/removed, etc.
But servers have these same issues, if only in lesser degree.

sysvinit generally had to wait for a fixed interval for all hardware
to finish initializing.  It was a little more sophisticated than one
init script having a "sleep X" command in it, but not much.

systemd is able to start services as soon as all of the hardware it
needs is ready, rather than waiting arbitrary amounts of time and then
possibly failing anyway because it didn't wait long enough.

One main example of this is a large RAID array or LVM volume that's
used for data storage (not the OS).  systemd can let parts of the
system boot that don't require the data storage to be present start up
while waiting for all of the data storage drives to spin up and get
assembled.

> As you said, there were many improvements over the past.
> What was the "clean bit" cost ? None but benefits, right ?
> What about fs logs ? Does it have a cost ?
>
> If systemd is just about time, it will be fine.
> But why trying to recreate (ans thus, squeeze) some old daemons like
> cron or syslog ? Both of them are doing a perfect job.

Syslog didn't capture the stdout/stderr from daemon start up.  Syslog
did only a mediocre job of capturing dmesg from early boot.  If you
have access to a system running systemd/journald run "journalctl -k
-b".  That'll show you all of the kernel messages since the last boot.
At least on the RHEL systems that I have access to, /var/log/dmesg
doesn't timestamp the lines in the file, making it difficult to
impossible to correlate with other log lines.  The kernel messages in
/var/log/messages are timestamped with the time that rsyslog was able
to (finally) start and pull the messages out of the kernel message
buffer.

> Can I use systemd without any of journald stuff ?

I wouldn't want to.

> If not, then the 1sec speedup is far too expensive.

The boot speed up is a nice benefit, but not the only (or even the
best) reason to use systemd.

-- 
Jeff Ollie



More information about the NANOG mailing list