And you are ready to upgrade. The key was changed since they are now using a buildbot to reduce the time between new kernel release and adapted archzfs package.
Thanks for your great work people!
If you are using archzfs and the zfsonlinux, you know that it can happen from time to time that you have to wait until packages are updated to the newest kernel (or lts kernel).
Whenever you want to upgrade your system, you get an error like the following.
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: spl-linux-lts: installing linux-lts (4.9.32-1) breaks dependency 'linux-lts=4.9.30'
:: zfs-linux-lts: installing linux-lts (4.9.32-1) breaks dependency 'linux-lts=4.9.30'
:: zfs-utils-linux-lts: installing linux-lts (4.9.32-1) breaks dependency 'linux-lts=4.9.30'
To update your system without the kernel (and its dependencies), you can use the following trick.
#example if you use the lts kernel
#if you use plain pacman
pacman -Syyu --ignore=linux-lts,linux-lts-headers
#if you use pacaur
pacaur pacman -Syyu --ignore=linux-lts,linux-lts-headers
Dustin Kirkland announced that Ubuntu 16.04 will be shipped with ZFS.
It is still sucky, sucky foobuntu bit I see it as big step for the wonderful ZFS. I am using it since multiple years now and I am enjoying it. ZFS, especially Open ZFS has a bright future.
I just got the following entry on my boot up today:
systemd[1]: Failed to start Create Volatile Files and Directories.
After a while of searching using my favorit searchengine, I (as usual ) found the most fitting solution in the bbs.archlinux.org.
The solution is given in the manpage of the tmpfiles.d.
tmpfiles.d(5) wrote:
If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in /etc/tmpfiles.d/ bearing the same filename.
So all you have to do is:
sudo su
cd /usr/lib/tmpfiles.d
cp journal-nocow.conf journal-nocow.conf.bak
rm journal-nocow.conf.bak
ln -s /dev/null journal-nocow.conf
And thats it. Fingers crossed you system will boot without errors.
Everytime the kernel gets updated, my system only reaches the busybox afterwards.
Currently, I have no idea why this happens exactly. But at least, I know how to handle it.
The zfs module is loaded, so all you need to do is to execute
zpool import -f
, followed by an
zpool export
.
It looks like there is a problem with exporting the pool while rebooting, or maybe an error while importing. It is marked as "not exported correctly", that is why booting fails. After the two commands from above, you can enter
Give is, that you get an error message while booting up your system from "systemd-tmpfiles-setup.service" with the description "Failed to start Create Volatile Files and Directories.".
By using systemctl with systemctl status systemd-tmpfiles-setup.service, you get the same description.
A quick look into the archlinux wiki offers you the solution named enable acl in your file system.
If you are running zfs as your root, you have to execute zfs set acltype=posixacl #your_pool_name. To validate if it is working, execute zfs get acltype before and after the set.
If you want to know more, you can read the following links:
The Linux team is happy to announce a new release of OpenZFS on Linux.
The 0.6 4 release adds support for 6 new feature flags, multiple new
properties, asynchronous IO, support for Linux kernels up to 4.0 and
more. NEW FUNCTIONALITY
* Compatible with kernels up to Linux 4.0.
* New feature flags (additional details below):
- spacemap_histogram
- extensible_dataset
- bookmarks
- enabled_txg
- hole_birth
- embedded_data
* New asynchronous I/O (AIO) support.
* New fallocate() FALLOC_FL_PUNCH_HOLE support.
* New fragmentation metric in 'zpool list'.
* New LZ4 compression of meta data.
* New "redundant_metadata" property controls desired redundancy level.
* New "overlay" property controls behavior for non-empty mount points.
* New 'zpool list -v' shows individual disk capacity.
* New 'zpool get -H' (scripted mode) support.
* New 'zpool create -t' creates a pool with a temporary name.
* New arc_summary.py script from FreeNAS.
* New bash completion support.
* New DTRACE_PROBES integrated with Linux tracepoints.
* New compressed block histograms with zdb.
* New verbatim pool imports with zdb.
What a release, thank you very much for the work and the damn long list of new features, improvements and bug fixes!
You are getting error messages like the following by trying to use your zfs?
Failed to load ZFS module stack.
Load the module manually by running 'insmod /zfs.ko' as root.
Failed to load ZFS module stack.
Load the module manually by running 'insmod /zfs.ko' as root.
First, check if all modules (zfs is using dkms) are loaded and having the same/fitting version numbers.
dkms status
If the output is not suiteable (one module is missing, wrong version number for example) try to do the following steps by using the proper version number.
OpenZFS is the truly open source successor to the ZFS project. Our community brings together developers from the illumos, FreeBSD, Linux, and OS X platforms, and a wide range of companies that are building products on top of OpenZFS.
OpenZFS is an outstanding storage platform that encompasses the functionality of traditional filesystems, volume managers, and more, with consistent reliability, functionality and performance across all distributions.[...]
Goals
The high-level goals of the OpenZFS project are:
- to raise awareness of the quality, utility, and availability of open source implementations of ZFS
- to encourage open communication about ongoing efforts to improve open source ZFS
- to ensure consistent reliability, functionality, and performance of all distributions of ZFS
The main technical goal of the project is easier sharing of code between platforms. Strategies include:
- creating a platform-independent mailing list for developers to review ZFS code and architecture changes from all platforms
- smoothing the illumos integration process
- making it easy to run both ztest and the ZFS test suite (TestRunner or STF based) on each platform
- reducing code differences between the platforms.
[...]
Since i migrate to zfs where it is possible, i did this also with an usb storage. Today, i want to export a pool to use it in my laptop. I finished all i want to do and want to remove the zpool from my system via
zpool export mypool
.
The result:
umount: /foo/bar/mypoo/foobar: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
cannot unmount '/foo/bar/mypoo/foobar': umount failed
Ok, maybe it needs some time to finish writing/flushing the cache so i gave him another 15 minutes. I tried again and the same error message. I used "lsof" but nothing inside when i grep for "mypool".
After taking a long look over the internet, the only solution i found was using
zpool export -f mypool
but again, same error.
After strange threads talking about "you have to restart your usb module" i just took a look to the current running systemd units by using
systemctl list-units
and guess what? There are units running for each mountpoint the zfs pool had. All i had to do is to stop the unites and the run "
Time is ticking, arch linux has updated its kernel to 3.6.10-1 and zfsonlinx in the aur can handle that.
Sounding like a broken record, download spl-utils, spl, zfs-utils, zfs and build it.
Use "sudo depmod -a" to generate your modules.dep and map files with the lates versions.
Use " sudo systemctl enable zfs.service" if you want to add zfs as systemd service.
I heard my main zfs pool is scrubbing again so i decided to take a look on it.
If first started with refreshing my knowledge by using some zpool default commands.
zpool iostat 2
zpool status 2
Both upper commands displays important informations about your pool in an interval of 2 seconds. You can even add a "-v" if you want to know more .
After watching the scrubbing for a while, i also remember the existence of some zfs attributes.
zfs get all
Et voilà, all attributes are listed very well.
I studied the attributes and was quite happy that i already configured a lot the right way. Compression was set to backup and tool, but not to image for e.g. The only thing i missed was the thing about the access time (atime). I really don't care about access time for my files, so it was time to disable this feature to gain some speed.
zfs set atime=off rpool
I was alos not shure if the following attributes are doing what i estimate of them.
But after quickly asking the world wide web, i found a simple but usefull page called linux.die.net/man/8/zfs. This page lists all available (ZFS v28) attributes and adds usefull informations to it.
I was also investigating the compression attribute. But after a while of surfing and testing on my own (by switching compression), i came to that point, that the default compression method (LZJB) is a good balancing act between speed and cpu usage.
So i run into trouble building the zfsonlinux on the kernel 3.6.2-1. I could not build the spl part. So currently i only can build up by the git source.
Use spl and zfs and build it (./autogen.sh, ./configure, make pkg, pacman -U *.tar.xz).
This release includes several ZFS improvements which were backported
from Illumos and a variety of bug fixes. Full details and proper
attribution for this work is below. Highlights include:
- Support for ZVOL based swap devices
- Support for preemptible kernels
- Vastly improved msync() performance
- Improved behavior under low memory conditions
- Improved 'zpool import' search behavior
- Added 'zstreamdump' command from Illumos
- Added 'zfs get -t " support from Illumos
- Fixed 'ZFS replay transaction error 5'
- Fixed SA based xattr coherency issue
- Fixed various NFS issues
If you want to know more, check out the following link (including change log as well).
source
I must assume, i'm currently quite happy that my tank is running smoothly, maybe i give it a try on the weekend :-), ZVOL as swap is it worth definitly. The arch linux links are already updated.