Volume shadow copy is a feature of Samba, not FreeNAS specifically. So, yes, you can use it with NAS4Free.
Meh, I played around with FreeNAS for a while. I originally thought it was neat, but I kept having problems with it and eventually realized that it was easier to just set everything up myself. The GUI didn't offer that much in the way of ease of use. A short list of my observations.
1) FreeNAS makes it dead easy to set up ZFS...but ZFS is actually pretty easy to setup on its own. Easier than RAID/LVM by far. So no huge gain there, in my opinion.
2) FreeNAS makes it so you don't really have to learn the ins and outs of FreeBSD, but zfsonlinux is fairly mature and works well, so not a big deal for me.
3) This may be my linux bias showing, but FreeNAS is limited by the capabilities of FreeBSD. Hardware support is the biggest one (controllers, nics, etc). For example, plenty of Dell hardware won't work optimally. Also, what the fuck did they do the PAM? Lots of functionality missing (kerberos password changing, mkhomedir, etc). The version of SCP seems to come from a stone age that doesn't know about directory recursion. Just lots of little things that really annoyed me. No NFSv4 support. Seriously, this is like 10 yrs old now, and you still can't authenticate NFS users over Kerberos if you are using FreeNAS. Maybe it is fixed in this version, but not in 9.2.
4) Some aspects of the UI were nice (ex: being able to easily to see appropriate ZFS flags) and other not so nice (ex: the snapshot interface). Yes, FreeNAS supports the ability to replicate ZFS, but this requires a cumbersome setup that even involves saving your ssh private key into the UI (maybe they have changed this since then). It's easier to just set this up in a cron job on your own, in my opinion.
5) FreeNAS makes some things very easy, but if you need to do anything differently, it's a pain to work around the UI. The settings are saved in a special database that writes config files on the fly, so you have to know what to edit to make a change. I spent a lot of time making FreeNAS talk to our domain controller and enumerate groups correctly, because the UI had a generic way that didn't work with our schema and there was no way to just change the necessary settings.
Bottom line: if you want to get a quick NAS running to use as a media server, FreeNAS works pretty well. But if you have special hardware or integration needs, you can probably achieve everything you need much easier by just configuring everything by hand.
1. Doing away with journald requires a replacement, because it is functionality needed by systemd. No suitable replacement exists. Therefore, it can't be replaced. Why is this so hard to understand? It has nothing to do with being modular or not. Just because syslogd is a logging daemon and journald is a logging daemon doesn't mean the two are interchangeable. If that was a requirement for modularity, we would never be able to develop new interfaces. The syslog API was developed in the 1980s. At some point, the systemd developers decided they couldn't do everything they needed through the syslog API alone, so they developed a new API and journald to go with it. So yes, it is modular, but no you can't replace it because no suitable alternative exists. If you need further elaboration, consider the Unix userspace before multiple syslogd daemons were available. There was the syslog API, but only one syslogd daemon. Since you can't run a functional system without logging, this effectively required you to use syslogd. Does that mean syslog/syslogd was not a modular system until rsyslog and syslog-ng came out? No, of course not.
2. I see you make no effort to elaborate your argument beyond saying "no, you are wrong." The reason for lack of alternatives is that nobody has developed them. I stand by that statement. However, there is starting to be some movement on that front, with efforts by the BSD folks, for example, to port the logind functionality over to BSD so that software that depends on it can use it. Likewise, if you wanted to write a logging daemon that provides the functionality that systemd needs without, for example, using a binary file format, you could do that and I am sure you would have no problem replacing journald with it.
The original point of this thread was that the 69+ individual binaries that systemd builds was an example of being monolithic, with claims by various people that you are forced to use all of them and none of them can be replaced. That is false, and that is the origin of my statement above. Journald cannot be disabled with a compile-time switch, unlike the others. Strictly speaking, this does not mean it is monolithic. Journald communicates with the rest of systemd via well-defined, albeit some in a state of flux, APIs (that is the definition of modular, in case you were wondering). The reason why the developers have not made journald optional is because no currently available syslog variant can replace the functionality of journald, so why bother? Since systemd needs something like journald to function, and journald is currently the only available option, make it a hard dependency. Maintaining backwards compatibility with syslog is not a requirement for modularity.
If I am wrong, it matters to me.
Glad to hear it.
Why does it matter? Journald cannot be separated from systemd because it draws on many features to gather the information it needs, such as to verify timestamp and authenticity, for example. Systemd is dependent on journald because it needs a logging facility that provides information (indexed and organized by process) in a way that no other logging facility currently does. So yes, this is monolithic because they can't be separated. One might ask if they could in principle be separated. Maybe. It depends at least somewhat on the rational for doing so.
With respect to syslogd, journald communicates all logging information to any external logging daemon via a socket and a well-defined interface. It also gathers logging information from userspace processes via the syslog API. So by definition, journald is modular in this sense (it communicates with other processes via well-defined interfaces). The fact that journald must relay logging information to syslogd is a consequence of listening directly to
Why should one lose the ability to view non-corrupted [freedesktop.org] text logs from bootloader just to get an init replacement?
You don't lose that ability. Why do you think that? The bug report that you linked to is about a different issue.
I understand that monolithic is a moving target of criticism for people who don't like systemd.
The journal is part of the core of systemd, so as such it cannot be removed. Why? Well, in short, syslog does not provide the functionality systemd needs for certain things. So yeah, you can call that monolithic if you want...if you also want to say that you can't remove the shell and still have sysvinit work, therefore it is monolithic. That said, the reason why the journal must pass messages on to syslogd is because only one service is allowed to listen on
They are not all required at the same time. Where are you getting your information?
Each of the individual binaries cannot "be combined or interchanged with others like it to create different shapes or designs", which means it isn't "modular", but is "monolithic".
Yes...you...can! That is the whole f$@%@#$ing point of having multiple binaries! Where do people come up with this crap?
What you might ask instead is, why do no suitable replacements exist? Because nobody has written them....
Oh sure, I get that. You are absolutely correct. Proper monitoring requires making sure people can use the system for what it was intended for, not just publish artifical uptimes. The only point I was trying to make here is that systemd allows you to obtain status about running (or not) processes, memory/cpu usage, log events, dbus events, hardware events, forking, open ports, etc, that could be obtained before, but only in roundabout ways with specialized daemons. Systemd now provides a standardized and centralized infrastructure for doing all of that. It does not replace the need for monitoring tools, it just helps them do their job. And it makes containerization and automatic provisioning much easier.
True, systemd doesn't do monitoring per se, but it provides the infrastructure to do monitoring easily. Both Ganglia and Nagios rely on either a daemon installed that can collect data and report it, or on polling ports and such. Neither is really integrated into the system the way systemd is. I'm sure both projects will benefit greatly by their ability to now use systemd features for much of their work.
Well, it does kind of both in that you can join the public NTP pool, or maintain a private NTP server for your network with ntpd. Bottom line though is it's way overkill for what most people need. Your run of the mill server/desktop just needs a simple NTP client, which systemd-timesyncd is.
News to me. Ubuntu Gnome is working just fine without systemd on my desktop right now. They do plan on switching to systemd in the next release, but that is a separate issue.
If you don't have a setup system that establishs monitoring automatically and without manual intervention on all new systems
You do understand why systemd was created, right? To do exactly that! You may be proud of your collection of hacked together bash scripts, or maybe you use a third-party tool to do it, I don't know, but some of us think this capability should be a part of the OS itself. And now it is, thanks to systemd.
It's not just about auto-restart after crash. When the system knows something about its state, it can manage that state. So you can have a rule set that defines what to do when a particular service crashes. Or you can automatically start and stop services in response to system load. Tools like Puppet and Chef will have an actual infrastructure to use instead of needing to resort to a million polling hacks to do their job. There are a ton of reasons why it may be advantageous for the system to know something about its state (hey, I managed to do that without saying "cloud").