Commit graph

60 commits

Author SHA1 Message Date
Rok Garbas db7b4fb073 Merge pull request #6846 from wizeman/u/zfs-auto-snap-flags
nixos: ZFS auto-snapshot improvements
2016-07-21 01:53:11 +02:00
Svein Ove Aas 9a8e0d1c2e zfs: Force sync on shutdown (#16903) 2016-07-19 09:57:13 +02:00
Svein Ove Aas f03dc59803 zfs: Update devNodes description 2016-04-15 17:25:32 +01:00
Vladimír Čunát 716aac2519 Merge branch 'staging' into closure-size 2016-01-19 09:55:31 +01:00
Robin Gloster 88292fdf09 jobs -> systemd.services 2016-01-07 06:39:06 +00:00
William A. Kennington III ce8c8f1e1b Merge pull request #11890 from Baughn/zfs
zfs:Add option for zpool import -d, and set it to /dev/disk/by-id.
2016-01-05 14:37:19 -08:00
Tobias Geerinckx-Rice 82419575aa btrfsProgs -> canonical btrfs-progs 2016-01-03 20:38:44 +01:00
Vladimír Čunát f9f6f41bff Merge branch 'master' into closure-size
TODO: there was more significant refactoring of qtbase and plasma 5.5
on master, and I'm deferring pointing to correct outputs to later.
2015-12-31 09:53:02 +01:00
Svein Ove Aas 7688206a0b zfs:Change default for -d to /dev/disk/by-id 2015-12-23 00:33:06 +01:00
Svein Ove Aas 9a82dd87f7 zfs:Add zfs.devNodes option for zpool import -d 2015-12-23 00:32:25 +01:00
Svein Ove Aas 7e86e9a048 zfs:Always import from /dev/disk/by-id 2015-12-12 20:32:38 +00:00
Vladimír Čunát 333d69a5f0 Merge staging into closure-size
The most complex problems were from dealing with switches reverted in
the meantime (gcc5, gmp6, ncurses6).
It's likely that darwin is (still) broken nontrivially.
2015-11-20 14:32:58 +01:00
Robbin C 528ebb4e5e Fix typo in nixos/modules/tasks/filesystems/nfs.nix.
statd should be cfg.statd.
2015-10-14 08:48:34 +08:00
Tuomas Tynkkynen 0e6d0a5868 unionfs-fuse: Fix the utillinux path hack for multiple-outputs
Double ugh.
2015-10-03 14:08:52 +02:00
Vladimír Čunát 5227fb1dd5 Merge commit staging+systemd into closure-size
Many non-conflict problems weren't (fully) resolved in this commit yet.
2015-10-03 13:33:37 +02:00
Eelco Dolstra 0e3c1e31b1 Remove zfs-git and spl-git
See https://github.com/NixOS/nixpkgs/pull/10042#commitcomment-13422343.
2015-09-29 14:54:12 +02:00
Jaka Hudoklin 74209a4ca8
virtualbox service: add support for vboxsf guest filesystem
Closes #9358

Signed-off-by: Jaka Hudoklin <jakahudoklin@gmail.com>
Fix reference to bin/mount.vboxsf.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2015-09-21 22:32:13 +02:00
Nikolay Amiantov 7355066bfe nixos: add support for exfat filesystem 2015-05-27 18:59:33 +03:00
Vladimír Čunát 375bc8def7 Merge staging into closure-size 2015-05-05 11:49:03 +02:00
Vladimír Čunát e81e2785c7 xfsprogs: fix outputs and references 2015-04-21 09:02:40 +02:00
Eelco Dolstra d4d6b8cc61 Grmbl 2015-04-20 14:24:42 +02:00
Eelco Dolstra fc91ba52df ntfs.nix: Remove copypasta jfs stuff
Thanks to @wizeman for spotting this!
2015-04-20 14:06:44 +02:00
Cray Elliott 479f5f4ae6 fix rebuild when using ntfs partitions
needed to define inInitrd, used vfat.nix as a template
2015-04-19 15:17:23 -07:00
Eelco Dolstra 2b6d011bec Include cifs-utils only when needed
Issue #7117.
2015-04-19 22:06:45 +02:00
Eelco Dolstra 57b05765c9 Don't include ntfs-3g by default
Issue #7117.
2015-04-19 22:06:45 +02:00
William A. Kennington III 9718561589 nixos/vfat: Readd fsck.reiserfs 2015-03-28 19:07:45 -07:00
William A. Kennington III c379847fda nixos/vfat: Readd fsck.vfat 2015-03-28 19:06:43 -07:00
William A. Kennington III 4868649f03 nixos/initrd: Generic library copying 2015-03-28 18:37:29 -07:00
Ricardo M. Correia 6197fdc02d nixos/zfs: Refactor auto-snapshots and make them persistent
If you power off your machine frequently, you could miss the execution
of some snapshots.

This is more troublesome the more infrequently the snapshots are
triggered. For example, monthly snapshots only execute at exactly
midnight on the first day of the month.  If you only have your
machine powered on at that time with probability 50%, then half the
snapshots won't be triggered.

This means that if you wanted to keep 3 monthly snapshots, then instead
of keeping 3 months' worth of snapshotted data as you expected, you would
end up with snapshots spanning back 6 months.

Adding the "Persistent = yes" option to auto-snapshot timer units makes
a missed snapshot execute when booting up the machine.
2015-03-20 04:37:44 +01:00
Ricardo M. Correia b0a51de6c1 nixos/zfs: Keep zero-sized auto snapshots by default
Otherwise, in certain cases, snapshots of infrequently-modified
filesystems can be kept for a much longer time than the user would
normally expect, and cause a large amount of extra disk space to be
consumed.

Also added flag to snapshot filesystems in parallel by default.

I've also added a configuration option for zfs-auto-snapshot flags, so
that the user can override them.

For example, the user may want to append --utc to the list of default
options, so that the snapshot names don't cause name conflicts or
apparent time reversals due to daylight savings or timezone changes.
2015-03-20 04:37:44 +01:00
Ricardo M. Correia 4d2317e6eb nixos/zfs: Don't default to git version for kernels >= 3.19
Stable version 0.6.3-1.3 works with kernels 3.19.x.
2015-03-19 19:37:33 +01:00
William A. Kennington III 35e9d3c112 nixos/zfs: Use the git version for kernels unsupported by 0.6.3 2015-02-11 15:11:56 -08:00
William A. Kennington III 0fa4c9d6d3 nixos/zfs: Fix references to zfs packages now that they are split 2015-02-07 15:07:39 -08:00
Tobias Geerinckx-Rice c64257b8e5 Fix user-facing typos (mainly in descriptions) 2014-12-30 03:31:03 +01:00
Bjørn Forsman f85ad2d378 nfs-utils: align attrname with pkgname
nfsUtils => nfs-utils. Keep copy of old attribute for backward
compatibility.
2014-12-06 17:01:05 +01:00
William A. Kennington III 2b06a92c2a nixos/nfs: Fix dependency ordering 2014-12-01 17:19:44 -08:00
William A. Kennington III 16827ff287 nixos/nfs: Fix Test 2014-11-30 01:14:57 -08:00
William A. Kennington III 1860ee27b0 nixos/networking: Fixes 2014-11-26 16:29:24 -08:00
Ricardo M. Correia e9affb4274 nixos: Add system-wide option to set the hostid
The old boot.spl.hostid option was not working correctly due to an
upstream bug.

Instead, now we will create the /etc/hostid file so that all applications
(including the ZFS kernel modules, ZFS user-space applications and other
unrelated programs) pick-up the same system-wide host id. Note that glibc
(and by extension, the `hostid` program) also respect the host id configured in
/etc/hostid, if it exists.

The hostid option is now mandatory when using ZFS because otherwise, ZFS will
require you to force-import your ZFS pools if you want to use them, which is
undesirable because it disables some of the checks that ZFS does to make sure it
is safe to import a ZFS pool.

The /etc/hostid file must also exist when booting the initrd, before the SPL
kernel module is loaded, so that ZFS picks up the hostid correctly.

The complexity in creating the /etc/hostid file is due to having to
write the host ID as a 32-bit binary value, taking into account the
endianness of the machine, while using only shell commands and/or simple
utilities (to avoid exploding the size of the initrd).
2014-11-12 22:31:49 +01:00
Ricardo M. Correia 12e77fdc3f nixos/zfs: Improve the ZFS boot process
It turns out that the upstream systemd services that import ZFS pools contain
serious bugs. The first major problem is that importing pools fails if there
are no pools to import. The second major problem is that if a pool ends up in
/etc/zfs/zpool.cache but it disappears from the system (e.g. if you
reboot but during the reboot you unplug your ZFS-formatted USB pen drive),
then the import service will always fail and it will be impossible to get rid
of the pool from the cache (unless you manually delete the cache).

Also, the upstream service would always import all available ZFS pools every
boot, which may not be what is desired in some cases.

This commit will solve these problems in the following ways:

1. Ignore /etc/zfs/zpool.cache. This seems to be a major source of
issues, and also does not play well with NixOS's philosophy of
reproducible configurations. Instead, on every boot NixOS will try to import
the set of pools that are specified in its configuration.  This is also the
direction that upstream is moving towards.

2. Instead of trying to import all ZFS pools, only import those that are
actually necessary. NixOS will automatically determine these from the
config.fileSystems.* option. Also, the user can import any additional
pools every boot by adding them to the config.boot.zfs.extraPools
option, but this is only necessary if their filesystems are not
specified in config.fileSystems.*.

3. Added options to configure if ZFS should force-import ZFS pools. This may
currently be necessary, especially if your pools have not been correctly
imported with a proper host id configuration (which is probably true for 99% of
current NixOS ZFS users). Once host id configuration becomes mandatory when
using ZFS in NixOS and we are sure that most users have updated their
configurations and rebooted at least once, we should disable force-import by
default. Probably, this shouldn't be done before the next stable release.

WARNING: This commit may change the order in which your non-ZFS vs ZFS
filesystems are mounted.  To avoid this problem (now or in the future)
it is recommended that you set the 'mountpoint' property of your ZFS
filesystems to 'legacy', and that you manage them using
config.fileSystems, just like any other non-ZFS filesystem is usually
managed in NixOS.
2014-11-12 22:31:49 +01:00
Ricardo M. Correia 3b0fa60a98 zfs: Enable systemd
Also remove custom zfs services from NixOS.  This makes NixOS more aligned with
upstream.

More importantly, it prepares the way for NixOS to use ZED (the ZFS event
daemon). This service will automatically be enabled but it is not possible to
configure it via configuration.nix yet.
2014-11-12 22:31:49 +01:00
aszlig 23160383e3
nixos: Add a filesystem module for JFS.
I'm not using JFS, but this is to mainly make jfsutils available if you
have defined a JFS filesystem in your configuration.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-10-22 08:22:57 +02:00
William A. Kennington III a5bed86fa4 zfs: zpool-import service must be wanted to start 2014-10-11 01:53:24 -07:00
Rickard Nilsson 66bbbc205d nixos/nfs: Fix configuration merge 2014-09-16 13:53:18 +02:00
William A. Kennington III 36614ff3e2 Revert "Revert "Merge pull request #2449 from wkennington/master.grub""
This reverts commit 94205f5f21.

Conflicts:
	nixos/modules/system/boot/loader/grub/install-grub.pl
2014-09-02 09:16:13 -07:00
Vladimir Still a735c308b6 nfsd: Make it possible to fix rpc.{mountd,statd,lockd} ports. 2014-08-31 22:00:16 +02:00
Michael Raskin 94205f5f21 Revert "Merge pull request #2449 from wkennington/master.grub"
This reverts commit 469f22d717, reversing
changes made to 0078bc5d8f.

Conflicts:
	nixos/modules/installer/tools/nixos-generate-config.pl
	nixos/modules/system/boot/loader/grub/install-grub.pl
	nixos/release.nix
	nixos/tests/installer.nix

I tried to keep apparently-safe code in conflicts.
2014-08-31 12:58:37 +04:00
William A. Kennington III 02ab48d0ee Enable grub zfsSupport if zfs is built into the initrd 2014-08-28 13:35:34 -07:00
Eelco Dolstra e68b0c7f5f Mount unionfs-fuse filesystems using the normal fileSystems option 2014-07-30 16:04:15 +02:00
Eelco Dolstra b7c543136a Move CIFS support into a separate module 2014-07-30 12:39:35 +02:00