Announcement

Collapse
No announcement yet.

ZFS On Linux With Ubuntu 12.04 LTS

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

  • #31
    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.
    Ubuntu 12.04 server at home. See http://zfsonlinux.org/

    RHEL5+6 at work - using ext4 and GFS there.

    The home system is effectively a testbed to see what does and doesn't break.

    I'm pushing for ZFS at $orkplace because it's so robust - performance largely doesn't matter for what we do (24/7 data archives, not oodles of HPC) as long as it's "fast enough".

    ZFS's biggest win on petabyte scale systems is that it can do online scrubbing - no more offline fscks - and that allows us to use big cheap data drawers for "thumper" style MAID storage, instead of using big RAID/MAID drawers that cost $10-20k more.

    It's just a pity that SAM-QFS isn't being considered for Linux porting....

    Comment


    • #32
      Originally posted by ryao View Post
      Also, the TCP/IP stack was never licensed under the GPL. It was borrowed/copied/stolen/<insert participle> from BSD.
      Can you point me to the parts of the Linux TCP/IP stack which are BSD licenced? Everything I recall seeing was GPL licenced, also afaik Linux tcp/ip stack was written from scratch although obviously based upon the already existing BSD stack, and it has been rewritten many times since (in order to increase performance mainly) and so has the BSD stacks likely aswell (a quick google on the subject brought up this freebsd thread which seems to support that notion: http://lists.freebsd.org/pipermail/f...ry/016703.html ).

      Comment


      • #33
        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).
        I have notes for installing Gentoo Linux on a ZFS rootfs here:



        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.
        Well, there are two things to consider. One is that ZFS had a handicap in Michael's benchmarks because ashift was not set properly. Another is that compilation can be done in parallel and do many reads for every write. This benefits from ARC and might actually make compilation faster.

        Originally posted by linux5850 View Post
        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.
        The ARC algorithm should make ZFS faster than BTRFS.

        Originally posted by XorEaxEax View Post
        Can you point me to the parts of the Linux TCP/IP stack which are BSD licenced? Everything I recall seeing was GPL licenced, also afaik Linux tcp/ip stack was written from scratch although obviously based upon the already existing BSD stack, and it has been rewritten many times since (in order to increase performance mainly) and so has the BSD stacks likely aswell (a quick google on the subject brought up this freebsd thread which seems to support that notion: http://lists.freebsd.org/pipermail/f...ry/016703.html ).
        The TCP/IP stack is actually one of the areas that I have never read. Most operating systems' TCP/IP stacks are taken from BSD (including Windows' until Vista), so I had assumed that Linux's was too, but it would seem that is not the case.

        Anyway, there is plenty of BSD code in the Linux kernel. If you grep the source tree, you will find plenty of instances where 'MODULE_LICENSE("Dual BSD/GPL");', which is where you can find much of the BSD code. If you look a bit deeper, you will find instances where code was never released under the GPL, such as ./drivers/gpu/drm/mga/mga_irq.c.
        Last edited by ryao; 29 June 2012, 02:17 PM.

        Comment


        • #34
          Originally posted by ryao View Post
          The TCP/IP stack is actually one of the areas that I have never read. Most operating systems' TCP/IP stacks are taken from BSD (including Windows' until Vista), so I had assumed that Linux's was too, but it would seem that is not the case.
          It seems you should have taken your own advice :
          Originally posted by ryao View Post
          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 ryao View Post
          Anyway, there is plenty of BSD code in the Linux kernel.
          Yes I was aware of there being dual licenced code amongst the drivers and in other areas aswell, actually I did a quick grep just now for the strings 'GPL'/'gpl' and then 'BSD'/'bsd', there were 9758 files in the Linux kernel tree containing 'GPL'/'gpl' and 1492 containing 'BSD'/'bsd' with most files residing in the /drivers dir where there were 698 files tagged with 'BSD'/'bsd', still very much dwarfed by 'GPL'/'gpl' which accounted for 6023 files in the same /drivers dir.

          My reaction was to your statement saying that the Linux tcpip stack was BSD licenced and directly lifted from BSD (well, you gave the option of borrowed/copied/stolen) which was the opposite of what I know and also from what I've seen of the source code in the Linux tcp/ip stack in regards to licencing (yes, I have examined parts of the Linux source code, together with parts of the BSD's, Haiku, Reactos, Aros, it's interesting and enlightening stuff indeed).

          edit: also I'd like to point out that even though a file contains BSD or bsd it may not indicate that it's BSD licenced, for example there are alot of files in /net which contains 'BSD' but it doesn't refer to the licence (which is GPL) but instead is text referring to the BSD implementation of the tcpip stack. I probably should have used better search strings which would properly identify licence text so not to throw false positives.
          Last edited by XorEaxEax; 29 June 2012, 03:30 PM.

          Comment


          • #35
            My naive string search seems to have been waaaay off, searching for strings from the actual licences shows _totally_ different results.

            Searching for files containing "GNU General Public License" returns 17139 files, BSD-style licencing doesn't actually state a licence name but rather just the conditions and afaik all of them seem to contain the following string: 'above copyright notice' which yielded a result of 681 files.

            Anyone have a better search term to better nail down the amount of BSD/MIT licenced files? The one I used here exists both in the BSD licences and the MIT licence so I figured it would be a good fit. 681 files sure don't seem like 'plenty of BSD code'.
            Last edited by XorEaxEax; 29 June 2012, 04:05 PM.

            Comment


            • #36
              Originally posted by johnc View Post
              The way I see it... people who know of ZFS and want to use it, will know how to set it up properly.

              And those who don't know how to set up ZFS have no business using it.

              So in the end it's of little consequence IMO.

              I would love to build my home file server around Linux... but this is one area where Linux is sub-par. Maybe some day with Btrfs. Maybe some day.
              Have you heard of SnapRaid? It's pretty similar to FlexRaid (and I think UnRaid, though I'm uncertain) in that each disk has an independent file system. Spanning is accomplished with Greyhole or mhddfs. The code scales amazingly well and offers up to double redundancy (the developer, who is very engaging and active, is working on triple redundancy). Also, it detects bit rot (using the murmur hash, IIRC).
              The downside is that it isn't realtime (cron based snap-shoting), so it is best used for data that doesn't change often. You also don't get the read improvements from striping, but you do get the benefit of not having to worry about losing the whole array.

              Comment


              • #37
                Originally posted by XorEaxEax View Post
                It seems you should have taken your own advice :

                That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.

                Originally posted by XorEaxEax View Post
                Yes I was aware of there being dual licenced code amongst the drivers and in other areas aswell, actually I did a quick grep just now for the strings 'GPL'/'gpl' and then 'BSD'/'bsd', there were 9758 files in the Linux kernel tree containing 'GPL'/'gpl' and 1492 containing 'BSD'/'bsd' with most files residing in the /drivers dir where there were 698 files tagged with 'BSD'/'bsd', still very much dwarfed by 'GPL'/'gpl' which accounted for 6023 files in the same /drivers dir.

                My reaction was to your statement saying that the Linux tcpip stack was BSD licenced and directly lifted from BSD (well, you gave the option of borrowed/copied/stolen) which was the opposite of what I know and also from what I've seen of the source code in the Linux tcp/ip stack in regards to licencing (yes, I have examined parts of the Linux source code, together with parts of the BSD's, Haiku, Reactos, Aros, it's interesting and enlightening stuff indeed).

                edit: also I'd like to point out that even though a file contains BSD or bsd it may not indicate that it's BSD licenced, for example there are alot of files in /net which contains 'BSD' but it doesn't refer to the licence (which is GPL) but instead is text referring to the BSD implementation of the tcpip stack. I probably should have used better search strings which would properly identify licence text so not to throw false positives.
                In some instances (possibly all?), it appears that people took BSD-licensed code and put it under a dual BSD/GPL license. The GPL seems to be a superset of the BSD license, so adding additional terms in the form of the GPL is permissible. There have been documented cases where people removed all references to the BSD license from the code, which is not permissible:



                Anyway, I meant to say that Linux does contain non-GPL code, which this "dual licensing" reflects.
                Last edited by ryao; 30 June 2012, 01:45 PM.

                Comment


                • #38
                  Originally posted by ryao View Post
                  That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.
                  Heh no problem, I was just messing with you, I'm certainly not one who should 'throw stones' as I've put my foot in my mouth MANY times during my life.

                  Originally posted by ryao View Post
                  There have been documented cases where people removed all references to the BSD license from the code, which is not permissible:
                  Yes I remember that debacle years ago, really bad form. In my personal opinion if you are basing/building your code on someone else's then it's only fair to provide your changes under the same licence even if it doesn't require you to do so. Removing said licence is not only not permitted, it's a true douchebag move if done on purpose (and I can't really see how you accidentally remove a licence text, but maybe it's possible somehow).

                  Originally posted by ryao View Post
                  Anyway, I meant to say that Linux does contain non-GPL code, which this "dual licensing" reflects.
                  No argument there, also this dual licencing may be a reflection of the above, that Linux developers using BSD code wants their changes to that BSD code to be dual-licenced so as to benefit the original authors, which again seems only fair.

                  Comment


                  • #39
                    Originally posted by ryao View Post
                    That was a mistake on my part. I don't touch the networking stuff in the Linux kernel. I hack on ZFS, which means looking at other areas.
                    If you hack on ZFS, why don't you take the GPL-licensed ZFS code from GNU GRUB and port it to the Linux kernel?
                    Then get it merged in the mainline Linux kernel.

                    Comment


                    • #40
                      Originally posted by uid313 View Post
                      If you hack on ZFS, why don't you take the GPL-licensed ZFS code from GNU GRUB and port it to the Linux kernel?
                      Then get it merged in the mainline Linux kernel.
                      There are three issues with that.
                      1. I would see no benefit from doing that and I need my time for things that do benefit me.
                      2. The ZFS code from Sun's GRUB is read-only and lacks suport for multiple vdevs, raidz and numerous other features. Being able to read is fairly easy, while being able to write in a manner that maintains data integrity guarantees and other functionality is not. You could use BSD-licensed code from FreeBSD's bootloader to gain support for features absent from GRUB, but you would still be limited to a read-only implementation.
                      3. Reimplementing ZFS under the GPL would eliminate the CDDL's patent protection, which would open Linux to lawsuits from multiple parties, including Oracle. I already had an email conversation about merging ZFS into Linux with Linus Torvalds where he expressed concern that Oracle would file a baseless lawsuit if the CDDL-licensed code is merged. I can only imagine what he would say about a GPL-licensed ZFS implementation that lacks protection from Oracle's Sun patents.


                      If you insist on having a GPL licensed implementation, here is the disk format specification for an early version of ZFS:



                      It should have everything you need to write your own implementation.
                      Last edited by ryao; 30 June 2012, 07:16 PM.

                      Comment

                      Working...
                      X