Announcement

Collapse
No announcement yet.

ZFS On Linux With Ubuntu 12.04 LTS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Hold on. If ZFS beats the heck out of competition, the results are too good to be true and are suspect, and may be the ZFS code is doing the wrong thing? And if ZFS loses out, its not good enough?

    What a load of crap! Use and learn ZFS first, and then test it. Compare the performance of its features with other filesystems.

    Comment


    • #17
      Originally posted by phoronix View Post
      Phoronix: ZFS On Linux With Ubuntu 12.04 LTS

      It has been a while since last benchmarking the ZFS file-system under Linux, but here's some benchmarks of the well-known Solaris file-system on Ubuntu 12.04 LTS and compared to EXT4 and Btrfs when using both a hard drive and solid-state drive.

      http://www.phoronix.com/vr.php?view=17546
      I believe that I can explain why these results are "too good to be true". The performance differences in read I/O benchmarks are the result of the page replacement algorithms being exployed. ZFS has ARC while ext4 and btrfs have LRU. ARC is more conservative than LRU when flushing its cache, which should boost performance in general.

      The situations where ZFS outperforms its competition in Michael's testing are solely the result of ARC being used in place of LRU. The situations where ZFS does not do quite as well, are likely the result of any of the following:

      • They heavily favor LRU. Whenever you try to make your algorithms more intelligent, you will have cases where you make things worse. The idea is to make the worse in the least useful areas.
      • They are caused by inefficiencies in the LLNL ZFS code. Currently, we do double locking. One set of locks is from Solaris and another is from Linux. These will eventually be consolidated, but there is a performance penalty.
      • They are write intensive, in which case, you should be using a SLOG device to sequentialize transaction group commits. ZFS provides awesome write performance if you are willing to configure your hardware properly. Without that, you will have mediocre write performance.
      • ashift was not set to proper sector sizes, which gives ZFS an additional performance penalty. I have been told that this effect can be measured to be 40% in some tests.

      ZFS is a replacement for not only a filesystem, but a logical volume manager, RAID and a write cache. However, Michael is testing it as if it were a filesystem from the 1980s, which is wrong. ZFS is superior to its competitors in terms of both reliability and performance per dollar, yet none of that is being tested. Michael should redesign his tests to conform to ZFS, rather than expect ZFS to conform to his tests.
      Last edited by ryao; 06-28-2012, 04:20 PM.

      Comment


      • #18
        Originally posted by finalzone View Post
        Hold on a second. CDDL license was designed to be incompatible with GPL.
        http://kerneltrap.org/node/8066/
        Perhaps it was then, perhaps not now.

        Oracle's largest installed base is on Linux, not Solaris. They know what side their bread is buttered on.

        The problem with the code being released under CDDL is that it may be difficult for Oracle to now change the licensing, depending how any 3rd party copyright assignments were made (the same issue with so many contributors to the linux kernel and GPL)

        Comment


        • #19
          Originally posted by devsk View Post
          What a load of crap! Use and learn ZFS first, and then test it. Compare the performance of its features with other filesystems.
          Responses like this are not helping things.

          There's a very active group of ZFS on linux users and we're all concerned about seeing accurate benchmarking. All the Phoronix guys need to do is ask for some assistance and it'll be freely given.

          Main hints:

          0: ZFS is intended for disk arrays. A single drive configuration is not something which would ever be used in production environments (even in a SOHO environment)

          1: ZFS works best when given entire disks, not partitions.

          2: Any machine using ZFS needs a fair amount of ram. If deduplication and compression are enabled then it needs a lot more ram than a ext4 system. These are necessary tradeoffs. Rule of thumb: 4Gb + 1Gb per Tb of disk, double that if deduplication is enabled.

          3: Tune your ashift= value. It works better at 12-13 than the default inherited from Solaris that is tuned for 512 byte sectors and may be better at higher values for larger files.

          4: SSD l2arc and SSD ZILs make a _large_ performance difference. Don't skimp on the l2arc. Larger L2arcs will help compensate for lack of ram when deduplicating. Even relatively slow SSD will make a difference.

          5: Hardware raid controllers are a liability. They get in the way. Don't use a hardware RAID array as it kills about half the advantages ZFS can offer (If you must use a hardware raid controller, then set the drives up in JBOD mode or create multiple single-drive RAID0 arrays) about the only thing that _is_ useful is battery backed write cache.

          6: Make sure you use optimum disk layouts (there are optimum numbers for each level of raidz)

          ZFS is designed to detect and _fix_ silent disk errors (data corruption which passes ECC. This is estimated to be a daily occurance on terabyte-scale hard drives at quoted correction levels). Hardware raid controllers might detect an error but that's about it.

          Even in worst case performance scenarios ZFS should be almost bulletproof for all redundant disk layouts. It's designed from the ground up with the notion that storage media is unreliable. I have abused my ZFS filesystems every way I can think of - including pulling out multiple disks from a live filesystem under full r/w load - and the worst thing that's happened is that it shut down - no data was lost when the drives were plugged back in. Sometimes that means performance penalties but a fast filesystem is no use if it loses data (BTRFS and Ext4-on-mdraid6 both died irrepairably for under the same tests).

          It'd be good to see a redone set of benchmarks for a properly tuned ZFS setup - and bear in mind that ZFS isn't just a "filesystem" - it's a complete storage environment which replaces RAID+Partitions+LVM+filesystem and is intended for multi-Tb scale installations (I run 12Tb at home on 5400RPM drives, and several hundred Tb at work...)
          Last edited by stoatwblr; 06-28-2012, 10:02 PM.

          Comment


          • #20
            Originally posted by stoatwblr View Post
            There's a very active group of ZFS on linux users and we're all concerned about seeing accurate benchmarking. All the Phoronix guys need to do is ask for some assistance and it'll be freely given.
            I maintain the ZFS kernel modules in Gentoo Linux and I am also responsible for some of the patches in the ZFSOnLinux shortlog. If Michael contacted me by email, I would be more than happy to describe how to do proper benchmarks.

            Comment


            • #21
              Originally posted by stoatwblr View Post
              It'd be good to see a redone set of benchmarks for a properly tuned ZFS setup - and bear in mind that ZFS isn't just a "filesystem" - it's a complete storage environment which replaces RAID+Partitions+LVM+filesystem and is intended for multi-Tb scale installations (I run 12Tb at home on 5400RPM drives, and several hundred Tb at work...)
              Do you use Linux or another OS?

              I want to build a home file server eventually and am still undecided on OS choice.

              Comment


              • #22
                Is ZFS good for a laptop?

                From some of the comments above by some of the developers then does it mean that ZFS is not a good choice for a root file system on a laptop? Sounds like only good for multi-disk multi-TB environments. Though it has features which would be very useful for desktop/laptop environments.

                Has the bug of not being able to use preemption been fixed?

                Comment


                • #23
                  Originally posted by uid313 View Post
                  Isn't it good that all code in the Linux kernel is covered by a single license instead of a plethora license?
                  I think it is great that all code in the Linux kernel is covered by just one single license.

                  If ZFS was under the BSD or ISC license, then it could be incorporated into the Linux kernel.
                  Not all of the code in Linux is covered by a single license. The graphics drivers are either MIT licensed or X11 licensed. That is how OpenBSD is able to port them without conflicting with their strict licensing requirements. Also, the TCP/IP stack was never licensed under the GPL. It was borrowed/copied/stolen/<insert participle> from BSD.

                  I suggest that you spend some time reading the kernel source code firsthand. You should find it to be an enlightening experience.

                  Originally posted by linux5850 View Post
                  From some of the comments above by some of the developers then does it mean that ZFS is not a good choice for a root file system on a laptop? Sounds like only good for multi-disk multi-TB environments. Though it has features which would be very useful for desktop/laptop environments.

                  Has the bug of not being able to use preemption been fixed?
                  There is currently an issue with suspend/resume that might be related to Gentoo Hardened (no one has tested it without hardening), but aside from that, it works fine. I use it on a desktop and I know two people who use it on laptops.

                  As for preemption, there are patches available that makes it work. They are available in the following pull requests:

                  https://github.com/zfsonlinux/spl/pull/98
                  https://github.com/zfsonlinux/zfs/pull/674

                  The patches work well on my desktop, but preemption does not yield much qualitative benefit on my system. ZFS' ARC algorithm improves my desktop's interactive response far more than preemption does.

                  Also, you can use voluntary preemption without those patches. Voluntary preemption was implemented after full preemption with the claim that it was even better for low latency audio, although you can be the judge of that.
                  Last edited by ryao; 06-29-2012, 12:47 AM.

                  Comment


                  • #24
                    Originally posted by johnc View Post
                    Do you use Linux or another OS?
                    I want to build a home file server eventually and am still undecided on OS choice.
                    Here is a linux+zfs homeserver story: https://mocko.org.uk/b/2012/06/17/ho...croserver-joy/
                    FreeBSD zfs is a good choice for server as well.
                    Solaris/Illumos has device support issues

                    Comment


                    • #25
                      Originally posted by linux5850 View Post
                      From some of the comments above by some of the developers then does it mean that ZFS is not a good choice for a root file system on a laptop? Sounds like only good for multi-disk multi-TB environments. Though it has features which would be very useful for desktop/laptop environments.

                      Has the bug of not being able to use preemption been fixed?
                      I think it's more accurate to say it's overengineered for a laptop environment like you are describing. It was designed primarily for Unix mainframes, and the fact that it can scale down to laptops is a nice feature, not a core requirement.

                      A simpler FS like Ext4 will likely be better in your case, unless you actually want to take advantage of some of the features that ZFS provides - in that case, i'd say you could certainly go for it if you want to.

                      Comment


                      • #26
                        Originally posted by smitty3268 View Post
                        I think it's more accurate to say it's overengineered for a laptop environment like you are describing. It was designed primarily for Unix mainframes, and the fact that it can scale down to laptops is a nice feature, not a core requirement.

                        A simpler FS like Ext4 will likely be better in your case, unless you actually want to take advantage of some of the features that ZFS provides - in that case, i'd say you could certainly go for it if you want to.
                        I disagree. Used EXT4 in the past and it bad for multitasking desktop/laptop environment with heavy compiling in the background and when your system crashes you lose many files. I wanted to use ZFS for the features and the speed (once you tune it for the system you're using).

                        Comment


                        • #27
                          Originally posted by linux5850 View Post
                          I disagree. Used EXT4 in the past and it bad for multitasking desktop/laptop environment with heavy compiling in the background and when your system crashes you lose many files. I wanted to use ZFS for the features and the speed (once you tune it for the system you're using).
                          As I said, if you actually intend to use the features then go ahead, it makes sense to use ZFS for that reason.

                          But expect it to be slower on your hardware for your uses. Where ZFS speed shines is when you are dealing with multiple high speed disks, not a single laptop disk that is undergoing heavy writes from compiling.

                          Comment


                          • #28
                            The best feature of zfs on a desktop or laptop is the volume management. Usually the disks/ssds are quiet small in a laptop and you do not want to waste disk space with partitioning, so with zfs you can just create one vdev and have snapshots of most of the configs/documents and can use compression for home folders. My ratio is like 1.34 on the home folder with documents... what is there not useful on a laptop?

                            Comment


                            • #29
                              Originally posted by smitty3268 View Post
                              As I said, if you actually intend to use the features then go ahead, it makes sense to use ZFS for that reason.

                              But expect it to be slower on your hardware for your uses. Where ZFS speed shines is when you are dealing with multiple high speed disks, not a single laptop disk that is undergoing heavy writes from compiling.
                              That's the thing. Would it be slower than BTRFS? That's one of the reasons non-enterprise users want to see how ZFS performance compares to BTRFS and other filesystems.

                              Comment


                              • #30
                                Originally posted by stoatwblr View Post
                                Perhaps it was then, perhaps not now.

                                Oracle's largest installed base is on Linux, not Solaris. They know what side their bread is buttered on.

                                The problem with the code being released under CDDL is that it may be difficult for Oracle to now change the licensing, depending how any 3rd party copyright assignments were made (the same issue with so many contributors to the linux kernel and GPL)
                                Well it looks like Oracle has chosen to close-source their newer Solaris versions and ZFS updates.

                                So I guess what was released from Sun is all we have to work with, and the subsequent updates made under the OpenIndiana project (which is probably going to have more momentum).

                                But as long as we can have a ZFS kernel module like we can have video drivers, it's not too big of a deal. The end-user just has to install it himself.

                                Comment

                                Working...
                                X