Live data from Hacker News

Arch Linux to migrate to Systemd

mailman.archlinux.org

61–70 of 129 posts

Re: Arch Linux to migrate to Systemd

#61
post #36

Earlier quoted context omitted.

Any reason you can't just sleep/suspend your system at ignition-off? I can see that there might be times when the system does go down hard and you've got no option but to reboot, but still, that should be rare. I work with a fair number of embedded systems myself. Most avoid full boots where possible.

Depending on the app, sleep may be possible. But for some apps, like automotive, it is not surprising to see requirements like current draw being less than one milliamp in the sleep state. I haven't seen or heard of any embedded apps which hibernate to flash. That would not be terribly fast, and would wear out the flash quickly.

That could raise some interesting engineering/maintenance considerations.

A local capacitor might provide the latent power to support sleep state. Or you could provision flash with enough ECC and reserve capacity (a 16 GB microSD drive fits on my pinkie nail) to survive years. Might even make swapping the storage a regular maintenance item, say 5-year cycle. Figure a high-end duty-cycle of 10 starts/day, 365 days/year -- that's 3650 read/write cycles a year. Even if that's a 100x low estimate, we're talking 365,000 cycles/year (that's assuming 1000 starts/day). As of 2003, AMD were discussing 1,000,000 cycle lifetimes for flash storage: http://www.spansion.com/Support/Application%20Notes/AMD%20DL...

Actually, in five years, controller technology would likely advance enough that, provided your unit production count is high enough, you'd just swap the entire controller for a new component with enhanced capabilities.

Re: Arch Linux to migrate to Systemd

#62

The opposition that is seen from some people to moving away from SysV style init is amazing to me. I don't have much experience with systemd, but upstart has been a refreshing change from the old shell scripts. Having been both on the packaging side, as well as the admin side, I can't imagine not abandoning the daemonize and PID file paradigm. The number of package I've seen that have init scripts that don't properly…

On every server I've seen, firmware initialization, generally networking and storage controllers, takes far more time than the OS boot sequence. To the tune of 4-5 minutes for hardware vs. ~1-2 minutes (or less) from kernel boot to console login.

At which point actual workload stack initialization (webserver, application server, database, caches) generally takes additional time. Depending on where you're starting form, a few seconds to many minutes or hours (DB init/restore/replication from snapshots/backups/master).

Again: the few seconds you're going to save swapping out really stable infrastructure 1) isn't the problem and 2) introduces change and complexity (and hence uncertainty and unreliability) to a very critical system component.

Re: Arch Linux to migrate to Systemd

#63

Systemd takes a reliable, known, thoroughly debugged process (init, or various of its tweaks, including Ubuntu's upstart and Debian's insserv ), and converts booting from a deterministic, predictable process to one that's inherently unpredictable . And the stated objective? "To reduce boot times". The best way to reduce boot times is to not boot . The reason I reboot systems is to return them to a known good state (o…

> And the stated objective? "To reduce boot times".

boot times is only the third point mentioned:

Systemd has a overall better design than SysV, lots of useful administrative features and provide quicker boot up

Re: Arch Linux to migrate to Systemd

#64
post #14

Earlier quoted context omitted.

> Systemd loses the huge transitivity of shell scripting, and puts you in the position of needing to acquire a novel skill at the one time you least need to be learning and most need to be applying: when your systems won't boot straight: What about those that can't debug when a shell script breaks? Your answer is going to be that they have no business administering a server where a shell script is an integral part of…

> What about those that can't debug when a shell script breaks? Are they more able to debug when a systemd setup breaks? If not, it seems like a moot point to bring up. They're hosed either way. Although I do have to say, I like the systemd model. The use of sockets to do process activation and thus doing away with almost all of the need for dependency management is pretty cool. I haven't used it enough to pass judge…

How is it a moot point? If you are equally unable to debug it either way then dredmorbius' original argument about the failure point being a bad time to learn to debug is completely meaningless. The point is that either way you're going to have to learn how to fix problems before they happen but dredmorbius is complaining because ey just happens to already know how to debug one form.

Re: Arch Linux to migrate to Systemd

#65

Earlier quoted context omitted.

Your "much written better than I can" article is about Upstart, not Systemd. They're unrelated init daemons, and it seems like many of the complaints in the article relate specifically to upstart (event-triggered services with no dependencies, minimal scripting support, killing daemons, not all daemons managable by upstart) but do NOT apply to systemd. Systemd has service dependencies, support for old-style init scri…

> There is no tool that will print out a dependency map. systemctl dot | dot -Tsvg > systemd.svg

Nice, here's the result on Mageia 2:

http://frammish.org/systemd.svg

Re: Arch Linux to migrate to Systemd

#66

Earlier quoted context omitted.

How often do you reboot your systems? What is giving rise to the need to reboot them when you do?

Boot times is one thing. Upstart and systemd provide tons and tons of other features though. Restarting of crashed processes, dependencies, etc.. They also generally have much more simple config files instead of start up scripts. I don't know how many crappy startup scripts I've seen over the years, when in practice: set these environment variables, execute this program as this user with these arguments is 95+% of wh…

I mention boot time because it's what's pointed at specifically by Poettering in his arguments for systemd as its core benefit: http://0pointer.de/blog/projects/systemd.html

The other functionality may be nice, but 1) it's got no place in init and 2) really complicates a key piece of system infrastructure. Complexity and change are the two dual enemies of stability. As an old-fart ops type, with scars on my hide and notches on my belt, I really hate both change and complexity. The mess with my nines.

Arch and Fedora are relatively wide of my usual ambit, but I've learned in my years to be wary of what others ask for -- you may get it and have to live with the consequences (see: GNOME).

So. Yeah, I'm pretty skeptical.

Re: Arch Linux to migrate to Systemd

#67

Earlier quoted context omitted.

I'm sorry, but shell scripts suck as a language for booting the system. You need to fork() and exec() for almost anything non-trivial, wasting precious CPU cycles in the progress. It looks like every Linux distro has its own way to manage boot scripts. And when they fail, you have no idea what happened. More importantly, init only handles starting and stopping of services. They don't manage services, like restarting…

I'm a daily laptop linux user, specifically Chakra Linux, http://chakra-linux.org/ . My wish list goes something like this: better wireless drivers, improved sleep/suspend/hibernate/resume, better power management, a better package manager, more up-to-date applications ... At the very, very bottom of that list -- the very last item, so far at the bottom of the list that it's in danger of falling off entirely -- is "f…

Your message seems to have the hidden assumption that development resources are now being redirected from wireless drivers/suspend/power management to improving boot times. This is false. Different components are handled by different people, and axing a project does not mean that the people responsible will automatically work in one of the other fields that you prioritize.

Re: Arch Linux to migrate to Systemd

#68

The opposition that is seen from some people to moving away from SysV style init is amazing to me. I don't have much experience with systemd, but upstart has been a refreshing change from the old shell scripts. Having been both on the packaging side, as well as the admin side, I can't imagine not abandoning the daemonize and PID file paradigm. The number of package I've seen that have init scripts that don't properly…

On every server I've seen, firmware initialization, generally networking and storage controllers, takes far more time than the OS boot sequence. To the tune of 4-5 minutes for hardware vs. ~1-2 minutes (or less) from kernel boot to console login. At which point actual workload stack initialization (webserver, application server, database, caches) generally takes additional time. Depending on where you're starting for…

Did you actually read the comment you replied to or you keep copying and pasting blindly your strawman argument in this thread? If you did read it, which part of "The process management is the big win, and boot time is just a bonus" was unclear?

Re: Arch Linux to migrate to Systemd

#69

Earlier quoted context omitted.

> Systemd loses the huge transitivity of shell scripting, and puts you in the position of needing to acquire a novel skill at the one time you least need to be learning and most need to be applying: when your systems won't boot straight: What about those that can't debug when a shell script breaks? Your answer is going to be that they have no business administering a server where a shell script is an integral part of…

If they can't debug it, they can find someone who can, and that skillset is, I can guarantee you, going to be far more widely available than Systemd debugging fu. On which point, specifically: when Debian breaks during initrd execution, the system is dumped to a shell, "dash", a POSIX-compliant shell. It doesn't have all the niceties of bash, but it's usable. When a Red Hat system breaks during initrd execution, the…

    the system shell doesn't handle terminal IO
Does this help? http://en.gentoo-wiki.com/wiki/Initramfs#Job_Control

    the RHEL initrd
You haven't seen how this epic engineering artifact of wheel reinvention is exploding in your face. See http://lwn.net/Articles/506842/ Now try debug it with rd.debug and you will have debug info printed for debug info printing functions.

Re: Arch Linux to migrate to Systemd

#70
post #65

Earlier quoted context omitted.

> There is no tool that will print out a dependency map. systemctl dot | dot -Tsvg > systemd.svg

Nice, here's the result on Mageia 2: http://frammish.org/systemd.svg

I did a PNG of the Fedora boot process and it's 28 MB and 27852x4091 pixels :-(
Post reply on HN