Hot answers tagged

21

It's not file system problem, it's disks' physical limitations. Here's some data: SATA drives are commonly specified with an unrecoverable read error rate (URE) of 10^14. That means that 1 byte per 12TB will be unrecoverably lost even if disks work fine. This means that with no RAID you will lose data even if no drive fails - RAID is your only option. If ...


12

Do yourself a favor and use a RAID for your disks, could even be software RAID with mdadm. Also think about why you "often get errors on your disks" - this is not normal except when you use cheap desktop class SATA drives instead of RAID grade disks. After that, the filesystem is not that important anymore - ext4, xfs are both fine choices.


12

Much has happened since I asked this question in October 2010. As of September 2013, a new collaboration known as OpenZFS will serve as a central site for several ZFS projects. The new site is http://open-zfs.org/ (with a dash) Today at LinuxCon North America, Brian Behlendorf and Matthew Ahrens are announcing that members from the illumos, zfsonlinux.org, ...


11

To change the properties (be it compresson, deduplication or checksumming) of already written data, the zfs approach is to run the data through a zfs send | zfs receive sequence. Obviously, you do not need to offline the system for that, but you will need enough resources in your zpool / on the system to hold two dedup'ed copies of the data set in question ...


10

This is a udev issue that seems to be specific to Debian and Ubuntu variants. Most of my ZFS on Linux work is with CentOS/RHEL. Similar threads on the ZFS discussion list have mentioned this. See: scsi and ata entries for same hard drive under /dev/disk/by-id and ZFS on Linux/Ubuntu: Help importing a zpool after Ubuntu upgrade from 13.04 to 13.10, device ...


7

IMHO the parameters in /sys/module/zfs/parameters can only be set to 0 / 1 - disabled / enabled." Correction: depends on the parameter I am in the same boat wanting to limit zfs' memory usage and it seems one has to create a /etc/modprobe.d/zfs.conf file and enter the parameter and the desired value in there. This change will take effect upon reboot. echo ...


7

I add new disks of greater sizes progressively Since you are interesting in using LVM, and you want to handle multiple drives, the simple answer would be to just use the mirror feature that is part of LVM. Simply add all the physical volumes into your LVM. When you are creating a logical volume pass the --mirrors option. This duplicates your data. ...


7

I've had good luck with ZFS, you could check to see if it's available on whatever distro you use. Fair warning, it'll probably mean rebuilding your whole system, but it gives really good performance and fault-tolerance.


6

You should really be using a RAID 5, 6, 10, 50, or 60. Here's some resources to get you started: background info about RAIDs http://en.wikipedia.org/wiki/RAID http://www.techrepublic.com/blog/datacenter/choose-a-raid-level-that-works-for-you/3237 howto's & setup http://www.dedoimedo.com/computers/linux-raid.html ...


6

First off, it's worth stating that ZFS is not a supported filesystem for MongoDB on Linux - the recommended filesystems are ext4 or XFS. Because ZFS is not even checked for on Linux (see SERVER-13223 for example) it will not use sparse files, instead attempting to pre-allocate (fill with zeroes), and that will mean horrendous performance on a COW ...


6

$ sudo find /lib/modules/$(uname -r)/updates -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | xargs rm -f $ sudo apt-get install --reinstall ubuntu-zfs $ sudo apt-get install --reinstall $(dpkg-query --show --showformat='${binary:Package}\n' ...


6

This setup may not be tuned well. There are parameters needed for both the /etc/modprobe/zfs.conf file and the ashift value when using SSDs Try ashift=12 or 13 and test again. Edit: This is still a virtualized solution, so we don't know too much about the underlying hardware or how everything is interconnected. I don't know that you'll get better ...


5

Scrub your pool again (if you haven't already): zpool scrub zstorage That error is telling you that inode <0x9f115> is corrupt (deleting the file broke the filename->inode mapping, so it's just reporting the inode now). Either something still has the file open or the metadata just needs to be cleaned up (which a scrub should do). To clear the error if ...


5

This may sound a bit crazy, but I support another application that benefits from ZFS volume management attributes, but does not perform well on the native ZFS filesystem. My solution?!? XFS on top of ZFS zvols. Why?!? Because XFS performs well and eliminates the application-specific issues I was facing with native ZFS. ZFS zvols allow me to ...


5

Oracle officially killed OpenSolaris, so the website will not be updated anymore. FreeBSD is working with the IllumOS project to advance ZFS at this point (their website is still a bit scant on details). I don't know if these changes are derived from actual Solaris 11 development or not, nor if the changes will be merged into the official project (a likely ...


5

Everything is operating normally. You're running into TB vs TiB confusion. TL;DR 12TB raw == 10.8TiB raw (which is what is listed by zpool list) 7.5TB usable == 6.8TiB usable (which is what is listed by zfs list) You have: 3×3TB drives 2×1.5TB drives yielding a total of 12TB of raw storage. ○ → units 12TB TiB * 10.913936 / 0.091625969 ...


5

I hate to say this, but do you know that you were basically adding unraided disks to your pool? The command you provided basically says, "Add another disk to pool nas and stripe it with the existing disks." Is that what you meant to do? The pool is done at this point, especially if anything was written to the bad disk. If this were a pair of mirrors, the ...


5

This came up in discussion on the ZFS mailing list. The kernel ABI changed between 0.6.2 and 0.6.3 in such a way that 0.6.3 user-land tools can't interact with 0.6.2 kernel modules, which is the configuration after upgrading to 0.6.3. According to numerous messages on this list, the right approach is simply to reboot. This is covered in the ZFS ...


5

That looks like...a bug. In fact, it is a bug. The ZFS userland is updated, but the kernel modules aren't being updated by DKMS. This assertion is caused by the version mismatch. You can work around it by a process given in a comment to the bug, by removing the old kernel modules and then reinstalling everything. $ find /lib/modules/$(uname -r)/extra -name ...


4

For versions up to 28, you can still browse the repository in OpenSolaris web site: http://src.opensolaris.org/source/history/onnv/onnv-gate/usr/src/uts/common/sys/fs/zfs.h http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/sys/fs/zfs.h#348 Update: This repository has moved to: ...


4

The zfs mailing list remains on opensolaris.org, and Oracle has not established a new public website for their ongoing ZFS development project. Update (2013): The opensolaris.org website has now been shut down, and Oracle’s ZFS mailing list has moved to the new Solaris-ZFS.java.net website.


4

Instead of mounting zpool2 as /var/db, mount it as /zpool2 or /db or whatever makes sense for you. Then make /var/db a symlink to /db.


4

Ubuntu seems to have some annoying udev issues that we don't see on the Red Hat/CentOS side. I'd recommend using the WWN-based device names if you can, as they seem less susceptible to this. Have you seen: Why did rebooting cause one side of my ZFS mirror to become UNAVAIL?


4

If you ever end up on this page and your running Debian, you only have to do the following to fix the issue: # apt-get update # apt-get dist-upgrade # reboot The issue occurred because a simple update doesn't not replace old library files with the newer ones. This is why a dist-upgrade is needed. From the apt-get manpage: dist-upgrade in addition to ...


4

What they're alluding to here is a configuration where you simply add all the disks to a pool (without a parent mirror or raidz group controlling the disks). In this configuration, the number of devices a file is put on is dictated by the copies attribute, which is controlled by the zfs set command - so some data (by ZFS filesystem) in the pool will have ...


3

http://fibrevillage.com/storage/169-zfs-arc-on-linux-how-to-set-and-monitor-on-linux this article is very good starting version ZoL 0.6.2 you can set the c_max at runtime, however the ARC size will not be released automatically. to force the RAM to be released it is needed to export the zpool.


3

You can set the file system mountpoint properties to legacy and use /etc/fstab to define them. That way, you'll be able to define the order in which they will be mounted. Edit: I just noticed you already considered the legacy approach. It might be the only one though.


3

We were looking into running Mongo on ZFS and saw that this post raised major concerns about the performance available. Two years on we wanted to see how new releases of Mongo that use WiredTiger over mmap, performed on the now officially supported ZFS that comes with the latest Ubuntu Xenial release. In summary it was clear that ZFS doesn't perform quite ...


3

I'll answer. You may be overthinking... Snapshots aren't backups. So if you're trying to protect against a compromise, you should go the extra step and back up to another device. Now, snapshots can be extremely helpful in producing a clean consistent copy of your data to ship or back up to another device. As far as ZFS on Linux, It's very easy to integrate ...


3

If you're really worried about data corruption, I would recommend a checksummed filesystem such as zfs and btrfs -- though note that btrfs is still considered to be in-development and not production-ready. There is no gurantee that the data read (even successfully read) from a disk will be correct. Blocks have checksums, but they're simple checksums that ...



Only top voted, non community-wiki answers of a minimum length are eligible