Slashdot Mirror


Ask Slashdot: Free/Open Deduplication Software?

First time accepted submitter ltjohhed writes "We've been using deduplication products, for backup purposes, at my company for a couple of years now (DataDomain, NetApp etc). Although they've fully satisfied the customer needs in terms of functionality, they don't come across cheap — whatever the brand. So we went looking for some free dedup software. OpenSolaris, using ZFS dedup, was there first that came to mind, but OpenSolaris' future doesn't look all that bright. Another possibility might be utilizing LessFS, if it's fully ready. What are the slashdotters favourite dedup flavour? Is there any free dedup software out there that is ready for customer deployment?" Possibly helpful is this article about SDFS, which seems to be along the right lines; the changelog appears stagnant, though, although there's some active discussion.

306 comments

  1. I've wanted deduplication for a long time! by GPLJonas · · Score: 4, Interesting
    And now, even the next version of Windows Server will contain integrated data deduplication technology! So Linux devs better get working on similar features. I still cannot figure out how NTFS can support compressing files and folders but Linux cannot.

    That deduplication for NTFS is really interesting, actually. It's not licensed technology but straight from Microsoft Research and it has some clever aspects to it.

    Some technical details about the deduplication process:

    Microsoft Research spent 2 years experimenting with algorithms to find the “cheapest” in terms of overhead. They select a chunk size for each data set. This is typically between 32 KB and 128 KB, but smaller chunks can be created as well. Microsoft claims that most real-world use cases are about 80 KB. The system processes all the data looking for “fingerprints” of split points and selects the “best” on the fly for each file.

    After data is de-duplicated, Microsoft compresses the chunks and stores them in a special “chunk store” within NTFS. This is actually part of the System Volume store in the root of the volume, so dedupe is volume-level. The entire setup is self describing, so a deduplication NTFS volume can be read by another server without any external data.

    There is some redundancy in the system as well. Any chunk that is referenced more than x times (100 by default) will be kept in a second location. All data in the filesystem is checksummed and will be proactively repaired. The same is done for the metadata. The deduplication service includes a scrubbing job as well as a file system optimization task to keep everything running smoothly.

    Windows 8 deduplication cooperates with other elements of the operating system. The Windows caching layer is dedupe-aware, and this will greatly accelerate overall performance. Windows 8 also includes a new “express” library that makes compression “20 times faster”. Compressed files are not re-compressed based on filetype, so zip files, Office 2007+ files, etc will be skipped and just deduped.

    New writes are not deduped – this is a post-process technology. The data deduplication service can be scheduled or can run in “background mode” and wait for idle time. Therefore, I/O impact is between “none and 2x” depending on type. Opening a file is less than 3% greater I/O and can be faster if it’s cached. Copying a large file can make some difference (e.g. 10 GB VHD) since it adds additional disk seeks, but multiple concurrent copies that share data can actually improve performance.

    The most interesting thing is that Microsoft Research says it doesn't affect performance almost at all. So when are we going to see Linux equivalents? Because Linux is getting behind on the new technologies.

    1. Re:I've wanted deduplication for a long time! by nanoflower · · Score: 4, Insightful

      The most likely answer is when some one is willing to pay for it. What you have described above isn't a trivial effort and it's unlikely someone is going to do the work for free so it will have to wait until someone is willing to pay for the development. Even then it's likely that the developer may keep it closed source in order to recoup the investment.

    2. Re:I've wanted deduplication for a long time! by PedXing · · Score: 1

      Indeed, I'd love to see Linux implement deduplication similar to Microsoft's new NTFS tech. But of course, it's a major development effort and LOTS of patents are involved.

    3. Re:I've wanted deduplication for a long time! by lucm · · Score: 5, Insightful

      And now, even the next version of Windows Server will contain integrated data deduplication technology! [...] The most interesting thing is that Microsoft Research says it doesn't affect performance almost at all.

      Well ask anyone who lost documents on DoubleSpace volumes or got corrupted media files on Windows Home Server and they will tell you that even if Microsoft Research says so, it's not something I would put on my production servers any time soon.

      --
      lucm, indeed.
    4. Re:I've wanted deduplication for a long time! by Ironchew · · Score: 5, Funny

      When will Adblock Plus block these Microsoft ads on Slashdot?

    5. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0, Insightful

      Microsoft has a looooong history of promising features for NTFS and then not delivering on them.

      Also, perhaps the reason that Linux does not support file-system compression on the fly is because it's a horrid idea, and should never actually be used?

    6. Re:I've wanted deduplication for a long time! by 19thNervousBreakdown · · Score: 2, Insightful

      This has got to be some sort of smear campaign against Microsoft, because I cannot believe that they would think that bludgeoning people with astro-turf is going to get them sales. The first two articles with MS shilling I saw (today!) I wrote off as just people sharing interesting stuff that happened to come from MS, but thanks to your over-heavy hand, the pattern is clear as a bell now.

      So tell me MS marketing people, are you seriously this incompetent, or did a new astro-turf campagin incentive get out of hand? I'm honestly curious how this happened.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    7. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      We're well aware of how much linux sucks, but ignoring that is how we stay hip.

    8. Re:I've wanted deduplication for a long time! by timeOday · · Score: 1, Flamebait

      Oh boy, are they rolling dedup into WinFS? Wow, just look at the timeline in that article if you want to get discouraged about Microsoft delivering a new filesystem.

    9. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 2, Informative

      Interesting link, but it doesn't look like Microsoft has actually released this yet and it is only slated to be released with Win 8 server, and it will come with some caveats.

      FTFA:
      "It is a server-only feature, like so many of Microsoft’s storage developments. But perhaps we might see it deployed in low-end or home servers in the future.
      It is not supported on boot or system volumes.
      Although it should work just fine on removable drives, deduplication requires NTFS so you can forget about FAT or exFAT. And of course the connected system must be running a server edition of Windows 8.
      Although deduplication does not work with clustered shared volumes, it is supported in Hyper-V configurations that do not use CSV.
      Finally, deduplication does not function on encrypted files, files with extended attributes, tiny (less than 64 kB) files, or re-parse points."

    10. Re:I've wanted deduplication for a long time! by Richard_at_work · · Score: 2, Insightful

      Heh, the comment is completely on topic, interesting and factual and yet we still have fucktards insisting that any mention of MS must have been paid for.

      Get a life.

    11. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 4, Interesting

      I have often wondered why someone doesn't use the rsync algorithm as a basis for this kind of chunking and deduplication. I imagine a FUSE-based filesystem that breaks the application-level files into checksummed pieces and stores both the file fragments and file descriptions into an underlying filesystem. Then it could reconstruct the application-level files on demand, using the description to draw out the right fragments.

      From an academic point of view, it already solves the same problem and just needs some repackaging. It breaks arbitrary data into phrases to be identified by checksum and located in another existing corpus of data. It just needs a metadata model to record the structure of the file as composed of these canonical phrases, rather than performing the actual file reconstruction immediately as rsync does now.

      From my cynical point of view, I realize someone may have patented the repackaging, in the same way that Apple seems to think they can re-patent every idea "on a smartphone".

    12. Re:I've wanted deduplication for a long time! by SuricouRaven · · Score: 3, Interesting

      NTFSs file compression actually rather sucks. Space saving is minimal under all but ideal conditions. It's a common problem in filesystem-level compression - the need to be able to read a file without seeking very far, or reconstructing the entire stream. Compression ratio is seriously compromised to achieve that.

    13. Re:I've wanted deduplication for a long time! by dltaylor · · Score: 2

      One instance by default is brain-dead. Lose that and they're ALL gone, if it happens between dedup and backup. You should have at least two copies, on different media, if possible, always, of any data with more than one reference, as well as backing up your data, of course.

    14. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      Its the perfect grammar, good use of white, buzz words and directness of the comment. /. people talk a certain way and this is not it. Usually they assume knowledge and feel like they have not been proof read. Plus windows isn't foss making the comment irrelevant despite being well written.

    15. Re:I've wanted deduplication for a long time! by the_B0fh · · Score: 2

      Even Richard Stallman agreed that there are cases where GPL is not necessary. So stop being an ass.

    16. Re:I've wanted deduplication for a long time! by Richard_at_work · · Score: 0

      Complete and utter bollocks. I'm referring to your comment, just to make sure there is no doubt.

    17. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      Heh, the comment is completely on topic, interesting and factual and yet we still have fucktards insisting that any mention of MS must have been paid for.

      A multi-paragraph comment favorably disposed towards Microsoft and critical of its competition was posted at exactly the same time as the story. Check the times above:

      • Story: Posted by timothy on Wednesday January 04, @03:54PM
      • Comment: GPLJonas (2545760) on Wednesday January 04, @03:54PM (#38588736)

      Compare with yesterday's Ask Slashdot multi-paragraph comment, posted at exactly the same time as the story, promoting ASP:

      It's not that Slashdotters are "fucktards," it's that Slashdotters are math/science/CS folks and are trained to recognize anomalies and to grow suspicious of patterns of anomalies.

    18. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      Thats probably because this kind of thing ACTUALLY HAPPENS ALL THE TIME.

      The GP's comment was posted the exact minute the post was put up... naw, couldn't possibly be prepared ahead of time, nawwww

    19. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      Please add something to the discussion or get the fuck out. I'd rather have astroturfers making relevant, on-topic posts than people like you ranting and raving at shadows.

    20. Re:I've wanted deduplication for a long time! by howardd21 · · Score: 1, Troll

      When will Adblock Plus block these Microsoft ads on Slashdot?

      The day before they block the Linux ones. I am waiting for the idiot blocker, but fear it may sometimes affect my own posts.

      --
      no comment
    21. Re:I've wanted deduplication for a long time! by 0123456 · · Score: 1

      I compressed some of my Steam games recently to free up disk space on my laptop. If I remember correctly, most of them shrunk by 5-10% while some got around 30%.

      So not great, but it freed up a few gigabytes that allowed me to install a few more smaller games.

    22. Re:I've wanted deduplication for a long time! by ColdWetDog · · Score: 1

      No, no he has a point. A typical Slashdot poster can't go through two sentences without some grammatical faux paus.

      --
      Faster! Faster! Faster would be better!
    23. Re:I've wanted deduplication for a long time! by anomaly256 · · Score: 4, Informative

      Considering Linux does have this capability in a few FS drivers now (ok.. some more stable than others, sure) I think the GP should be modded troll rather than the post pointing out it's likely a shill... too bad i'm out of mod points

    24. Re:I've wanted deduplication for a long time! by larry+bagina · · Score: 1

      I see a moderately interesting first post from a subscriber that managed to troll you by stepping outside the slashdot group think box.

      If only he had posted "use /dev/null" (+5 funny) or "write it yourself" (+5 insightful). That never gets old.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    25. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      Actually it does, in btrfs anyway...

      http://blogs.oracle.com/wim/entry/btrfs_compression

    26. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      Or referring to the perfection of the free market when it comes to colonizing Mars....

    27. Re:I've wanted deduplication for a long time! by PedXing · · Score: 2

      If you're referring to GPLJonas' comment as containing "perfect grammar, good use of white, buzz words and directness" then I'll take that as a compliment! Everything but the first three and last paragraphs were copied from my blog post! (http://blog.fosketts.net/2012/01/03/microsoft-adds-data-deduplication-ntfs-windows-8/)

      FWIW, I'm not a Microsoft shill or astroturfer. I'm a blogger who happened to write about MS' dedupe yesterday and it got quoted here. I only noticed this thread thanks to all the Slashdotters coming over to have a read. Hi!

    28. Re:I've wanted deduplication for a long time! by MrNthDegree · · Score: 1

      NILFS2 anyone?

    29. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      Hmm, you have only two comments on your page and both are from this thread. Something smells fishy...

    30. Re:I've wanted deduplication for a long time! by MrNthDegree · · Score: 1

      Microsoft's NTFS technology relies on cleanups to take place in the background, it appears to be a nightmare waiting to happen... :|

    31. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      Or it's the fact that the comment was posted the same minute as the original post...

      Could you have put together a response like that to the original post with the same minute that it was posted? That's enough to make me suspicious.

    32. Re:I've wanted deduplication for a long time! by suutar · · Score: 1

      no, he's saying that unpaid hobbyist coders aren't a viable labor pool for every task. Nothing whatsoever about open vs closed.

    33. Re:I've wanted deduplication for a long time! by afidel · · Score: 1

      Another potential pitfall to open source implementations is patents. Due to their usefulness as a product differentiator in the storage business many of the clever implementations have been patented.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    34. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      Look at his page. He only has two comments...which are in this thread.

      This might be going too far but the submitter too is first time accepted question.

    35. Re:I've wanted deduplication for a long time! by gbjbaanb · · Score: 1

      What you have described above isn't a trivial effort

      nor is Linux itself, or any of the features that it has. Being a bit tricky has never stopped any linux developer from producing such fantastic stuff, why should this be any different to something like LVM, ext4, or GFS?

    36. Re:I've wanted deduplication for a long time! by jimicus · · Score: 5, Interesting

      Also, perhaps the reason that Linux does not support file-system compression on the fly is because it's a horrid idea, and should never actually be used?

      Ah, the "Terrible idea" objection.

      This is a common objection to implementing ideas on Linux - so common, in fact, that it's successfully held Linux back for at least ten years.

      Multi-master LDAP replication? Terrible idea. Remained terrible for several years after literally every commercial LDAP server on the planet supported multi-master replication, only became non-harmful when OpenLDAP started to support it in version 2.4.

      Active Directory support? Such a terrible idea that it's held Samba development back by at least five years. Even now, where Windows Vista deprecates NT4-style policies and 7 deprecates NT 4 domain support altogether (which is about all you get from Samba 3); Samba 4 is considered alpha software.

      Some sort of centralised work-together system that integrates email, address book, calendars, task-list? Terrible idea. So much so that Exchange (despite being way too complicated for its own good) is still an extremely popular email solution and the closest you can get to a viable F/OSS alternative either requires your users to completely re-think how they collaborate (yuck) or buy the commercial version simply because the free version lacks vital features.

      Free clue to all naysayers who work on F/OSS projects: If you spent as long trying to think of ways to make something work as you do thinking of objections to existing implementations and explaining how you're right and everyone else is wrong, you wouldn't be ten years behind the times.

    37. Re:I've wanted deduplication for a long time! by noobermin · · Score: 1

      whoever downrated this post was an idiot. it is funny and most likely true ;)

    38. Re:I've wanted deduplication for a long time! by sexconker · · Score: 1

      Microsoft's NTFS technology relies on cleanups to take place in the background, it appears to be a nightmare waiting to happen... :|

      How so? Worst case scenario is that some recent fraction of your data is possibly partly duplicated.

    39. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      There are offline de-duplication patches for BTRFS. Nobody has taken them further, though.

      While de-dupe is not listed as a future BTRFS feature, there is a good debate on the merit of online vs. offline deduplication.

      It is a feature much like RAID 0. You are sacrificing reliability for some other performance metric, in this case storage space. You only need 1 block of corruption to destroy n blocks of files for duplication factor of n on those files.

      In practice I find dedupe is great for backup storage. However, I'll take bigger disks on production volumes anyday. (Even then you are reduping to your offsite media, right?)

    40. Re:I've wanted deduplication for a long time! by drfreak · · Score: 1

      I haven't used Windows Home Server, but really, DoubleSpace as an example? Really? That's DOS technology for transparent compression, not dedup.

    41. Re:I've wanted deduplication for a long time! by jamesh · · Score: 2

      NTFSs file compression actually rather sucks.

      It's fine as long as you use it properly. I use it for IIS logfiles. I want to keep the logfiles but rarely actually access them, and they are append only, and they are plain text. Very high compression at a very small loss of performance.

      Compressing binary data in your working set is, as you point out, probably a bad idea, but as long as you don't do anything stupid you shouldn't have any problems.

    42. Re:I've wanted deduplication for a long time! by 19thNervousBreakdown · · Score: 0

      It doesn't have to be untrue, offtopic, or uninteresting to be a shill. I noticed a pattern, and pointed it out. The original poster that the comment was stolen from commented in reply--it wasn't what I thought it was, but there was in fact something weird about it, and now the question is answered.

      As a bonus, Microsoft's marketing department gets off the hook, and now we know that you're a hemorrhoidal asshole who feels the need to butt in on topics they have nothing to add to and likes to defend plagiarizing karma-whoring trolls. Winners all around!

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    43. Re:I've wanted deduplication for a long time! by Amouth · · Score: 1

      FYI the first version of this this is available for the Storage appliance versions of windows Server 2008 and 2008 R2.. if you have accesses to TechNet you can get it - it's called Single Instance Storage.. It's not a block level just a file level dedupe (not useful for VM's but great for file shares).. biggest problem i had testing it.. was due to the nature of each deduped file showing up as a junction point in the shares Shadow copies did not work reliably..

      i look forward to them putting in block based dedupe.. will be interesting to see how well it plays with others

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    44. Re:I've wanted deduplication for a long time! by RocketRabbit · · Score: 0

      Awesome. This comment was posted pretty much right after the article, and GPLJonas only started posting today. He's whoring some two bit Microsoft "solution" that is "coming soon" and this is getting to be a regular feature on Slashdot.

    45. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 1

      you wouldn't be ten years behind the times.

      Ah, yes. The "backwards and therefore irrelevent" astroturf. Funny how OSS is doing just fine in all major spaces without having this so-called "advanced" functionality.

      Sometimes a bit is just a a bit and so-called "advanced functionality" is simply an excuse to charge somebody more.

    46. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      You might like to check GPLJonas' posting history. First comment ever, and it's pure MS marketingspeak.

    47. Re:I've wanted deduplication for a long time! by Richard_at_work · · Score: 0

      Oh go fuck yourself. You are a prime example of everything that is wrong with slashdot these days.

    48. Re:I've wanted deduplication for a long time! by GameboyRMH · · Score: 1
      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    49. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      I'm starting right now buddy, i'm just waiting that my mum bring me some cookies down the basement.... *Hope you have deducted my point*

    50. Re:I've wanted deduplication for a long time! by Anonymous Coward · · Score: 0

      It has been pointed out several times in recent years - by nationally and internationally respected technology masters - that Microsoft' NTFS file system is inadequate for functions like "deduplication", as well as other advanced functions since it does not have CRC or a robust 128-bit file structure. Comparisons of NTFS with the Zettabyte file system from Sun/Oracle and with the btrfs file system point out these very serious short comings of NTFS quite clearly.

      W. Anderson

    51. Re:I've wanted deduplication for a long time! by atamido · · Score: 1

      NTFSs file compression actually rather sucks.

      It's fine as long as you use it properly. I use it for IIS logfiles. I want to keep the logfiles but rarely actually access them, and they are append only, and they are plain text. Very high compression at a very small loss of performance.

      Compressing binary data in your working set is, as you point out, probably a bad idea, but as long as you don't do anything stupid you shouldn't have any problems.

      Indeed. We use Netapps for our VMs, which have built in dedupe. But log files won't dedupe, so using compression on directories that store logs is an easy way to save space. It's also an easy way to keep from having to expand the disk size, and to keep log directories under control that can grow rapidly.

    52. Re:I've wanted deduplication for a long time! by smash · · Score: 2

      This is why you use Zfs, which can detect and correct corruption.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  2. Dragonfly BSD's HAMMER... by Anonymous Coward · · Score: 5, Interesting

    ...includes dedupe.

    There was a blog entry a while ago where on a 256MB RAM machine someone was able to dedupe 600GB down to 400GB and the performance was fine. This is much unlike ZFS which wants the entire dedupe tree in memory and requires gigs and gigs of RAM.

    1. Re:Dragonfly BSD's HAMMER... by Anonymous Coward · · Score: 0

      Second this

    2. Re:Dragonfly BSD's HAMMER... by TheRaven64 · · Score: 4, Funny

      No, that's the opposite of deduplication...

      --
      I am TheRaven on Soylent News
    3. Re:Dragonfly BSD's HAMMER... by Anonymous Coward · · Score: 0

      Yup, I use it on my Backup Server for Production.
      Here are some real world figures.

      http://leaf.dragonflybsd.org/mailarchive/users/2011-07/msg00023.html
      http://leaf.dragonflybsd.org/mailarchive/users/2011-07/msg00026.html
      http://leaf.dragonflybsd.org/mailarchive/users/2010-09/msg00083.html

  3. FreeBSD by Anonymous Coward · · Score: 0

    Combines a bright future and ZFS

    1. Re:FreeBSD by kthreadd · · Score: 1

      Question is how bright the future will be with Oracle effectively going their own way with ZFS.

    2. Re:FreeBSD by Anonymous Coward · · Score: 0

      One day, some ZFS version on FreeBSD will be able to make coffee. (given enough RAM)

    3. Re:FreeBSD by TheRaven64 · · Score: 5, Informative

      As I said in another post, ZFS development on FreeBSD is now funded by iXSystems. Given that most of their income is from selling large storage solutions built on top of FreeBSD and ZFS (often with a side order of FusionIO and other very expensive hardware things), they have a strong incentive to keep it stable and full of the features that their customers want.

      --
      I am TheRaven on Soylent News
    4. Re:FreeBSD by Guspaz · · Score: 1

      It means, however, that ZFS is now forked. ZFS volumes from future Solaris releases may be incompatible with future versions of FreeBSD (or IllumOS or whatnot). And the new approach that they're taking to define which new features are supported is flexible, but opens the door to situations where you can't mount a filesystem because your OS is missing some individual feature that the devs chose not to implement (ZFS currently goes by backwards compatible versions of the filesystem, the new forked version works based on feature flags).

      To be honest, I don't see the latter being much of a problem, but the former (lack of inter compatibility with "official" ZFS) is annoying. Perhaps the forked version should change the name to something other than ZFS to avoid confusion.

    5. Re:FreeBSD by Anonymous Coward · · Score: 1

      It appears you aren't aware of the fact that very key members of the ZFS developers community (read: kernel code hackers) on FreeBSD have regular and direct interaction with folks doing IllumOS. Martin Matuska (mm@freebsd.org) is currently the front-man for this task.

      It's all presented and documented publicly on the zfs-devel mailing list on freebsd.org. Read it if you wish. Check out November 2011, for example.

      So, there is a sharing of ideas, code, and implementations/models on a regular basis. Therefore, the only "beast" you need to worry about is interoperability between ZFS on Solaris (meaning Oracle's commercial product) and ZFS on IllumOS/OpenIndiana or ZFS on FreeBSD. Got it? Good. :-)

    6. Re:FreeBSD by MightyYar · · Score: 1

      It means, however, that ZFS is now forked.

      True, but this is only a problem if you were planning on ever getting Oracle gear... since this is about free solutions, that shouldn't be an issue :)

      Besides, the current ZFS implementation in FreeBSD is compatible with Oracle's version - so it's not currently a practical concern.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    7. Re:FreeBSD by Guspaz · · Score: 1

      I'm aware of all this, and I think that generally it can work out well, but it doesn't guarantee future compatibility if somebody wants to go and do their own thing and then that thing becomes popular. And the interoperability between ZFS and Solaris was my primary concern, although to be honest I'll probably never run "real" Solaris again since it's not free anymore, so I probably shouldn't care about that either.

  4. slashdot by denvergeek · · Score: 1

    changelog == stagnated

  5. Nexenta by Anonymous Coward · · Score: 0

    ...ever heard of it?

    1. Re:Nexenta by MatthewEarley · · Score: 1

      Yes and currently using the CE version. It is native ZFS version 15 due to the fact that it is running on OpenSolaris. I chose Nexentastor CE for this reason. Excellent performance, great GUI, available CLI and access to the underlying file system with a few commands. Run the 64-bit version, as it chokes in 32-bit. The HCL is small, you will have to spend time reading the OpenSolaris HCL. It took me a few tries to get the hardware right, MB, CPU, memory, JBOD controllers. I am glad I went through the trouble, I learned a lot and most importantly got away from HW RAID which is inferior in performance, has no dedupe, and does not detect bitrot.

  6. Acronis by syousef · · Score: 2

    Acronis Backup & Recovery 11 Advanced Server has deduplication (licensed addon) and runs on Linux. At roughly $2000 it ain't cheap. I've never used it so can't comment on how well it does.

    --
    These posts express my own personal views, not those of my employer
    1. Re:Acronis by Anonymous Coward · · Score: 2, Informative

      Acronis is a bloody NIGHTMARE to deal with. We have a mixed shop here, and after seeing what Acronis does on Windows I vetoed the idea of having it on our mission critical linux servers.

      I have never seen such a useless backup product before I started working with Acronis. Most backup systems let you set it up once and they WORK. Acronis is always getting itself wedged (dur, a metadata file I miswrote yesterday is corrupt, I will just hang), and when wedged it hangs ALL backup jobs, not just the one that is stuck. And the only "fix" is to redo all the jobs from scratch. No other backup system needs as much handholding as Acronis.

      Acronis claims to have an excellent recovery environment. I haven't used it, but I am sure it is fantastic when you finally dig up a month-old backup to restore from because Acronis had stopped working.

    2. Re:Acronis by Anonymous Coward · · Score: 1

      Test your backups because there is a good chance they will not work. I say this as an experienced user of Acronis B&R 11 Advanced. Total garbage.

    3. Re:Acronis by sco_robinso · · Score: 1

      Never used a product that required as much handholding? I see you've never used Backup Exec.

      I've been having to hand-hold backup exec for the better part of a year now. We more or less finally have it working, but I wouldn't speak to highly of it.. We use BE's dedup features, and while it seems to work reasonable well, one day we went to make a standard administrative change to the folder (sharing it within BE to another media server), a *poof*, all of the data got corrupted. A week on the phone with Symantec and they couldn't figure out why.

      It's also RAM hungry. Symantec requires 1.5GB of RAM of every 1TB of dedup storage. RAM is cheap though, so not a big deal for me.

      Never used Acronis in production, though. Demo'd it, seemed OK, but also came across as somewhat amatuer (came across as a home user product that was stretched beyond imagination to work in an enterprise environment).

      I eventually have gone to Veeam. It only does virtual and only backs up to disk (no tape support), but man o man is it ever fast and easy (and reliable).

    4. Re:Acronis by arth1 · · Score: 3, Informative

      In Linux, I would avoid any backup system that doesn't support hard links, long paths, file attributes, file access control lists and SElinux contexts.
      Some of the "offerings" out there are so Windows-centric that they can't even handle "Makefile" and "makefile" being in the same directory.

      In Windows, I would require that it backs up and restores both the long and the short name of files, if short name support is enabled for the file system (default in Windows). Why? If "Microsoft Office" has a short name of MICROS~3 and it gets restored with MICROS~2, the apps won't work, because of registry entries using the short name.
      I'd also look for one that can back up NTFS streams. Some apps store their registration keys in NTFS streams.

      In all cases, Acronis does not measure up to what I require of a backup program. Also because the restore environment doesn't even work unless you have hardware compatible with its drivers. You may be able to back up, and even boot the restore environment, but not do an actual restore from it.

      ArcServe is better - for Linux, it still lacks support for file attributes and the hardlink handling is rather peculiar during restore, but at least handles SElinux and dedup of the backup.

      An option for dedup on Linux file systems would be nice - the easiest implementation would be COW hardlinks. But like for Microsoft's new NTFS, you'd need something that scans the file system for duplicates. And it better have an attrib for do-not-dedup too, because of how expensive COW can be for large files, or to avoid file fragmentation for specific files.

    5. Re:Acronis by Anonymous Coward · · Score: 0

      In Windows, the do-not-dedup flag is set by directory or extension, not by attribute. It's just like with most backup and antivirus programs.

      dom

    6. Re:Acronis by strikeleader · · Score: 1

      Veeam for VM's is the way to go and oh by the way, it also does dedupe.

    7. Re:Acronis by MrNthDegree · · Score: 1

      Ext3 has COW patches: http://www.ext3cow.com/ext3cow/Welcome.html (available now! PATCH YO KERNEL DAMNIT!)

      NILFS2 is a filesystem that supports infinite snapshots, provides partial dedup and will work towards providing more (no patches needed!)

      BTRFS is working on dedup support... (best bet!)

    8. Re:Acronis by jd2112 · · Score: 1

      Acronis Backup & Recovery 11 Advanced Server has deduplication (licensed addon) and runs on Linux. At roughly $2000 it ain't cheap. I've never used it so can't comment on how well it does.

      At $2000 it is cheap. Ever price a Data Domain?

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    9. Re:Acronis by Anonymous Coward · · Score: 3, Informative

      We check backups and run a test restore on each and every server every month (we had this rule before we started with Acronis).

      Acronis is awful. Frankly, someone should open a fraud investigation. Acronis products have no business being sold as enterprise backup solutions. Fucking ntbackup is far more reliable.

      Right NOW I am wrestling with Acronis Backup & Recovery 11's retarded cousin, Acronis Recovery for Microsoft Exchange. I seriously want to sue the sadistic and incompetent assholes at Acronis for all the pain and suffering they are causing.

    10. Re:Acronis by jd2112 · · Score: 3

      I've never used any backup solution on any platform that wasn't a complete pice of crap. Backing up to /dev/null is much faster and only slightly less reliable for restores.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    11. Re:Acronis by DavidTC · · Score: 1

      The best backup solution is a damn rsync script that replicates to another server.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    12. Re:Acronis by sexconker · · Score: 1

      Acronis works fine for me.

      I do a daily, full-disk backup to an external drive, excluding *.bt! and the steamapps folder, as well as whatever defaults Acronis uses for temp files.
      Acronis writes out a full file every once every 2 weeks, and incremental files the rest of the time.
      It keeps the last 2 months of backups before wiping them out.

      I have indeed used my backups to restore. It's as simple as sticking the disc in (easier than finding a blank USB drive, keeping one for Acronis, or trying to finagle it into UBCD), booting to it, selecting Acronis True Image, and then selecting Restore FROM External TO Internal, and waiting 20-40 minutes.

      The only problem I have with Acronis is that it likes to name my backups oddly (Full Backup, Full Backup - 2, ... Full Backup(1), Full Backup(1) - 2, ...), and that it seems to adjust the scheduled time randomly by a few minutes. Though I think this may be some sort of security features, many virus scanners wobble their update and scan times as well.

    13. Re:Acronis by afabbro · · Score: 1

      The best backup solution is a damn rsync script that replicates to another server.

      Yes, because that provides the ability to restore previous backups, and if someone makes a mistake on the primary, the problem does not wipe out your only good copy, and...

      Oh wait...

      --
      Advice: on VPS providers
    14. Re:Acronis by amorsen · · Score: 1

      Apart from the history challenges which are quite easily solved, this solution has problems with SELinux as well as ACL's.

      --
      Finally! A year of moderation! Ready for 2019?
    15. Re:Acronis by travisco_nabisco · · Score: 1

      Thank goodness I am not the only one who has nightmares about Backup Exec.

      A few years ago I took over IT duties at a small company that was using Backup Exec. I was assured that everything had been tested with restores and was working correctly, and technically it was. However when we had a two disk crash in the RAID 5 array Backup Exec was useless because it took so long to index the backup archives before a recovery that we were managed to get our RAID array remounted in read-only and pull all the data, 4+TB, off of it before Backup Exec was able to do anything.

      We were able to use Backup Exec to recover most of the files that had gotten corrupted with the disk crashes, but it should not take a week to get to the state where your backups are usable. And Symantec's tech support was next to useless.

      Fortunately I am no longer at that company and someone else can deal with the mess that they refuse to pay to fix.

    16. Re:Acronis by Anonymous Coward · · Score: 0

      > Yes, because that provides the ability to restore previous backups, and if someone makes a mistake on the primary, the problem does not wipe out your only good copy

      rsync can trivially do both those things. Why the sarcastic tone?

    17. Re:Acronis by Anonymous Coward · · Score: 1

      We have been using Commvault for about 5 years now and I have very few complaints. We use it to backup to fiber attached StoragTek tape libraries, various fiber and SCSI HP libraries, and to various disk arrays. The deduplication is a little pricy for us so we only selectively use that feature. We have dabbled with the VM integration of Commvault but we decided to stick with home brew VCB and Veeam for that for now. We have about 700 windows servers in 15 offices around the world and all backup activity and clients are managed from one single Commvault console, including the offsite tape management. Local people import and export tapes but that is the only thing done outside that one console.

    18. Re:Acronis by Anonymous Coward · · Score: 0

      Rdiff anyone? Rsync with point in time restores. Good stuff.

    19. Re:Acronis by Electricity+Likes+Me · · Score: 1

      rdiff-backup in my experience is just too slow, at least when messing around with it on my home server.

      That might be fine, but the longer it takes the greater chance of getting files changing while the backup is going on - which means you need a snapshot system (and if you have that, you don't need rdiff-backup).

    20. Re:Acronis by B2382F29 · · Score: 1

      That is why you don't use rsync alone but something like rdiff-backup http://nongnu.org/rdiff-backup/

      That way you have the current status as a 1:1 copy (like with rsync) but also have all previous backups as reverse diffs.

      --
      Move Sig. For great justice.
    21. Re:Acronis by geoffaus · · Score: 2

      If I had points I would mod you up. Acronis is barely useable when backing up to a NAS and forget about it to tape - at my work we replaced it at all sites with various Symantec products and I can now sleep much better. Maybe people knock Backup Exec but ive recently restored a SAN full of VMs when HP wiped the metadata from the disks and it performed perfectly - I believe all backups need constant monitoring and testing however BE has saved my bacon so im pretty happy with it.

      --
      As an online discussion grows longer, the probability of a reference to Godwin's Law approaches 1
    22. Re:Acronis by mishu2065 · · Score: 1

      Try rsnapshot. Based on rsync, but does incremental backups and allows you to restore any one of them. Still doesn't fix the de-dup issue though, but neither does rsync.

    23. Re:Acronis by GameboyRMH · · Score: 1

      BTRFS is working on dedup support... (best bet!)

      It's possible to dedupe already using shellscripts. I saw one yesterday that does it but it was horrifically inefficient. It used slow-ass SHA hashes and didn't even check to see if files were the same size before hashing. I'm going to make a fast one that checks the size first and uses CRC hashes by the weekend. I've been experimenting with btrfs on one of my external backup drives.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    24. Re:Acronis by GameboyRMH · · Score: 1

      I refuse to use any of those file-system-imaging backup solutions. I use rsync on Linux and robocopy+vshadow on Windows. Want to store increments so you can roll back? Backup to a snapshotting filesystem.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    25. Re:Acronis by Anonymous Coward · · Score: 0

      The discussion is about backup enterprise systems, not your home desktop computer.

    26. Re:Acronis by Anonymous Coward · · Score: 0

      when we had a two disk crash in the RAID 5 array Backup Exec was useless because it took so long to index the backup archives before a recovery that we were managed to get our RAID array remounted in read-only and pull all the data, 4+TB, off of it before Backup Exec was able to do anything.

      We were able to use Backup Exec to recover most of the files that had gotten corrupted with the disk crashes, but it should not take a week to get to the state where your backups are usable.

      Travis...I am curious as to your experience with BE. I am a product manager for BE and am always looking to learn more about user experiences with our product. What version were you using? What solution do you use now that you prefer? What are the reasons for your preference?

    27. Re:Acronis by Anonymous Coward · · Score: 0

      The best backup solution is a damn rsync script that replicates to another server.

      Yes, because that provides the ability to restore previous backups, and if someone makes a mistake on the primary, the problem does not wipe out your only good copy, and...

      Oh wait...

      You know, those "scripts" can do some awfully fancy things. Here's an example: backup to different directories on the server each day and use the --link-dest argument to rsync to skip backing up unchanged files.

    28. Re:Acronis by cyberchondriac · · Score: 1

      I've never used any backup solution on any platform that wasn't a complete piece of crap.

      I'll second this, to a degree. Backups are generally nightmares, especially in a mixed environment like I have -NetWare, Linux, and Windows. IT people who don't have to work with them tend to think backups aren't much more than a simple data copy, what could be easier, right? But they require constant handholding, and troubleshooting; they're very IO intense and highly sensitive to any glitch in the OS or network: I've used ARCserve, Arkeia, and Backup Express (Syncsort) - still sticking with the latter though that's been a rough ride at times too.

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    29. Re:Acronis by sco_robinso · · Score: 1

      when we had a two disk crash in the RAID 5 array Backup Exec was useless because it took so long to index the backup archives before a recovery that we were managed to get our RAID array remounted in read-only and pull all the data, 4+TB, off of it before Backup Exec was able to do anything.

      We were able to use Backup Exec to recover most of the files that had gotten corrupted with the disk crashes, but it should not take a week to get to the state where your backups are usable.

      Travis...I am curious as to your experience with BE. I am a product manager for BE and am always looking to learn more about user experiences with our product. What version were you using? What solution do you use now that you prefer? What are the reasons for your preference?

      I'm one of the higher up OP's.

      I currently use 2010 R3 SP1. I've been using backup exec for about the past 5 years (since around 10d) - mostly because the reputations of competing products are even worse (eg Tivoli, ArcServe, etc). BE works well enough I suppose, but essentially, it's a constant battle. Even in a farly straight forward all-windows environment (around 30 servers, 500 employee company), it takes months and months of fighting and troubleshooting to get backups firing off error free. I installed 2010 last march (March 2011), and only about now (Jan 2012) is it finally running smoothly. But this is also after about 20 support cases, and a lot of lost data from deduplication corruption.

      Here's the thing - most things are virtual now, and there's a LOT better products out there these days for VM backup. Veeam is probably the one that comes to mind. Granted, it doesn't necessarily have all of the bells and whistles of BE, but for virtual, it often doesn't matter. Backing up my VMs in BE takes about 2 full days (incremental, the better part of a week for full backups). Veeam's full (not incremental) backups take about 3h.

      Support is another issue. Even when the case is marked as critical, you end up spending 2-3 days troubleshooting the issue with a basic tier 1 tech out of India or Argentina. This is all well and fine, but it's always a good 3-4 days until you start getting into REAL troubleshooting with REAL techs that know what the root causes are and can dig down. Basically, no matter what the issue, you know it's not going to get resolved for at least 4-5 days, even if its critical.

      Renewals, another big problem. So we have BE and the standard suite of a half-dozen options/agents (SQL, sharepoint, dedupe, etc). Last year (mid-late 2011), it took us about 3 months to get Symantec to properly quote us renewals. And this was with 2 different (big) Symantec partners. They all complain that it takes you guys WEEKS just to get simple quotes out. For a software sales company, you guys seem to have problems SELLING SOFTWARE. What should have taken a day or two took months.

      At my current shop we use BE, but needless to say we're looking for alternatives. We just don't want to fight with Symantec for another year. And when 201x comes out, we don't want to re-install it, and fight with it again for another year with a whole new batch of issues. Especially considering alternative backup products (veeam, vranger) I can have fully set up, tested, and running in production in a day or two (for 1/4 the price).

      And honestly, this doesn't just seem to be my opinion alone. Every IT conference/meet-up/trade-show I go to, EVERYONE seems to say the same thing about BE. In fact, when I went to the 2010 launch, just about everyone there was asking questions like 'This new XYZ feature sounds great, but I'll probably have to fight it for the better part of a year to get it working properly'. Quite a number of people piped up about how lousy new releases are.

      My generic suggestions specifically with BE would be get on the ball with VM - you guys need to re-write your VM backup code from the ground up. Sure you guys are decent at backup of

    30. Re:Acronis by DavidTC · · Score: 1

      I don't really understand there would be problems with ACLs, my copy of rsync can preserve those.

      As for SELinux, I don't use that, but I thought those were stored in extended attributes, and hence rsync would catch those if you told it to?

      Or do you mean problems on the other end? I can see how assigning random security contexts to files might cause weird backup problems if the server you're backing up to is also running SELinux.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    31. Re:Acronis by DavidTC · · Score: 1

      rdiff-backup is what I used to use, before I decided it was, frankly, too much work to try to get files out of. And it kept hanging and making me delete everything.

      Now it's just a basic script that puts each day in a new directory, with hardlinks to unchanged files from the previous day, and something to delete old directories.

      And getting files out of it is a standard cp command.

      --
      If corporations are people, aren't stockholders guilty of slavery?
    32. Re:Acronis by DavidTC · · Score: 1

      My God, I forgot I was really stupid and couldn't solve that with the aforementioned 'script' that I was running rsync from to put each backup in a new directory and --link-dest= it to the last backup!

      --
      If corporations are people, aren't stockholders guilty of slavery?
    33. Re:Acronis by amorsen · · Score: 1

      I can see how assigning random security contexts to files might cause weird backup problems if the server you're backing up to is also running SELinux.

      Exactly. Also, that server will try to relabel the files as appropriate for its SELinux setup. There are various file attributes you don't really want on a backup server either, and you certainly don't want device files floating around with strange ownerships.

      --
      Finally! A year of moderation! Ready for 2019?
    34. Re:Acronis by tepples · · Score: 1

      In Windows, I would require that it backs up and restores both the long and the short name of files, if short name support is enabled for the file system (default in Windows).

      All backups including both the correct LFN and the correct SFN would have to be processed exclusively on a Windows machine because Microsoft charges a significant sum for a patent license for proper long file name support. I remember reading an article in LWN about how Linux works around the exact claim wording in the VFAT patent: each file in a folder on a FAT file system has a unique value in the short filename field, but none of them is a valid MS-DOS short filename.

    35. Re:Acronis by phoenix_rizzen · · Score: 1

      Rsync to a system running ZFS, with dedupe enabled. Works beautifully.

      Our primary FreeBSD+ZFS+Rsync backups server has a combined dedup+compression ration of 5.5x at the moment (26 TB of disk space used, meaning over 125 TB of data in the pool). With daily snapshots allowing for easy file recovery from any previous day, and simple server restore (boot off livecd, partition, rsync from backups server). And then it pushes the previous day's backup out to a replication server off-site.

      The only downside is that the above really only works with Unix-like systems. Trying to use rsync on Windows is not so fun.

    36. Re:Acronis by Keybounce · · Score: 1

      What *was* wrong with backup exec? Why did I stop using it?

      Well, first, I'm not sure that I have stopped using it. NtBackup, as seen in XP, looks frightfully like it. Fortunately (unfortunately?), it has not managed to make a good backup in years.

      I currently use rsync with a bunch of args (including fake-super on the destination, and one to fake attributes in extended args) to an HFS, and then Time Machine that HFS.

      Backup Exec had a bunch of problems. The two that I remember where:
      1. Demonstrated failure to restore short names properly. This wasn't trivial or theoretical -- this *BIT* me, hard.
      2. Absolutely no email support worth anything. Complaints may as well have gone to /dev/null. Not even a form letter acknowledging the submission, followed by a second form letter saying "The devs have looked into your issue and will address it in a future release."
      3. The backup exec that I was using came with my cartridge tape drive system. It was a "free" edition, meaning that it was included in the price -- oh yea, back then it was seagate backup exec, and it was a seagate tape drive. One of those semi-random access (some seek time, but with 40 or 50 tracks, much less than the full backup size) streaming tapes.

      4. No support for saving data except into single files, or multiple tapes. Once the tape drive was retired, could I use this to save to multiple DVD's? Nope. Incrementals were fine -- they'd fit on a single DVD. But the initial backup? Bleep.

      Rsync and Time Machine probably lose the short file names.
      The truth is, I haven't seen a single backup program that claims to keep those.
      Heck, I haven't seen a backup program that claims to track hard links (need to check Time Machine ... how does it's heavy use of hard links affect user hard links?)

    37. Re:Acronis by Anonymous Coward · · Score: 0

      Nah man, back up to /dev/null restore from /dev/urandom. Its much easier to point at a EM emitter of some sort ( cable/ TV/Radio/Tesla coil) and blame on "corruption".

  7. BSD by Anonymous Coward · · Score: 0

    FreeBSD (ZFS) or DragonFly BSD's HAMMER FS perhaps?

  8. ZFS != OpenSolaris by Anonymous Coward · · Score: 0

    I do believe FreeBSD also supports ZFS.

  9. OpenSolaris but not FreeBSD? by TheRaven64 · · Score: 3, Informative

    ZFS in FreeBSD 9 has deduplication support. I've been running the betas / release candidates on my NAS for a little while (everything important is backed up, so I thought I'd give it a test). ZFS development in FreeBSD is funded by iXSystems, who sell expensive NAS and SAN systems so they have an incentive to keep it improving.

    I have a ZFS filesystem using compression and deduplication for my backups from my Mac laptop. I copy entire files to it, but it only stores the differences.

    --
    I am TheRaven on Soylent News
    1. Re:OpenSolaris but not FreeBSD? by Anonymous Coward · · Score: 1

      Seeing as nobody else has inquired: What are your system stats cpu and especially memory/harddisk-wise?

      I've been curious about that, since min requirements for OpenSolaris/Indiana are 768 megs of ram, and the boot cds won't load on less.

      Someone further up mentioned DragonFlyBSD's HAMMER filesystem supporting hundreds of gigabytes of dedup processing on a 256 meg system, so hearing some real-world usage statistics from someone running FBSD/ZFS would be appreciated!

    2. Re:OpenSolaris but not FreeBSD? by Anonymous Coward · · Score: 4, Informative

      People considering either dedup or compression on FreeBSD should be made blatantly aware of one of the issues which exists solely on FreeBSD. When using these features, you will find your system "stalling" intermittently during ZFS I/O (e.g. your SSH session stops accepting characters, etc.). Meaning, interactivity is *greatly* impacted when using dedup or compression. This problem affects RELENG_7 (which you shouldn't be using for ZFS anyway, too many bugs), RELENG_8, the new 9.x releases, and HEAD (10.x). Changing the compression algorithm to lzjb has a big improvement, but it's still easily noticeable.

      My point is that I cannot imagine using either of these features on a system where users are actually on the machine trying to do interactive tasks, or on a machine used as a desktop. It's simply not plausible.

      Here's confirmation and reading material for those who think my statements are bogus. The problem:

      http://lists.freebsd.org/pipermail/freebsd-fs/2011-October/012718.html
      http://lists.freebsd.org/pipermail/freebsd-fs/2011-October/012752.html

      And how OpenIndiana/Illumos solved it:

      http://lists.freebsd.org/pipermail/freebsd-fs/2011-October/012726.html

    3. Re:OpenSolaris but not FreeBSD? by Guspaz · · Score: 2

      ZFS deduplication works on a block level, so it's not only storing the differences. That would require byte-level deduplication.

      For example, imagine I had a block size of two bytes, and had the following two files:

      02468A
      012468A

      These two pieces of data are identical except for one inserted byte, but deduplication will be forced to store both files in their entirety. Why? Because even though only one byte changed, none of the blocks are identical:

      02 46 8A
      01 24 68 A-

      This is a fairly common case in many kinds of modified files. Imagine trying to deduplicate ISOs where one file in the middle of the ISO changed, or a word processor document where I fixed a typo by adding an extra letter to a word...

      Don't get me wrong, there is still a big savings to be had in the average case with block-level deduplication, but there are limitations.

    4. Re:OpenSolaris but not FreeBSD? by TheRaven64 · · Score: 4, Interesting

      I've got 8GB of RAM in the machine - RAM is so cheap now that it didn't seem worth skimping. It's a 1.6GHz AMD Fusion system. Over GigE, I was getting 40MB/s writes to the deduplicated filesystem, with the load on one core about 100%.

      ZFS definitely likes RAM. I'm not sure what the minimum requirements are, but the general recommendation is 'as much as you can afford'. I think 8GB of SO-DIMMS for the mini-ITX board cost about £40, and maxed out its memory, so that was a pretty obvious choice. I'm not sure what happens when the deduplication tables don't fit into RAM, whether it degrades performance or degrades deduplication efficiency. Having 8GB means that a lot of the time it can satisfy reads from RAM.

      I'm using it over WiFi 99% of the time, so I'm not too bothered about the performance: it can easily saturate the WiFi link without any problems. . The compression ratio is 1.11x. ZFS only shows the deduplication ratio for the entire pool, not for individual filesystems. That's currently 1.06x for my system, but that's with 1.43TB of data in total, only 266GB on the deduplicated filesystem, so that means that it's saving about a third. Roughly speaking, the extra space used by RAID-Z and the space saved by dedup seem to balance each other out, so (on my backup filesystem) I am using 1GB of hard disk space for every 1GB of data, and still have redundancy so one disk out of the three can fail without losing any data.

      Time Machine on OS X does clever things like make a new copy of a 10GB file if 1MB of it has changed, and the deduplication on the NAS translates to a huge space saving for that. For things like DV footage, I don't bother with the dedup.

      --
      I am TheRaven on Soylent News
    5. Re:OpenSolaris but not FreeBSD? by TheRaven64 · · Score: 2

      In my cases, the biggest files are VM images. In this case, it is only storing the differences, because changing a few files in the VM only modifies a few blocks of the image but causes Time Machine to create a new backup copy of the entire image. This means that it's backing up 10GB files quite regularly, but I'm only storing a few MBs for each one.

      --
      I am TheRaven on Soylent News
    6. Re:OpenSolaris but not FreeBSD? by Freultwah · · Score: 1

      So for now, let's not use compression on write-heavy volumes, where it adds next to benefit anyway. Problem solved or at least circumvented, no?

    7. Re:OpenSolaris but not FreeBSD? by Doogie5526 · · Score: 2

      That's why Apple swapped their monolithic data blobs (for iPhoto, Aperture, etc) in to smaller files when Time Machine was released--like Sparse Bundle Disk Images, for example. Since the data is banded across multiple files, when some data is changed, you only need to back up the affected bands. I believe they marketed this as "Time Machine Aware" and advised third-party apps to adopt this approach. I thought Time Machine's approach was clever given the constraints of a traditional file system (in lieu of using something like zfs).

    8. Re:OpenSolaris but not FreeBSD? by Solandri · · Score: 1

      For example, imagine I had a block size of two bytes, and had the following two files:

      02468A
      012468A

      These two pieces of data are identical except for one inserted byte, but deduplication will be forced to store both files in their entirety.

      What you are getting at is dictionary-based compression. You search for repeating sequences of bytes (or bits), then substitute their byte-representation with a shorter one. The longest sequences which show up most frequently get substituted to the shortest byte-representations, thus resulting in space savings (compression). Short but infrequent sequences (e.g. if the letter 'Z' only shows up once) get mapped to a longer byte-representation; so there's data expansion going on there. But the net effect of the two is compression (except possibly in data which has already been compressed).

      Since that's just compression, you can achieve it by running your tar file through lzip or compress (bzip2 uses Huffman encoding, which is similar but different). In that respect, the difference between compression and deduplication is not that there are some things deduplication cannot do which compression can. It's that deduplication happens at a different level in the filesystem. Deduplication happens between different files (or blocks); compression happens within a single file, and compressed archive formats like zip and tgz do both.

      If you were able to store your entire filesystem in a single compressed tar file, and run disk I/O by dynamically decompressing just the portions of the tar file which had the data you needed, you'd be getting the best of deduplication and compression. Viewed this way, deduplication is just a form of run length encoding compression between files rather than within a file. Instead of compressing the sequence AAA down to 3A, you compress 3 identical copies of File down to 3File.

      Getting back on topic, I have the Linux version of ZFS running on my file server (which gets its own backups so I'm not too worried about data loss). I had to turn deduplication off though because of performance problems. Reads were fine, but writes to my RAID-Z went from about 120 MB/s down to below 20 MB/s. And more importantly, it didn't mix well with Samba causing writes to the file server from Windows boxes to frequently time out. This was on an i5 w/ 8GB of RAM, so the hardware was more than up to the task. The files I store don't deduplicate much anyway, so it was easier just to turn it off than to try to figure out the cause. (I tried FreeNAS too, but I wanted to be able to do other stuff with the fileserver, not just have it serve files.)

    9. Re:OpenSolaris but not FreeBSD? by rrohbeck · · Score: 1

      You can also do dedup at the stream level. It's patented by Quantum and Data Domain has a license.
      Data streams are cut up into short strings and those strings are compressed and stored in a huge hash table. Doing the cutting-up in such a way as to get good results is the trick.

    10. Re:OpenSolaris but not FreeBSD? by Guspaz · · Score: 1

      I understand the concepts behind compression, I was just pointing out the limitations of block-based deduplication... It only works optimally when your writes are block-aligned, and it only works decently when you're not inserting or removing data from the middle of a file. Archive-based compression rarely works in many of the places that you'd use deduplication.

    11. Re:OpenSolaris but not FreeBSD? by Anonymous Coward · · Score: 1

      Spot on, which is why the good dedup solutions (avamar, datadomain basically) uses variable block size, using an algorithm to figure out where to draw the lines to get optimal size reduction. Dedup on fixed size blocks, like ZFS, is cheap, but not even close to the real deal.

      Now give me an in-line dedup solution with variable block size that's not costing a fortune, pref open source, pretty please.

    12. Re:OpenSolaris but not FreeBSD? by ThorGod · · Score: 2

      So for now, let's not use compression on write-heavy volumes, where it adds next to benefit anyway. Problem solved or at least circumvented, no?

      Yeah, and ZFS is still a major new feature to FreeBSD, regardless. I know people in the FreeBSD forums talk about running ZFS on root, but if you don't have the hardware you shouldn't run ZFS. We're in Unix land here, the OS isn't going to keep you from doing anything...but that doesn't mean you should!

      --
      PS: I don't reply to ACs.
  10. ZFS by Anonymous Coward · · Score: 0

    Why dont you look at Nexenta? That's all the goodness of open indiana, zfs and dedupe with the backing of a strong commercial organization.

  11. Roll your own? by goombah99 · · Score: 1

    you could run a nightly script to find duplicates and then deduplicate them.

    an example of this would be find all new files since the last run, checksum them and compare this to the checksum of all previously examined files. Once you find the likely duplicates you can decide how careful you want to be about verifying identity of both data and meta data. For example, do you want to preserve the attribute dates if the data is identical? for some programs the creator dates matter. Likewise file permissions might be different.

    once you find the duplicate then just erase one of them and create a hard link to the other if it's on the same filesystem or, if you dare, a softlink to the file on another filesystem.

    This is not hard, and it very closely approximates what Netapp and Apple TimeMachine do.

    Alternatively, if what you are really trying to do is not elminate duplicates in an active file system but merely keep snapshots for backup then the problem is much simpler.

    on BSD unix:
    ms snapshot oldsnapshot
    mkdir snapshot
    cd snapshot
    find -d ../oldsnapshot | cpio -dpl -
    rsync -aE source/ ./

    where ../oldsnapshot is the old backup of your data
    snapshot is the new backup
    source is the thing you want to backup.

    voila you have an endless set of snapshots in which no file is ever duplicated. However, metadata like file ownership and unix flags are not preserved in the old snapshots.

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Roll your own? by timeOday · · Score: 1

      an example of this would be find all new files since the last run, checksum them and compare this to the checksum of all previously examined files

      Block-level (rather than file-level) de-duplication would be drastically better for virtual machine images, which are most of the largest files I back up. Email spool files (or pst files) are another example of large files that tend to change only in portions of them.

    2. Re:Roll your own? by mhotchin · · Score: 1

      Think about things line Virtual Machine images - they could have a *lot* in common, but not everything. DeDupe gets useful once you can work at a sub-file level.

    3. Re:Roll your own? by leonbloy · · Score: 1

      Dirvish does exactly this.

    4. Re:Roll your own? by Guspaz · · Score: 1

      So long as you never add or remove data from the middle of the file, sure. Otherwise a one byte change in either direction can require re-storing all the rest of the unchanged data because it might not line up on the same block boundaries.

    5. Re:Roll your own? by Medievalist · · Score: 1

      Nah, dirvish uses the native rsync --link-dest, which is easier.

    6. Re:Roll your own? by TheRaven64 · · Score: 1

      Not for the two that he talked about. VM disk images contain filesystems, so they are perfect for deduplication (as I'm seeing on my NAS). If you modify 10MB in a VM disk image, then you will modify 10MB of blocks (possibly some more, depending on the filesystem), but you definitely won't be re-storing the entire thing. For mail spools, the common format for spools-in-a-single-file is mbox, where (precisely to avoid the problem you're talking about, where a small change generates a huge amount of I/O), new emails are appended to the file and mails that are deleted are not actually removed, they're just marked as not-present until a lot of space is wasted and only then is the entire file rewritten. Incremental backups of both gain a lot from dedup.

      --
      I am TheRaven on Soylent News
    7. Re:Roll your own? by nullchar · · Score: 2

      Hard links are awesome, but they're limited to a per-file basis. SDFS and other block-level de-dupers will only store unique blocks. E.g. storing multiple virtual machine images -- as each image is one huge file, hard links do nothing.

    8. Re:Roll your own? by Guspaz · · Score: 1

      Certainly, there are many scenarios where block-level deduplication does wonders. It just doesn't work well in all cases. For example, trying to use deduplication to store incremental database backups. Record sizes are not fixed in a sql dump, so you're likely to waste large amounts of space for small differences. I do use ZFS deduplication to store incremental backups from a variety of machines, and generally it works well, but the SQL dumps were one of the annoying bits.

    9. Re:Roll your own? by rrrlasse · · Score: 1

      Even block level deduplication has its limitations: It's true that it will only store the modifications (at block gannularity, though) of one VMDK file during an incremental backup. However, many companies are storing multiple VMDKs (many have 1000+), and these share many common system and application files. But they will be typically be located at random and mutually different byte offsets inside the VMDK files, so normal block level deduplication will not detect it. Same goes for attachments in mail servers (like, Exchange 2010 no longer supports single instance storage of mails and attachments). In these cases you need sliding window deduplication like rsync or http://www.exdupe.com/ Basically, block level deduplication works well between one backup set and an incremental set. Sliding window deduplication works well both within one backup set and between sets.

    10. Re:Roll your own? by atamido · · Score: 1

      Certainly, there are many scenarios where block-level deduplication does wonders. It just doesn't work well in all cases. For example, trying to use deduplication to store incremental database backups. Record sizes are not fixed in a sql dump, so you're likely to waste large amounts of space for small differences. I do use ZFS deduplication to store incremental backups from a variety of machines, and generally it works well, but the SQL dumps were one of the annoying bits.

      Our online backups for databases are primarily snapshots of the volumes that host the databases. Because of dedupe + snapshots, the space and time for the online backups are negligible. If I have to restore the database to yesterday, we stop the service, restore the volume to a snapshot (a few seconds), and start the service. The space used for offline backups certainly isn't efficient, but that's much cheaper storage so it doesn't matter.

    11. Re:Roll your own? by Medievalist · · Score: 1

      Very good point! Things like time machine, dirvish, my own recipe, they all deal quite poorly with giant image files.

      Often such files are compressed on the fly at creation time, too, so they may get very little benefit from de-duping at the block level, either. Depends on your compression algo...

  12. FreeBSD has ZFS by grub · · Score: 3, Informative


    FreeBSD, and FreeNAS which is bases on FreeBSD, both come with ZFS. Neither is going away anytime soon.
    I use both at home and am happy as a clam.

    --
    Trolling is a art,
    1. Re:FreeBSD has ZFS by Anonymous Coward · · Score: 0

      I was happy fucking your wife's clam while you were dicking around with your nerdy shit.

    2. Re:FreeBSD has ZFS by grub · · Score: 2, Funny


      Best get your eyes checked, I think that was our cat's anus you were in.
      My wife and I love to sit around and de-dupe all night.

      .

      --
      Trolling is a art,
    3. Re:FreeBSD has ZFS by Anonymous Coward · · Score: 0

      I know that is purile, crude and immature but it geniunely had me crying with laughter. I think its the funniest comment I've ever read on slashdot. The total unexpectedness of it within the context of this incredibly dull and nerdy discussion really caught me by surpise and tickled me. Great work.

    4. Re:FreeBSD has ZFS by Dog-Cow · · Score: 1

      If you're sitting around all night and you're not duping, you're doing it wrong. Or the wrong "it".

    5. Re:FreeBSD has ZFS by Anonymous Coward · · Score: 0

      I think that was our cat's anus you were in.

      Six of one...

  13. Lessfs is slow on Atom by Dwedit · · Score: 3, Informative

    I've used LessFS. On my "server" powered by an Intel Atom, it is very very slow. It writes at about 5MB/sec, even when everything is inside a ram disk.
    You can't use a block size of 4KB, otherwise write speeds are around 256KB/sec, need to use at least 64KB.

    1. Re:Lessfs is slow on Atom by TheRaven64 · · Score: 2

      I have a NAS with a 1.6GHz AMD Fusion thingy, which should be in the same speed ballpark as an Atom. It happily got 40MB/s writing to the deduplicated filesystem with FreeBSD ZFS (with a kernel with all of the debug knobs turned on) over GigE. With a release kernel, I'd expect it to be a bit faster, but since I mainly use it over WiFi the bottleneck is generally somewhere else...

      --
      I am TheRaven on Soylent News
    2. Re:Lessfs is slow on Atom by BitZtream · · Score: 3, Informative

      No you didn't.

      You got 40MB writing to memory cache possibly, not the ZFS store.

      I have a quad disk, 8 core, 8 GIG machine that ONLY does ZFS, Sustaining 40MB/s doesn't happen without special tuning, turning off write cache flushing and a whole bunch of other stuff ... unless I stay in memory buffers. Once that 8 gig fills or the 30 second default timeout for ZFS to flush, the machine comes to a stand still while the disks are flushed, and at that point, the throughput rate drops well below 40MB/s since it is actually finally putting that data on disk.

      Without compression and dedup, with possibly low end checksuming, you may be able to write that fast. With compression or checksuming, theres absolutely no way your processor is moving the data fast enough.

      This is a well known and well documented set of issues. If you haven't experienced it, its only because you really aren't using your NAS under any sort of real work load.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    3. Re:Lessfs is slow on Atom by TheRaven64 · · Score: 3, Interesting

      You got 40MB writing to memory cache possibly, not the ZFS store.

      I did? That's interesting. I copied 500GB of data from an external FireWire disk attached to my laptop to the NAS via a GigE connection, yet the NAS only has 8GB of RAM. That's one hell of a compression algorithm they're using for the RAM cache...

      --
      I am TheRaven on Soylent News
    4. Re:Lessfs is slow on Atom by Guspaz · · Score: 1

      With deduplication, RAM is more important than CPU speed. If you can fit the checksums for every block of data in RAM, then you're golden. If not, deduplication can get extremely slow, no matter how fast the processor.

    5. Re:Lessfs is slow on Atom by rev0lt · · Score: 1

      About a year ago I've done some extensive benchmarks with a ProLiant Server (4 SATA disks) and FreeBSD with both UFS and ZFS (without compression or dedup). ZFS could sustain up to 160Mb/s of write speed without a problem, and was the slowest filesystem I've tested. The trick was to enable the controller's write cache (and using a battery if you care about your data).

    6. Re:Lessfs is slow on Atom by smash · · Score: 1

      You running NFS or CIFS or other?

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
    7. Re:Lessfs is slow on Atom by Anonymous Coward · · Score: 0

      Or he's running ZFS via fuse.

    8. Re:Lessfs is slow on Atom by phoenix_rizzen · · Score: 1

      ZFS writes transaction groups to disk every 5 seconds by default for several ZFS versions now. Prior to that, the default was 10 seconds for several versions. It was only the earliest version of ZFS that defaulted to 30 seconds between transaction groups.

      Our original (now ancient) backup servers were able to get 200 MBps writes to disk, with gzip-9 compression, but no dedup:
      * 2x dual-core Opteron 200-series CPUs
      * 8 GB DDR1-RAM
      * 3Ware 9650 12-port RAID controllers
      * 24x 500 GB WD/Seagate SATA drives
      * 32 GB SSD for L2ARC

      Pool made up of 3x raidz2 vdevs, each with 8 disks. The 200 MBps writes were done using multiple rsyncs over gigabit ethernet, writing to an empty pool. After many years of use, the throughput dropped down to around 50 MBps.

      Our current backup servers were able to get 200 MBps writes to disk, with lzjb compression and dedupe enabled:
      * 1x 8-core Opteron 6128 CPUs
      * 24 GB DDR3 RAM
      * SuperMicro AOC-USAS2-L8i SATA controllers
      * 24x 2 TB Seagate drives
      * 32 GB SSD for L2ARC

      Pool is comprised of 4x raidz2 vdevs of 6 drives each.

      Now that there's 26 TB of deduped data (5.28x) in the pool, the write are much slower. But that's mainly due to limitations in rsync having to read/transfer data for incremental backups.

      It most certainly is possible to get over 40 MBps of writes to a ZFS pool with dedupe and compression enabled.

  14. Just store everything in /dev/null by kthreadd · · Score: 1

    Look, no duplicates!

    1. Re:Just store everything in /dev/null by shish · · Score: 4, Funny
      $ cat todo.txt > /dev/null
      $ md5sum /dev/null
      d41d8cd98f00b204e9800998ecf8427e /dev/null
      $ cat aaah.png > /dev/null
      $ md5sum /dev/null
      d41d8cd98f00b204e9800998ecf8427e /dev/null
      -

      Duplicates!

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  15. BackupPC by Anonymous Coward · · Score: 5, Interesting

    Check out BackupPC. Been using it for about 5 years at our company, admittedly a mostly Linux shop, with great results. Deduplication on a per-file basis, block-based transfers via the rsync protocol, and a good web-based UI (at least in terms of function). Thanks to deduplication we are getting about a 10:1 storage compression backing up servers and workstations: a total of 1.28 TB of backups in 130.88 GB of used space.

    1. Re:BackupPC by amginenigma · · Score: 1

      I'm going to have to give another nod to BackupPC. Although my org has not been using it for quite as long we have quite an impressive backup requirement (3 years!) and 23 sites to backup with a mix of Win / Lin being backed up.

    2. Re:BackupPC by Anonymous Coward · · Score: 0

      Try rsync -aH next time you want to replicate the backup store... it should find the hardlinks and recreate them (it does special handling for files with link count greater than 1)...

    3. Re:BackupPC by Anonymous Coward · · Score: 0

      Its primary disadvantage is the logical consequence of all those hard links. Duplicating the backup store, so you can send it offsite, is basically impossible with filesystem-level tools.

      rsync supports checking for hard links. It adds overhead (memory and time) but will allow you to replicate your backup store, hard links and all.

    4. Re:BackupPC by danpritts · · Score: 1

      rsync can handle hard links, yes.

      What is difficult is that there are so many hard links and so many seeks required that it takes way too long to be practical.

      ~@backup3% df -i
      Filesystem Inodes IUsed IFree IUse% Mounted on
      /dev/sda1 3.7G 313M 3.4G 9% /backuppc

  16. lessfs by Anonymous Coward · · Score: 1

    Active developer and Open Source:
    http://www.lessfs.com/wordpress/

  17. Backup or live FS? by Anonymous Coward · · Score: 3, Interesting

    Your post doesn't make it clear if you're looking for a free backup product to replace DataDomain, NetApp, etc. or if you're now wanting to dedup on live filesystems.

    If you're looking for a free backup product that supports deduplication, look at backuppc . Powerful and complex, but free. I've used it for years with good results.

  18. Backuppc by Anonymous Coward · · Score: 0

    http://backuppc.sourceforge.net/info.html

  19. Re:Bourne Shell! by Anonymous Coward · · Score: 0

    Isn't that going to eventually delete every file?

  20. dragonflybsd by Anonymous Coward · · Score: 2, Informative

    So you want dragonfly BSD with a hammer filesystem.
    An excellent and stable BSD and an excellent filesystem to go with it. And a very helpful community.

  21. Some block based backup may have issues... by Anonymous Coward · · Score: 1

    You should be aware that ZFS and most block based deduplication products don't handle streams from NetBackup very well. This is due to block size variability, which invalidates the block by block deduplication algorithms. Information on this issue is readily available if you search for it.

    For ZFS options, you can try the following.
          -Sun/Oracle sells a ZFS storage array called the Amber Road.
          -Check out Nexenta. They provide a supported version of OpenSolaris complete with high availability options if you so desire.
          -You can also check out Open Indiana, a fork of OpenSolaris.

    1. Re:Some block based backup may have issues... by phoenix_rizzen · · Score: 1

      There's also FreeNAS from iX Systems. They even sell hardware boxes with it pre-installed.

      And there's ZFSv28 support in FreeBSD 8.2-STABLE and 9.0-RELEASE. Which you can stick onto any hardware you want.

      There's even a couple different ZFS options on Linux.

      You're not limited to (Open)Solaris solutions to get ZFS with dedupe.

  22. Why not just by StripedCow · · Score: 1

    Why not just do the following every once in a while:

    1. go through all your files,
    2. for each file, compute a checksum (e.g. using the unix tools md5sum or sha1sum),
    3. for pairs of files giving similar checksum, compare them (optionally) and if equal remove one of them and make it a hard-link to the other.

    It would surprise me if there was no free open-source script doing exactly this.

    --
    If Pandora's box is destined to be opened, *I* want to be the one to open it.
    1. Re:Why not just by shish · · Score: 1

      for pairs of files giving similar checksum

      MD5 / SHA1 / most good hashing algorithms will give completely different hashes for a single bit of data difference

      remove one of them and make it a hard-link to the other

      What then happens when you write to one of the files?

      --
      I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
    2. Re:Why not just by Anonymous Coward · · Score: 0

      Whatever you do, do not do this on directories under version control. You'll be sorry :)

    3. Re:Why not just by MagicM · · Score: 1

      1. go through all your files,
      2. for each file, compute a checksum (e.g. using the unix tools md5sum or sha1sum),
      3. for pairs of files giving similar checksum, compare them (optionally) and if equal remove one of them and make it a hard-link to the other.

      If comparing them is optional, why not just delete both copies and store the checksum instead? I bet you'll save lots of space that way!

    4. Re:Why not just by Anonymous Coward · · Score: 0

      This is file based deduplication - The best (imho) implementations are block level - Equivalently, you would need to compute the block-level sha1 of each block of each file, then delete the ones you have elsewhere... Which would actually render the file useless.

      Block level deduplication is in-line, it replaces these "delete them if we have them elsewhere" with a pointer to the original block that is identical.

      The best example I have heard concerning this: 2 excel documents, 250 rows each. On the 100th row, third column, a B is changed to a D - in an ideal deduplication scenario, these two files, saved to disk, would be stored as two files, one with size 250KB, the other with size 1B. And both be fully usable.

    5. Re:Why not just by TheRaven64 · · Score: 1

      ZFS actually does have a mode to skip the comparison step. I think it may even be the default. The rationale is that the probability of hash collisions between two blocks is much lower than the probability of data loss from a variety of other problems (including meteor strikes to the server), so there's not much point. If the hash is in RAM and the data is on disk, then skipping the seek-and-read can be quite significant.

      --
      I am TheRaven on Soylent News
    6. Re:Why not just by Anonymous Coward · · Score: 0

      # hardlink
      Usage: hardlink [-cnvh] directories...
          -c When finding candidates for linking, compare only file contents.
          -n Don't actually link anything, just report what would be done.
          -v Print summary after hardlinking.
          -vv Print every hardlinked file and bytes saved + summary.
          -h Show help.

                    hardlink was written by Jakub Jelinek .

                    Man page written by Brian Long.

                    Man page updated by Jindrich Novy

  23. No dedup in FreeNAS by Svenne · · Score: 5, Informative

    However, FreeNAS supports ZFS v15, which doesn't have support for deduplication.

    --

    Slagborr
    1. Re:No dedup in FreeNAS by grub · · Score: 1

      Yes, true. Thanks for the correction.

      --
      Trolling is a art,
    2. Re:No dedup in FreeNAS by phoenix_rizzen · · Score: 1

      The next release of FreeNAS based on FreeBSD 9.x will include ZFSv28.

      And ZFSv28 is available in FreeBSD 8-STABLE, meaning it will be available in FreeBSD 8.3, which means the next release of FreeNAS based on FreeBSD 8.x will include dedupe.

  24. Dedup is just a marketing word.... by Anonymous Coward · · Score: 3, Informative

    it needs incredible amount of memory to operate effectively.
    from my university notes:
    5TB data, average blocksize 64K = 78125000 blocks
    for each block the dedup needs 320 bytes so
    78125000 x 320 byte = 25 GB dedup table

    use compression instead. (eg zfs compression)

    1. Re:Dedup is just a marketing word.... by Anonymous Coward · · Score: 0

      No it doesn't need an incredible amount of memory. Look at HAMMER's implementation.

    2. Re:Dedup is just a marketing word.... by kesuki · · Score: 1

      if you've got 5 tb of files, 25gb doesn't seem so huge. besides you assume that it needs to keep track of every block, when you only need to hash every file, but yes, that is a massive burden on resources. and in implementation it would require loads of ram or a large swapfile, and all just to save disc space over burdening processor/ram requests.

    3. Re:Dedup is just a marketing word.... by m.dillon · · Score: 5, Informative

      All dedup operations have a trade-off between disk I/O and memory use. The less memory you use the more disk I/O you have to do, and vise-versa.

      Think of it like this: You have to scan every block on the disk at least once (or at least scan all the meta-data at least once if the CRC/SHA/whatever is already recorded in meta-data). You generate (say) a 32 bit CRC for each block. You then [re]read the blocks whos CRCs match to determine if the CRC found a matching block or simply had a collision.

      The memory requirement for an all-in-one pass like this is that you have to record each block's CRC plus other information... essentially unbounded from the point of view of filesystem design and so not desirable.

      To reduce memory use you can reduce the scan space... on your first pass of the disk only record CRCs in the 0x0-0x7FFFFFFF range, and ignore 0x80000000-0xFFFFFFFF. In other words, now you are using HALF the memory but you have to do TWO passes on the disk drive to find all possible matches.

      The method DragonFly's HAMMER uses is to allocate a fixed-sized memory buffer and start recording all CRCs as it scans the meta-data. When the memory buffer becomes full DragonFly dynamically deletes the highest-recorded CRC (and no longer records CRCs >= to that value) to make room. Once the pass is over another pass is started beginning with the remaining range. As many passes are taken as required to exhaust the CRC space.

      Because HAMMER stores a data CRC in meta-data the de-dup passes are mostly limited to just meta-data I/O, plus data reads only for those CRCs which collide, so it is fairly optimal.

      This can be done with any sized CRC but what you cannot do is avoid the verification pass.. no matter how big your CRC is or your SHA-256 or whatever, you still have to physically verify that the duplicate blocks are, in fact, exactl duplicates, before you de-dup their block references. A larger CRC is preferable to reduce collisions but diminishing returns build up fairly quickly relative to the actual amount of data that can be de-duplicated. 64 bits is a reasonable trade-off, but even 32 bits works relatively well.

      In anycase, most deduplication algorithms are going to do something similar unless they were really stupidly written to require unbounded memory use.

      -Matt

    4. Re:Dedup is just a marketing word.... by rathaven · · Score: 1

      I partially disagree with your statement as (none lossy) compression performs a type of data deduplication - it looks for repeat data, make a record of the repetion and what is repeated and removes the repetition (duplication). The only difference is efficiency of the algorithm for the differing types of "deduplication" and how and when dedup takes place (during data streaming, on static files or on blocks of data). However, because of this similarilty. Likewise, I partially agree as, it is almost a rebranding of "compression" and therefore a buzz word of little sense.

    5. Re:Dedup is just a marketing word.... by m.dillon · · Score: 1

      Another side note on DragonFly's HAMMER: de-duplication is implemented both as a daily pass AND can also be enabled for live writes. The daily pass can find all duplicate blocks. The live dedup uses a small fixed in-kernel-memory LRU style record of recent data block CRCs to find de-duplication candidates during live writes. Performance impact is minimal either way as recently recorded CRCs also tend to still have their data in the buffer cache.

      The live-dedup mostly exists to get some up-front deduplication when someone, say, does a 'cp' or 'cp -r' or something like that. The real catch-all is the daily pass.

      One interesting side effect of having de-duplicated backups is that we don't have to make a huge effort to avoid duplicate data in developer shell accounts. Developers have tons of git repos and fully checked out source trees all over the place and it doesn't bloat our backups all that much. This makes developers lives easier too as they just don't have to worry about having lots of copies of things laying around.

      Plus we are also backing up multiple machine's filesystems to the same backup filesystem and there's a lot of duplication on each machine which gets de-duplicated since the backups are all going to one target filesystem. It's a great feature just for that. I'm getting something like a 3.5:1 de-duplication ratio on our current aggregated backups. 4-5 TB of data winds up collapsing to around ~700G or so on the backup system, without compression.

      -Matt

    6. Re:Dedup is just a marketing word.... by Guspaz · · Score: 2

      HAMMER's online deduplication doesn't need an incredible amount of memory because it will only match duplicate block that it has the checksums of cached. If the checksum is not cached, HAMMER won't deduplicate the block even if a duplicate exists on disk, because it won't know the duplicate exists. That's my interpretation of the coder's explanation, anyhow ( http://leaf.dragonflybsd.org/mailarchive/users/2011-04/msg00044.html ).

      HAMMER's offline deduplication doesn't have this limitation because it can re-iterate as many times as is required to compare each checksum, but that's not helpful if you want (or require) online deduplication.

    7. Re:Dedup is just a marketing word.... by Just+Some+Guy · · Score: 1

      besides you assume that it needs to keep track of every block, when you only need to hash every file

      In the context of ZFS, you're working with block-level deduplication.

      if you've got 5 tb of files, 25gb doesn't seem so huge

      Absolutely true! ZFS will happily store its dedupe block lists in any cache device you've added to a pool, so add a $100 SSD to that pool and get a huge performance boost at the same time.

      but yes, that is a massive burden on resources

      Depends what you're using it fore. Suppose you're running ZFS with dedupe on your virtualization farm's backend storage. Each of those VMs will start off with the same base image. Create a new VM by simply copying that base image and you'll only pay for the space needed to store the dedupe information. If you install a given app on 50 of those VMs, then you'll only "pay" for a little more than the size of a single installation (since the deduplication is at the block level). That can add up to a rather massive win in both storage and read bandwidth.

      --
      Dewey, what part of this looks like authorities should be involved?
    8. Re:Dedup is just a marketing word.... by Just+Some+Guy · · Score: 1

      You then [re]read the blocks whos CRCs match to determine if the CRC found a matching block or simply had a collision.

      I know you already know this, but for the benefit of other readers: ZFS gives you the option of using no deduplication, using SHA256 as the checksum and trusting its results, or using SHA256 but verifying all collisions. I can't really see the point of not verifying collisions in "strong" hashing algorithms, though - it's not like you're going to get SHA256 collisions so frequently that you can't afford to explicitly verify them.

      --
      Dewey, what part of this looks like authorities should be involved?
    9. Re:Dedup is just a marketing word.... by m.dillon · · Score: 3, Informative

      Yes, this is correct.

      For on-line de-duplication the most optimal case in my view is to only de-dup data which may already be present in the buffer cache from prior recent operations, so the on-line dedup only maintains a small in-kernel-memory table of recent CRCs. This catches common operations such as file and directory tree copying fairly nicely.

      The off-line dedup catches everything using a fixed amount of memory and multiple passes (if necessary) on the meta-data, then bulk data reads only for those blocks which appear to be duplicates to verify that they are exact copies.

      I've run dedup on a 2TB backup from a VM with as little as 192MB of ram and it works. A more preferable setup would be to have a bit more memory, like a gigabyte, but more importantly to have a SSD large enough to cache the filesystem meta-data. A 40G SSD is usually enough for a 2TB filesystem. That makes the off-line dedup quite optimal and also makes other maintainance and administrative operations on the large filesystem, such as du, find, ls -lR, cpdup, even a smart diff... let alone rsync or other things one might want to run... it makes all of that go screaming fast without having to waste money buying a bigger system or waste money on excessive energy use.

      -Matt

    10. Re:Dedup is just a marketing word.... by afidel · · Score: 1

      So for my 14TB of backup data I need ~70GB of ram, cool since 144GB is my most common build these days, it's really cheap now that 8GB DIMM's are only ~$200.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    11. Re:Dedup is just a marketing word.... by m.dillon · · Score: 4, Informative

      Well, I can tell you why the option is there... it's not because of collisions, it's there to handle the case where there is a huge amount of actual duplication where the blocks would verify as perfect matches. In this case the de-duplication pass winds up having to read a lot of bulk-data to validate that the matches are, in fact, perfect, which can take a lot of time verses only having to read the meta-data.

      Just on principle I think it's a bad idea to just trust a checksum, cryptographic hash, CRC, or whatever. Corruption is always an issue... even if the filesystem code itself is perfect and even if the disk subsystem is perfect there is so much code running in a single address space (i.e. the KERNEL itself) that it is possible to corrupt a filesystem just from hitting unrelated bugs in the kernel.

      Not to mention radiation flipping a bit somewhere in the cpu or memory (even for ECC memory it is possible to get corruption, but the more likely case is in the billions of transistors making up a modern cpu, even with parity on the L1/L2/L3 caches).

      Hell, I don't even trust IP's stupid simple 1's complement checksum in HAMMER's mirroring protocols. Once during my BEST Internet days we had a T3 which bugged out certain bit patterns in a way that actually got past the IP checksum... we only tracked it down because SSH caught it in its stream and screamed bloody murder.

      If you de-duplicate trusting the meta-data hash, even a big one, what you can end up doing is turning 9 good and 1 corrupted copies of a file into 10 de-duped corrupted copies of the file.

      I'm sure there are many data stores that just won't care if that happens every once in a while. Google's crawlers probably wouldn't care at all, so there is definitely a use for unverified checks like this. I don't plan on using a cryptographic hash as large as the one ZFS uses any time soon but being able to optimally de-dup with 99.9999999999% accuracy it's a reasonable argument to have one that big.

      -Matt

    12. Re:Dedup is just a marketing word.... by Guspaz · · Score: 2

      It does sound like a decent tradeoff; ZFS deduplication, I can say from personal experience with my home file server that has a deduplicated filesystem used for incremental backups, is painfully slow when you don't have enough RAM. So the idea that you do a best-effort deduplication on write and a best-quality deduplication offline each night would be a big improvement.

      What sort of timespans are involved in doing offline deduplications when multiple passes are required? Is it the kind of thing you can do every night on a large deduplicated data set?

    13. Re:Dedup is just a marketing word.... by m.dillon · · Score: 3, Informative

      For our production systems it depends 100% on the actual amount of duplicated data, since bulk data reads are needed to verify the duplication. The number of passes is almost irrelevant because they primarily scan meta-data N times, not bulk data (duplicated bulk data only has to be verified once).

      The meta-data can be scanned much more quickly than the verification of duplicated bulk data because the meta-data is laid out on the physical disk fairly optimally for the B-Tree scan the de-dup code issues. So meta-data can be read from the hard disk at 40 MBytes/sec even without the use of a SSD to cache it. Of course, with DFly's swapcache and the meta-data cached on the SSD that scan runs at 200-300 MBytes/sec.

      But in contrast, the bulk reads used to validate the duplicate data just aren't going to be laid out linearly on the disk. There's a lot of skipping around... so the more actual duplicate data we have the larger the percentage of the disk's surface we have to read to verify it.

      This is an area which I could further optimize in HAMMER's dedup code. Currently I do not sort the bulk data block numbers when running the data verification pass. Not only that but I am scanning a sorted CRC list, so the bulk data offsets are going to be seriously unsorted. Doing so would definitely improve performance, probably quite a bit, but still not be anywhere near the 40 MBytes/sec the meta-data scan can achieve off the platter. It would not be a whole lot of programming, probably a day to do that. Currently isn't at the top of my list though.

      What this means, in summary (and even with semi-sorting of the bulk data blocks), is that one can use a bounded amount of ram without really effecting the efficiency of the off-line de-duplication.

      -Matt

    14. Re:Dedup is just a marketing word.... by rrohbeck · · Score: 1

      That's why you store the index on a SSD or 15k RAID.

    15. Re:Dedup is just a marketing word.... by guruevi · · Score: 1

      SSD helps too. I'd use de-dup only for SSD stores or stores that have enormous caches (RAM or SSD). The problem is the disk IO required to store the dedup database on-disk which classic disks are really bad at.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    16. Re:Dedup is just a marketing word.... by atamido · · Score: 1

      it needs incredible amount of memory to operate effectively.
      from my university notes:
      5TB data, average blocksize 64K = 78125000 blocks
      for each block the dedup needs 320 bytes so
      78125000 x 320 byte = 25 GB dedup table

      use compression instead. (eg zfs compression)

      I'm having a hard time imagining why you're using 320 bytes for each block. If you had a 100TB of data in 4KB blocks, that's 25 billion blocks. You could use an on-disk reference table for pointing out duplicate blocks and reference it with 36 bits. If you used an excessive 256 bit hashing algorithm for each block, a b-tree with two 64-bit spaces for references, and a 4 control bits, that still only gets you to 420 bits, which is 53 bytes. You only need to store location information for blocks that are actually deduped in RAM (the rest is only referenced when a dedupe happens), so two 36 bit locations on a duplicate block would bring the total for a duplicate block to 62 bytes, with an additional ~5 bytes for each additional block that is found to be a duplicate.

      Let's say it's 50TB duplicated exactly, for a total of 100TB. 5*10^13/4KB*62B = 775GB. That's a lot of RAM, but it's still only 0.7% of the total. And you could get far more efficient by using a smaller hash with a reference to a larger on-disk hash table. A 32 bit hash with a 35 bit on-disk reference (containing disk block locations and longer hashes), a b-tree with two 35 bit memory offsets, plus 20 bits for whatever, and you'd be at 24 bytes, which would drop your total memory usage to 300GB.

      Of course, 32 bytes would align much better, and you could decrease space to 1/16th by using 64KB block sizes, but the point is that 320 bytes is clearly absurd. All I can think of is that you should be typing bits instead of bytes.

  25. Apologies to LL Cool J by Anonymous Coward · · Score: 0

    Patrick Zevo: Are you taking my [de]duplication investigation seriously or are you disrespecting my [de]duplication investigation?

    (LL Cool J to Robin Wright in the 1992 movie Toys)

  26. What is deduplication? by jdavidb · · Score: 5, Informative

    I had to Google to find out. Here's what I found: http://en.wikipedia.org/wiki/Data_deduplication

    Maybe everybody else is familiar with this term except for me, but I find it a bit off-putting for the submitter and the editors to not offer a small bit of explanation.

    1. Re:What is deduplication? by BitZtream · · Score: 2, Interesting

      Seriously, at this point on slashdot its been talked about enough that unless you bought your UID from someone, you should be fully aware of what it is from here alone.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:What is deduplication? by Anonymous Coward · · Score: 0

      it's because slashdot has crowdsourced dupe whining the internet version of deduplication

    3. Re:What is deduplication? by skrimp · · Score: 0

      3 times since Nov of 2009 no less. Sheesh. We should all be experts.

    4. Re:What is deduplication? by jdavidb · · Score: 0

      lol, I only read bitcoin stories!

    5. Re:What is deduplication? by b4dc0d3r · · Score: 1

      I read it every day, and I still was unsure, since I use file deduplication almost daily. A little context might have helped. timothy seems to have added some links with context, but slashdot editors aren't known for their accuracy.

    6. Re:What is deduplication? by Onymous+Coward · · Score: 1

      Kind of harsh on the guy, aren't you?

      http://slashdot.org/tag/deduplication

    7. Re:What is deduplication? by Anonymous Coward · · Score: 0

      I'm glad you pointed out that I could use Google to look up a definition for "data deduplication". Why should everyone be expected to know how to do that? I also think every post should be explicit about the level of sarcasm employed, because some of us have no sense of humor.

  27. OpenDedup Changelog not Stagnant by MatthiasF · · Score: 1

    The change log shows an update two months ago, how's that stagnant?

    Because the original date on the post is from April 2010?

    They modified a previous post to put all of the changes in one place, dufus.

  28. There is Duplicity by Anonymous Coward · · Score: 0

    Duplicity. It's written in Python with various back-end storage types (Disk, FTP, SFTP, Amazon S3, etc) It's especially useful for backups.

  29. Personal Project by TheRealMindChild · · Score: 1

    I have recently written some personal software that finds duplicate files/directories. I had no idea there was such a demand for something like this (and price for such software).

    There are a few hurdles with deduplication that a piece of software will likely need your input for:

    - Does something like the directory/file names matter? If so, does case matter? What about comparing names from ASCII Unicode? Do you compare the DOS 8.3 names also?
    - What do you want to do when you find duplicates? Delete the duplicates and put links in their place? Which one do you want the links to point to? Maybe remove the duplicates... so which one do you keep?
    - Does meta data need compared too? What about the data itself? Different file systems have different gotchas. NTFS can have separate streams, which do not necessarily follow a file. If your file system supports snapshots, what are you really wanting to compare?

    --

    "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    1. Re:Personal Project by vux984 · · Score: 1

      If its not 100% transparent to the user its not good enough. As far as the user is concerned deduplication isn't happening. There are no evident changes to the filesystem they are using (no case changes, no meta data issues, no links ... 100% transparent to the user )

      Its done at block level, below the filesystem.

      Whether the data being deduplicated is a directory, an alternate stream, the file data, meta data... is irrelevant.

      Say you've got a nice big 5GB Outlook.pst file. And you make a backup copy of it, and then keep using it. 3 months later you've got a 6GB Outlook.pst file in use, and still have the 5GB backup. Ideally 5 of those GB are virtually identical and if the deduplication software is doing its job well, those two files take up a total of ~6GB of actual disk space.

      As far as the user and filesystem is concerned, they are two separate files. They can both be open for read/write at the same time. Its 100% transparent that nearly 100% of the backup file is physically using the same disk space as the live file. If changes are made to the live file where the files have been deduplicated, new storage will be allocated to house the modified part of the file, and those 2 blocks will no longer be duplicated... they'll have been de-deduplicated.

      The #1 upshot though is that its 100% transparent.

    2. Re:Personal Project by fishbowl · · Score: 1

      File duplication is not the problem. You need to do it at the block level, in the filesystem driver, or it's not really going to be useful where it's needed.
      Suppose you have an exabyte of oracle tables on an encrypted logical volume. Now I want to store that logical volume on a SAN that performs data deduplication. Given a year and a five million dollar budget, what do you think you could deliver?

      --
      -fb Everything not expressly forbidden is now mandatory.
  30. write a script by MichaelSmith · · Score: 3, Interesting

    md5sum `find . -type f` | sort
    ...and so on

    1. Re:write a script by fishbowl · · Score: 1

      Yeah, find+md5sum gets you a long way toward dealing with file-level duplication, but that's not really the problem being addressed. What if you have an exabyte of database tables that aren't even stored in files in the traditional sense? You need something at the filesystem level that deals with blocks, and that implements some kind of copy-on-write semantics and so on.

      I know that there are IT pros who, without really doing much analysis, assume that they have mountains of duplicated data (because their problems begin with mountains of data in the first place). They assume that a de-dupe solution will improve their situation, but this is not always the case. It's a very expensive proposition (sometimes much more than simply expanding storage!) and you might find that your assumptions are not borne out by results.

      --
      -fb Everything not expressly forbidden is now mandatory.
    2. Re:write a script by impaledsunset · · Score: 1

      Don't use shell expansion like that. It breaks on filenames with spaces, etc.

      find . -type f -exec sha256sum {} \; | sort # sha256 is safer because of the birthday paradox

    3. Re:write a script by Anonymous Coward · · Score: 0

      With GNU find, you can use a plus instead of semi-colon. It will give you xargs-like joy, passing multiple filename parameters to a single invocation of the -exec command.

    4. Re:write a script by Anonymous Coward · · Score: 0

      Hehehe, done that. :-). The first version of freedups (user space file level deduplication, http://www.stearns.org/freedups/ ) was a shell script with essentially that approach. I figured I'd run it weekly on a tree of backups from multiple systems, but got to the point where it took longer than a week to run. :-). It's since been rewritten in perl and works much better.

  31. ZFS on OpenIndiana? by rbrandis · · Score: 1

    OpenSolaris is Dead. Long live http://openindiana.org//

  32. Dragonfly BSD's HAMMER... by callmebill · · Score: 0

    ...includes dedupe. There was a blog entry a while ago where on a 256MB RAM machine someone was able to dedupe 600GB down to 400GB and the performance was fine. This is much unlike ZFS which wants the entire dedupe tree in memory and requires gigs and gigs of RAM.

  33. OpenSolaris is Dead; Illumos is alive and well by Anonymous Coward · · Score: 0

    Oracle has more or less killed OpenSolaris.

    ALL Solaris, ZFS, DTrace and Zones engineering talent *and* Solaris community energy is now focused on Illumos.

    More from highly entertaining ex-Sun engineer Bryan Cantrill in this talk:
    http://www.youtube.com/watch?v=-zRN7XLCRhc

    (funny and informative for those of you looking for some Oracle-bashing and Solaris history)

  34. ZFS on linux by Anonymous Coward · · Score: 0

    Look into the ZFS On Linux project (NOT fuse). It has native performance, and it supports dedup. I've been running it on a small office server for 4 months now without issue, though I have not used the dedup feature due to its RAM requirements. See http://zfsonlinux.org/

  35. Data Deduplication is probably the wrong solution by Anonymous Coward · · Score: 0

    The original post doesn't quite describe the application well enough to make any absolute judgements, but I doubt Data Deduplication is going to help much.

    I've had experience using ZFS with its data deduplication. If you're using ZFS across your operation, it might make sense to have an alternate ZFS server be a "backup" of your primary store, but if ZFS is not your thing, you're headed down the wrong path. Deduplication is somewhat computationally expensive to implement and locks your data into the target format. Changing your application to fit ZFS as the target is an expense you'll have to factor in. (An expense likely as big as the disk space you believe you will be saving.)

    OTOH - disks keep getting bigger and cheaper. You may not be able to count on OpenSolaris or even FreeBSD, but you can certainly count on WesternDigital/Seagate to continue to offer solutions at reasonable cost/byte.

  36. Re:Bourne Shell! by Anonymous Coward · · Score: 0

    Yes, but the OP never said anything about keeping files that weren't duplicates.

    O.K ,fine. That one actually works, believe it or not...

  37. ZFS dedup is not cheap. by Anonymous Coward · · Score: 0

    ZFS dedup has a serious impact on write performance if you enable it.

    Just buy more disk.

  38. FreeBSD + ZFS by BitZtream · · Score: 0

    FreeBSD is certainly alive and well with an actively developed implementation real zfs implementation.

    Keep in mind however, ZFS with deduplication is not going to be a 'high performance' file system. You aren't going to use it for anything where latency is of any importance at all. It makes a pretty shitty VMware storage pool for instance, even with SSDs for log devices.

    Its silly to consider anything else. You never actually wanted to run the current bastard child previously known as Solaris. Its actually proof that open sourcing a project can make it actually suck more than before hand. Linux is out since its silly license is so paranoid about someone using their precious code that they can't use anyone else's without arguing with each other about legality rather than actually do something useful. All you're left with is FreeBSD.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:FreeBSD + ZFS by Anonymous Coward · · Score: 0

      Educate yourself, license troll: http://zfsonlinux.org/

      Now you can have an awesome filesystem and support for hardware.

  39. DDAR by Anonymous Coward · · Score: 0

    http://www.synctus.com/ddar/

  40. How about SREP ? by Anonymous Coward · · Score: 0

    SuperREP: huge-dictionary LZ77 preprocessor.

    de-dupes and preprocesses helps to create zip/gz/bz tighter and faster than without.

    http://freearc.org/research/SREP.aspx

  41. Ubuntu 11.10 by Anonymous Coward · · Score: 0

    I'm utilizing Ubuntu 11.10 Server with ZFS right now and have compression and dedup turned on.
    Works great... had to download ZFS as it didn't come preloaded.

  42. deduplication is just compression by Colin+Smith · · Score: 1

    Both deduplication and conventional compression are a questionable idea on a file server which has many clients.

    The most interesting thing is that Microsoft Research says it doesn't affect performance almost at all.

    Yeah right. I'll wait for real usage numbers rather than "the vendor selling this stuff to me says it's fucking awesome".

    --
    Deleted
    1. Re:deduplication is just compression by afidel · · Score: 2

      Since most file servers have about 95% unused processor cycles and a limited amount of disk I/O both compression and dedupe can be significant wins provided they don't create an I/O profile that is a smaller percentage more random than their effective compression (ie if they add 10% randomness to the I/O profile but provide 30% compression then it's probably a net win). The fact that they potentially increase cache effectiveness is just gravy since cache is a few orders of magnitude faster than spinning disk and at least an order of magnitude faster than even SSD's.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    2. Re:deduplication is just compression by afabbro · · Score: 1

      Both deduplication and conventional compression are a questionable idea on a file server which has many clients.

      Out of curiosity, why do you say that? I assume what you're saying is true regardless if we're talking Linux or Windows or any OS.

      --
      Advice: on VPS providers
    3. Re:deduplication is just compression by drsmithy · · Score: 1

      Both deduplication and conventional compression are a questionable idea on a file server which has many clients.

      Dedupe is not compression.

      Further, both of them are inherently quite useful in the typical fileserving scenario, which is dominated by reads, limited by IO, and not even remotely constrained by CPU.

      Yeah right. I'll wait for real usage numbers rather than "the vendor selling this stuff to me says it's fucking awesome".

      It sounds fairly similar to NetApp's dedupe. Which means there no reason it should hurt performance, and every chance it will improve performance.

    4. Re:deduplication is just compression by ImprovOmega · · Score: 1

      Deduplication is NOT just compression. With dedupe you're taking identical blocks and just keeping one of them where the other one simply points to the data, with compression you're removing redundancy within a file to represent it with fewer bits.

      The end result of both is space savings, but the mechanisms are substantially different.

    5. Re:deduplication is just compression by atamido · · Score: 1

      Since most file servers have about 95% unused processor cycles and a limited amount of disk I/O both compression and dedupe can be significant wins provided they don't create an I/O profile that is a smaller percentage more random than their effective compression (ie if they add 10% randomness to the I/O profile but provide 30% compression then it's probably a net win). The fact that they potentially increase cache effectiveness is just gravy since cache is a few orders of magnitude faster than spinning disk and at least an order of magnitude faster than even SSD's.

      It's probably heavily dependent on the content, types of disks, and number of disks. With a few spinning disks where multiple large files are typically streamed sequentially, adding 10% randomness would be a pretty severe penalty. An SSD has essentially zero negative effect from randomness though, so they would probably benefit greatly.

      It's worth pointing out that many modern SSDs actually perform compression on their storage internally to increase performance.

  43. Use rsync! by TheTempest · · Score: 2

    I just use rsync from the command line to do deduplication. Been working like a charm for years.

    First I sync from the remote directory to a local base directory:

    rsync --partial -z -vlhprtogH --delete root@www.mydomain.net:/etc/ /backup/server/www/etc/base/

    Then I sync that to the daily backup. Files that have not changed are hard-linked between all the days that share them. It very efficient and simple, and retrieving files is as simple as doing a directory search.

    rsync -vlhprtogH --delete --link-dest=/backup/server/www/etc/base/ /backup/server/www/etc/base/ /backup/server/www/etc/2012-01-04

    --
    -Dave
    1. Re:Use rsync! by fishbowl · · Score: 1

      Yeah, file level duplication isn't really what's under discussion here. I do like your rsync command though. I do something similar for backup staging. We have users who make local copies of mountains of documents (terabytes of legal docs.) File de-dup in the stage saves on tape, and makes it possible to give shorter backup commitment windows. But this doesn't do anything for block-level duplication. On the other hand, I think a lot of people are surprised by how small a gain is made in real world scenarios with de-duping sans or block-level compressed drives or whatever. The tradeoffs aren't that great, in the real world. I'm sure there are some folks with exabytes of repeated data that's not at the file level, but there are solutions for them, often tuned to their database flavor as well.

      --
      -fb Everything not expressly forbidden is now mandatory.
    2. Re:Use rsync! by Anonymous Coward · · Score: 0

      > --partial -z -vlhprtogH --delete

      And Tridgell wonders why people hate rsync. 32 characters for the command line options just to intelligently copy files is insane.

  44. Why don't you just hire a competent sysadmin? by Medievalist · · Score: 0

    Isn't de-dup a fairly trivial application for a DB of MD5sums, even if you don't have the chops to use the filesystem at a more fundamental level?

    I mean, off the top of my head, use "find" to get today's files, "md5sum" to MD5 them, "grep" or "gawk" to check your flat file of existing sums, "ln" to link dups to a single copy, and a couple dozen lines of shell to glue it all together and append new sums.

    You could probably code it all up in busybox in an afternoon, and run it from cron every hour.

    But you'd have to have a clue. If you don't have a clue, you can always buy a package. Yay freedom of choice!

    If you're exceptionally clueful you can do this with inotify hooks and existing file checksums.... and "say it doesn't affect performance almost at all" if that sort of linguistic double-dutch appeals to you.

    1. Re:Why don't you just hire a competent sysadmin? by swb · · Score: 2

      I think file-level de-dupe is usually a lot less effective because it can't accomodate files that differ only slightly but are otherwise the same, whereas block-level de-dupe works with everything.

      I also don't know what happens in your scheme when you have "de-duped" a file that's the same in 4 different directories but then one application wants to change "its" version of the file. It sounds like it trashes the file for the three other uses of it since there's no way to automate copy-on-write with your shell script but maybe my clue isn't working.

    2. Re:Why don't you just hire a competent sysadmin? by Anonymous Coward · · Score: 0
    3. Re:Why don't you just hire a competent sysadmin? by Anonymous Coward · · Score: 0

      Dedupe isn't at the file-level. It wouldn't be nearly as useful if it just got rid of exact copies of files.

      It works at the block-level. If a portion of file A and a portion of file B are the same, it only stores that portion once. The duplicate block might be at the beginning of file A and at the end of file B -- that doesn't matter. If you create a new file (C) which has that same portion somewhere in the middle, the filesystem doesn't keep around a copy of that portion, it just points back to the same block that file A and B are using.

      I guess you could think of it like files are composed of a bunch of blocks. The filesystem says that your file is made up of the sequence of blocks 1, 5, 3, 25, 5, and 7. Notice that your file has a repeated block in it. Block 5 is still only stored once on the disk.

    4. Re:Why don't you just hire a competent sysadmin? by Anonymous Coward · · Score: 0

      It turns out in plenty of real-world environments that file-level dedup is very much what's needed, because that is the nature of the pathology you find, especially in shared servers in a homogenous environment, and especially in an environment that deals mainly with large document stores. It's also worth noting that the deduplication is often necessary more for archiving (e.g., I need my daily backup to take two LTO-4 tapes instead of three, or it can't actually be done "daily") than for storage (which is considered cheap and volatile, partly because we have that daily backup.)

    5. Re:Why don't you just hire a competent sysadmin? by Jappus · · Score: 3, Informative

      Isn't de-dup a fairly trivial application for a DB of MD5sums, even if you don't have the chops to use the filesystem at a more fundamental level?

      Yes, but in that case, two multi-GB files that share all of their data except one bit will not be deduplicated. The difference between your approach and Microsofts is grounded in the same though-process that make modern compression algorithms better than older ones:

      First you treat all files separately, which is really simple but has the drawback of not cross-linking chances for compression/dedup across files. This is what deflate (ZIP/GZIP) and your approach to dedup do. The same data simply gets recompressed twice -- or in your case not duplicated if the data is even marginally different. You will never reach the maximum space-saving that way, even though you can at least be sure to be reasonably fast.

      Then you notice that files sharing most data should only be compressed/deduped once and then just linked together. The easiest way to do that is to cut up the files into blocks and compress them. If two blocks are the same, you don't recompress them but just put in a link to the previous compression. This is what (roughly speaking) BZIP2, RAR, ACE and some other formats do. In deduping terms this means creating multi-level hashes for each files. It works much better, but has the price of being more complex and time consuming.

      Finally, you notice that cutting up files at fixed boundaries is also wasteful. If two blocks are the same, but one has all bytes shifted left one position, you needlessly waste space. Thus, you try to identify if you can dynamically cut up the files/stream into chunks that you have already compressed, plus a handful of spare bytes here or there or with a very simple substitution/transposition function applied. This is (extremely roughly speaking) what LZMA of the 7-Zip fame does and what Microsoft tries to do different in their dedup approach.

      Of course, going that way is even MORE complex and time consuming, but may be well worth it, if space-saving is what you're intested in. After all, there is no such thing as a free lunch -- you either pay with time or with space (or with general applicability in some corner cases).

      So, all in all, the approach itself is not new -- neither yours nor Microsofts -- but the magic lies in actually creating a working product out of the theoretical approach outlined above.

    6. Re:Why don't you just hire a competent sysadmin? by Anonymous Coward · · Score: 0

      We're not talking about deduping your porn or music collection here. Consider hundreds of terabytes of backups of oodles of desktops/servers with heterogeneous operating systems. Specialised block level dedupe systems are the practical approach here. Go back to your bitty-boxes ...

    7. Re:Why don't you just hire a competent sysadmin? by bill_mcgonigle · · Score: 1

      "Just" is such a dangerous word when deleting data.

      You can download William Stearns's fully-debugged version, though:

      http://www.stearns.org/freedups/

      inotify can't watch an entire filesystem. No current *notify kernel hooks can offer this, unfortunately.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    8. Re:Why don't you just hire a competent sysadmin? by Medievalist · · Score: 1

      I think file-level de-dupe is usually a lot less effective because it can't accomodate files that differ only slightly but are otherwise the same, whereas block-level de-dupe works with everything.

      Not really. There are real-world advantages to both, and you'll have to examine your specific environment to see what's best. Generally, block-level will work better for giant database files where there are very localized changes, file level will work better for systems with zillions of small files (mailservers etc.), and nothing really works well with giant compressed image files because very small changes can cause every single block to change after compression (the same is true of large databases that are frequently re-orged for performance).

      I also don't know what happens in your scheme when you have "de-duped" a file that's the same in 4 different directories but then one application wants to change "its" version of the file. It sounds like it trashes the file for the three other uses of it since there's no way to automate copy-on-write with your shell script but maybe my clue isn't working.

      It's not necessarily a problem, depends on the filesystem and use case. In snapshot systems based on rsync --link-dest the toolset handles that issue transparently to the user. And if the files in question absolutely shouldn't be forked (payroll files, perhaps?) then this might be desired behavior.

      You really do need to know what you are doing, though - that's why I started this thread by recommending a competent linux sysadmin. Somebody who knows what you are trying to accomplish, what the tools can do, how to write an inotify interface, etc... if you don't want to pay for highly skilled staff this is not the road to take. Rather often it's worthwhile for a business to invest in high quality people, though.

    9. Re:Why don't you just hire a competent sysadmin? by Medievalist · · Score: 1

      Well, I back up 12 terabytes a night, so I am amazed at your awesomeness, that you consider this trivial.

    10. Re:Why don't you just hire a competent sysadmin? by Medievalist · · Score: 1

      Dedupe isn't at the file-level. It wouldn't be nearly as useful if it just got rid of exact copies of files.

      You can implement de-duplication at whatever level is appropriate to your needs. Most people do it at file level; I use it to reduce my nightly rsync snapshot load. Gets me more than 90% savings in disk space because of my specific use case. Understanding what you need and how you can efficiently satisfy those needs is the key to good systems architecting and management.

      Several people have pointed out that block-level de-dup is inherently best suited to being implemented in the filesystem, but if your toolset (such as compression utilities, for example) wasn't written to suit such filesystems, you can still get screwed. Again, it depends on your use case - does your database backup software change every bit in every block if one byte in the first 512 changes? If so, any form of de-dup may get you nothing - especially if you keep those backups on a dedicated partition on your hot backup site - you'll just be wasting processor time.

      There's no substitute for knowing what you're doing, unfortunately. One-size-fits-all solutions usually don't.

    11. Re:Why don't you just hire a competent sysadmin? by swb · · Score: 1

      I agree on the competent, but I think you're stretching "competent sysadmin" to "skilled systems developer" if you're including the ability to write I/O interfaces to enable copy-on-write file dedupe.

      As for dedupe, I see the situational advantage to file dedupe but it seems most products I run across with dedupe are based on block level dedupe, I guess because it can effectively dedupe files without the overhead of copy-on-write for a whole file.

    12. Re:Why don't you just hire a competent sysadmin? by Medievalist · · Score: 1

      The easiest way to do that is to cut up the files into blocks and compress them. If two blocks are the same, you don't recompress them but just put in a link to the previous compression. This is what (roughly speaking) BZIP2, RAR, ACE and some other formats do.

      That's very interesting! Thank you - I will look into BZIP2 more deeply as time permits.

      My experience in the field has been that premature compression can be the bane of efficient business continuity planning. Real life example: your client wants to make nightly offsite backups of a live, highly active email system. This can be done using a combination of LVM snapshotting and rsync --link-dest (and you could multicast that backup to multiple sites if rsync batch mode actually worked, which I'm sure it will someday). But if there are re-organization and compression jobs already running on the source system, you'll run out of bandwidth, because there will be too many daily changes and the client can't afford more than a couple T1s. If you stop doing disk space optimization on the source system, instead just adding more hard drive (use AOE cheap multi-terabyte arrays if necessary) you may be able to bring down the number of changes found by rsync's block checksumming to where you can fit easily in the site-to-site WAN bandwith constraints. Now you've got to worry about db performance, so you shove the mail into maildirs and use the filesystem as your db and you're good to go.

      As you point out, the magic lies in creating a working system from all the abstract theory. Typically you have to make compromises in one area to suit another... which is why I think a competent sysadmin is the key to getting any systems job done right. Buying fancy products or worshipping the approach of a particular vendor just doesn't cut it once you've passed a certain level of complexity.

    13. Re:Why don't you just hire a competent sysadmin? by Medievalist · · Score: 1

      You've got a very good point about my high expectations for competence... I plead guilty due to advanced age!

      When I got started you didn't call yourself a sysadmin if you couldn't parse a core dump. You had to have already been a systems programmer, and you usually didn't get to do that until after you'd been a successful apps programmer. Nowadays most systems are so much simpler to administrate (and core dumps so much less useful, too) that you don't necessarily need programming experience to achieve some minimal level of competence.

      I personally still wouldn't hire an admin who couldn't code to a standardized syscall, though. If you ignore accreditation (college degrees etc.) and just focus on actual ability, you can find some really smart, capable people out there looking for IT jobs.

    14. Re:Why don't you just hire a competent sysadmin? by Jappus · · Score: 1

      The easiest way to do that is to cut up the files into blocks and compress them. If two blocks are the same, you don't recompress them but just put in a link to the previous compression. This is what (roughly speaking) BZIP2, RAR, ACE and some other formats do.

      That's very interesting! Thank you - I will look into BZIP2 more deeply as time permits.

      Do note though, that BZIP2 only follows my description very roughly and indirectly, as it will not actually cross-link what its documentation calls "blocks" directly. While it does split up the input stream into blocks, it will not actually cross-link them. It still processes the different blocks separately. The cross-linking compression is only done inside the blocks and indirectly through the properties of the so called "Burrows-Wheeler Transform" -- so in a way BZIP2 forms "sub-blocks" inside its blocks. This is a necessary compromise due to its stream-based nature.

      So, in other words: While dedup and compression do follow the same general approaches as I outlined above, their specific implementations of course do differ in some big, but also sometimes deviously little ways. So when I say "roughly speaking", I really do mean roughly speaking. :)

  45. bacula for backups by Anonymous Coward · · Score: 0

    if you want to have backups using deduplication (i.e. 100 identical boxes only get saved once ) you can use bacula.

    more about that here : http://www.bacula.org/en/dev-manual/main/main/File_Deduplication_using_Ba.html

  46. BackupPC? by rathaven · · Score: 1

    Not sure how much development it gets these days but BackupPC looked reasonable but wasn't bomb proof enough for the systems I looked at it for. It primarily uses rsync to copy files (changes only) but then "deduplicates" the rsyncs. It was actually "deduplication" via none lossy compression but in reality they are similar technologies - they both look for repeat data, make a record of the repetion and what is repeated and remove the repetition. It doesn't shrink your primary storage at all - its purely about a duplcated sets of data.

  47. Nexenta and Napp-IT by Anonymous Coward · · Score: 0

    Nexenta plus Napp-IT and LOTS Of RAM will do the trick for 16 TB or less. Been using it For almost two years and never had a problem.

  48. BackupPC by danpritts · · Score: 3, Informative

    backuppc is backup software that does file-level deduplication via hard links on its backup store. Despite the name's suggestion that it is for backing up (presumably windows) PCs, it's great with *nix.

    http://backuppc.sourceforge.net/

    Its primary disadvantage is the logical consequence of all those hard links. Duplicating the backup store, so you can send it offsite, is basically impossible with filesystem-level tools. You have to copy the entire filesystem to the offsite media, typically with dd.

    It also can make your life difficult if you're trying to restore a lot of data all at once, like after a disaster. You take your offsite disks that you've dd' copied, hook them up, and start to run restores.

    The hard links mean lots and lots of disk head seeks, so you are doing random i/o on your restore. This is really slow. If I ever have to do this, my plan is to buy a bunch of SSD's to copy my backup onto. Since there are no seeks on SSDs it will be much faster.

  49. Re:yuo 74il it! by Anonymous Coward · · Score: 0

    I've been seeing things like this a lot lately, and it secret communication much like how secret agents get orders from codes in advertisements, etc. I've nearly cracked the code. I can't say much now, but I can tell you that these are very nefarious people up to no good. They are very powerful and not your typical slashdot commenter.

  50. But Duplication is the POINT of backup! by Anonymous Coward · · Score: 0

    With each copy, you add to the security.
    If you want to deduplicate, simply stop making backup.
    Because that’s what it results in in the end anyway.

  51. Easy, use OpenIndiana or NexentaStor by Zemplar · · Score: 5, Informative

    Yep, put a nail in OpenSolaris' coffin. Instead, I use and recommend OpenIndiana and NexentaStor (or Nexenta's community edition if you prefer).

  52. Squashfs creates deduped and compressed archives by ploppy · · Score: 2

    Try Squashfs which creates deduplicated and compressed filesystem archives (http://www.linux-mag.com/id/7357/ for a good journal article).

    If you're using Ubuntu, Debian, Fedora Squashfs will be already built into your distro kernel, and the squashfs-tools will also already be available in your distro repository.

  53. static file dupes.. by Anonymous Coward · · Score: 1

    http://sourceforge.net/projects/staticfiledups/

    If you have a large collection of files, particularly files that do not change often, this set of scripts can _help_ you manage them. It stores a database of files (currently as a flat text file), so that they're only hashed once, and will provide you a list of duplicate files on asking. There's a script to check each file in a group of duplicates and link them together, and a script to remove any number of duplicates from a group, ensuring that there is at _least_ one copy remaining somewhere. There's another script to help you determine which file to keep, based on a simple (complex?) rule-set of what directories are more important than which other directories.

    Should you wish, it'll also tell you directories with the greatest number of duplicated bytes are -- ordered descending.

    Changes have been made since the last update of this project, and I'm currently trying to rewrite it into a C project with sqlite backend and better detection of file changes, but I lack the time for this to happen any time soon.

  54. LVM magic by Urban+Garlic · · Score: 2

    There's a form of deduplication supported by the Linux kernel, if you use the logical volume manager. If you create base LVM device, and then create a snapshot of that device, the snapshot only requires sufficient real estate on the host physical volume to store the diffs between the snapshot and the base. You can use this for "freezing" a file system to do back-ups, or for incremental back-ups, or whatever.

    My rather limited experience with this is that, if you have more than a few snapshots on a base device, your write performance degrades very raplidy. There's also a hard limit of 255 snapshots per device.

    You can also do file-based deduplication with the "rsnapshot" tool, which has been available for many years.

    Also also, I haven't kept up, but I seem to recall that ZFS for linux was promising this as a major selling point.

    --
    2*3*3*3*3*11*251
    1. Re:LVM magic by asdf7890 · · Score: 1

      My rather limited experience with this is that, if you have more than a few snapshots on a base device, your write performance degrades very raplidy.

      This is the case. Snapshots volumes contain the original data, so if a block is written to it must first be copied to all active snapshots of the device. This is not generally a problem as snapshots are intended for short-term use, but if you have several active snapshots write performance can degrade very badly. Changing a block a second time will not result in a snapshot access though, not will any read operation, so the performance problem for a number of I/O patterns the performance effect is minimal.

  55. For something new: BUP or BTRFS by Korkman · · Score: 1

    Have a look at bup (https://github.com/apenwarr/bup). Though still very new and missing some features, it's pretty stable, fast (at deduplication, restore is another story) and very effective. Better ratio than lessfs, sdfs and zfs. I'm rather impressed how it sucks in full partition images, several hundred gigabytes, each day at my place. It's meant for virtual machine images. File based backup is also included, but still missing meta data AFAIK.

    Also, have a look at Btrfs. Btrfs does not include deduplication per se yet, but you can use volume snapshots and rsync --inplace so it only does block level changes within updated files, if filenames don't change (watch /var/log).

    1. Re:For something new: BUP or BTRFS by Anonymous Coward · · Score: 0

      BTRFS? He said it's for company data. You know... important stuff. Not his hentai collection.

  56. ZFS is now on Linux not just ZFS-FUSE by Anonymous Coward · · Score: 0

    Do I think its totally optimized and stable no. But ZFS is now on linux. Please read on my blog for a setup which I have put together using the smarts of many good people.

    Enjoy the reading

    http://solution-wanfuse.blogspot.com/

    No Warranties are intended or implied. Use at your own risk!

  57. deduplicated backup by Anonymous Coward · · Score: 0

    try out cyphertite ( https://www.cyphertite.com/versions.php ), it does encrypted backup with deduplication across hosts that share crypto keys.

    the software is open source, runs on *nix, compresses, encrypts and dedups data for backups.

  58. OpenBSD's Epitome by funkboy · · Score: 2

    OpenBSD has had the Epitome deduplication framework for some time. I believe version 2 is considered production-ready.

    1. Re:OpenBSD's Epitome by Anonymous Coward · · Score: 0

      It looks like it transformed into Cyphertite??

  59. cyphertite by Anonymous Coward · · Score: 0

    Hands down, Cyphertite. Been using the beta version for quite a while without issues. It is developed by some OpenBSD developers and runs on my FreeBSD and Linux machines. I guess they have a Windows version coming out soon too. Full recommended.

  60. I wonder about this too.. by way2trivial · · Score: 1

    Consider that subscribers can see stories early (which time goes with a story? live for subscribers or live for all?)
        and they are also available on the firehose-

    you can ad comments on the firehose too.. if converted to a story- would the comment time match?...

    --
    every day http://en.wikipedia.org/wiki/Special:Random
    1. Re:I wonder about this too.. by AliasMarlowe · · Score: 1

      you can ad comments on the firehose too.. if converted to a story- would the comment time match?...

      AFAIK, comments added while a story is in the Firehose do NOT get transferred. At least, I posted a couple of comments to firehose stories some months ago, and they stayed in the firehose when the story was subsequently published.

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
  61. OpenSolaris is dead, but ZFS lives on by nrozema · · Score: 1

    The future of ZFS and the product that was OpenSolaris has really started to take shape over the last few months and there is a lot of good work going on around it. Illumos has set up a proper foundation that will be shepherding the development of their OS and ZFS fork. They've got some good commercial backing (Nexenta, Joyent, and others), and many of the original ZFS engineers from Sun are actively involved in the development. A lot of work is going on right now in terms of revamping the versioning scheme to ensure some level of feature interoperability between "open" ZFS and "Oracle" ZFS (assuming Oracle chooses not to play ball in the long run).

    If you're looking for an inbetween solution, Nexenta is at an interesting place in the market. They are an order of magnitude cheaper than the tier 1 providers, but you're not completely on your own if you still have interest in some sort of commercial support contract. For the record I'm not affiliated with them in any way other than being a satisfied customer.

    I'll also echo the previous comments about ZFS dedup and RAM - you need enough memory for the entire dedup table to fit in RAM (or a fast L2ARC SSD) or performance will tank. There is a formula buried in the documentation somewhere for determining requirements based on the size of your pool.

  62. I don't now where the OP got the idea that ZFS is by tdp252 · · Score: 1

    Oracle is aggressively marketing it's ZFA-SA (Storage Appliance) as a competitor to the likes of Netapp and EMC. http://www.oracle.com/us/products/servers-storage/storage/nas/overview/index.html

  63. ZFS is it, for Solaris, FreeBSD and Linux by Anonymous Coward · · Score: 0

    OpenSolaris has a brighter future than you think but it is now under the name Illumos. All the SUN developers went to work for either Joyent or Nexenta, both of which maintain open source OpenSolaris distros.

    ZFS is also available as a native filesystem on FreeBSD, and as a FUSE filesystem on Linux found here http://zfs-fuse.net/ Don't let FUSE scare you. for a backup system or a NAS used primarily for backups, you won't notice any performance issues.

    ZFS is where the action is when it comes to a forward looking full-featured open source filesystem. However do be careful with dedup. Ever heard of those 1K .zip files which expand to fill your entire hard drive? All dedup technology is a cousin of .ZIP and if you don't plan things out you can easily create a system on which you don't have enough free disk space to do certain maintenance activities. But of you do your research you will learn how to configure your zpools, etc. to avoid these problems. Open source based NAS is more likely to have a problem because people tend to cut corners and skimp on the hardware. Nothing wrong with saving money, just make sure that you factor in the fact that you will occasionally need to recover filesystems or transition filesystems off a bad disk onto a new good one.

  64. Why not support a project? by msobkow · · Score: 1

    The article says that commercial de-dupe solutions are too expensive. It's not cheap technology, that's for sure.

    But it's unreasonable to expect a solution for free to such a complex problem. Rather than try to find a solution that "is ready for customer deployment", they should be seeking out a solution whose design meets their goals, and FUND that project. Too many companies think open source means free. And it does, technically.

    But if you want quality open source solutions, you're either going to have to pay to help speed up development, or you're going to have to wait for years while people work on it in their spare (and unpaid!) time and hope that the key developers don't abandon the project completely. And make no mistake, with any open source project of any size, there are key developers who produce the majority of the code. Software with as many contributors as the Linux kernel are very, very rare.

    Most are more like Eclipse, where a HUGE chunk of the funding comes from one company (IBM in the case of Eclipse.)

    It's high time companies started to realize that open source is a way of sharing technology, not a free as in beer provider for your every whim and want.

    --
    I do not fail; I succeed at finding out what does not work.
  65. Few posters seem to understand what DeDup is by caseih · · Score: 1

    And one that knows gets modded down as an MS Shill for talking about how NTFS now supports DeDuplication.

    Most of the posters seem to be confusing copy-on-write with DeDup. Rsync cannot dedup. Time Machine is not dedup. Dedup means different files (not just different *versions* of files) share links to the same block, written just once (or twice) to conserve space. Rsync with hard links and Time Machine are just copy-on-write mechanisms. Similar but different!

  66. how do i say this...? (a little OT) by bored · · Score: 1

    But dedupe is 80% snake oil.

    First reason, redundancy. If your backup policy specifies that your making copies of the data on a regular basis, and you then proceed to delete all the copies but one, why are you making the copies in the first place? Maybe instead of dedupe you need better backup software that can detect the redundancy and simply choose not to back up what hasn't changed.

    Second, performance. By its very nature dedupe degrades over time, the dedupe vendors battle this in a number of ways (secondary caches, inverted dedupe streams, etc) . Eventually though streams of data on become sequences of tokens scattered all over the storage system in nearly random patterns. Its the same as having a file system where every 4k of data in a file requires head seeks.

    Scale, as the amount of physical capacity increases the need to maintain hash lookups for that physical capacity increases. These hash lookups pretty much must resides in physical RAM. This leads to expensive dedupe nodes or massive dedupe inefficiency if the data is split across multiple standalone dedupe appliances.

    Price, the above limits tend to drive the price per deduped MB up beyond the price of RAID arrays from 2nd tier vendors like nexan, acnc, etc.

    Now all that said, there are places where dudup provides an advantage, but they are few and far between. That is because not everyone get 30:1 (especially if their backup software isnt doing full backups). Generally the dedupe systems are at the bottom of the performance curve and not everyone is willing to grow their backup window or slow down there apps either. That tends to leave them in fairly low end enviroments often better served by inexpensive raid boxes.

  67. Deduplication tech comparison table, and backshift by Anonymous Coward · · Score: 1

    I've put a deduplication technology comparison table here.

    Most deduplication technologies are SIS (deduplicates only entire file content at a time - requires O(n^2) storage for large, slow growing files) or fixed-width blocks (has problems if you change a byte at the beginning or middle of a file).

    The strongest offerings do sliding block (or what I've been calling variable-length, content-based blocking). These don't have problems with inserting or changing or deleting a byte somewhere in a file.

    I've designed and coded a backup system that does variable-length, content-based blocking for deduplication, called Backshift. It's very nearly ready to hit 1.0, mostly just needing a few more users to try it out. It's got a comprehensive automated test suite, lots of documentation, runs on all the major Pythons except IronPython (fastest on Pypy - Pypy's even faster than CPython combined with Cython for this application), and has been ported to a variety of Linuxes, DragonflyBSD, FreeBSD, OS/X, Cygwin, Haiku, Solaris and Open Indiana.

    In addition to the deduplication, it compresses the deduplicated chunks with xz (with a bzip2 fallback if none of the 3 methods of doing xz work). Also, if it notices that a chunk grows when compressed, that chunk gets stored uncompressed - so backing up a file that was already compressed pretty hard doesn't require increased storage in the backup repository.

    Use:

    • To backup a filesystem, you pipe find -print0 to it.
    • To restore a directory, you give it a starting directory and ask it to assemble a tar archive from the pieces and pipe that to GNU tar (which of course can optionally be piped over ssh first for clientless remote restores).
    • To verify a backup, you can easily use GNU tar's verification mode and a file count.
    • To list what's in a backup, you give it an optional starting directory and ask it to list the files.

    The subdirectory specifications are excelerated quite a bit over what plain tar would give.

    It sometimes acts so much like tar (especially for restores and listing contents) that you might be tempted to think that it's storing things as tar archives behind the scenes - but it's not.

  68. Illumos by Blackknight · · Score: 1

    You can still use OpenIndiana which is based on Illumos, the fork of OpenSolaris. A lot of the dev guys at Sun have left the company and now contribute code to the project.

    In fact one killer feature is that they ported KVM to Illumos. Now you can run VMs and take advantage of the many features of zfs including deduplication.

  69. BackupPC by evilviper · · Score: 1

    BackupPC is a free disk-based backup system for Linux. It's based on rsync, but written in perl. It supports file-level dedupe, which is most of what you want for backups, and installation on RHEL5 is just a yum install (if you have RPMForge/EPEL configured) and a couple service starts.

    It handles scheduling backups of multiple systems concurrently, up to the number you decide, within a timeframe you decide. Will send emails and alert on the web interface if any systems failed, or are over-due and haven't been backed-up. You can assign a (non-admin) user to a given system, so they can login to the web interface and manually launch backups and view and restore deleted or old revisions of files to the live system at-will, as well as getting email notiifications for their systems.

    It supports backups over ssh, rsh, smb, nfs, native rsyncd, and probably others. It has a very polished web interface to configure absolutely everything about the backup process (except the initial ssh key setup), and even allows you to coonfigure pre commands to have it tell the OS to make a snapshot (typically LVM on Linux, and VSS on Windows) and backup from the snapshot.

    Above and beyond rsync (or rsnapshot for people that can't write a 2-line shell script with rsync) BackupPC has a few features like doing a full checksum on X% of unchanged files which makes for a very good sanity check. It also runs as non-root users, while still preserving devices, permissions, etc. The downsides versus scripting rsync are that BackupPC is still locked into the full/incremental model, and after dozens of incrementals, performance really suffers until a "full" backup is performed. It doesn't properly handle the copyright banners some systems will print, when native rsync will behave properly. And it has it's own filesystem format that mangles filenames and such, but there's a FUSE driver (also in perl) that allows you to virtually mount it, which is very important... when I last looked, said FUSE script needed a one-line fix for either raw or block device nodes, I forget which.

    In general, BackupPC is the way to go. It's pretty flexible, polished, capable, and provides the reliability you want in a backup system more than anywhere else. The issues could be fixed by an interested halfway decent perl programmer with some time. It's really very, very close to being the ideal backup solution and surpassing the propietary solutions, with the above issues being the big stumbling blocks.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  70. FreeBSD + ZFS by smash · · Score: 2

    If you don't think opensolaris has a future fair enough. FreeBSD does. FreeBSD currently supports ZFS v28, which has dedup. Be aware you need plenty of RAM.

    --
    I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  71. Really? by lmnfrs · · Score: 1

    For things like DV footage, I don't bother with the dedup.

    Even with M. Night Shyamalan movies?

  72. De-Duping with BTRFS by Anonymous Coward · · Score: 0

    BTRFS is far from stable, but it's cow based design allows simple file-based de-duping usin cp --reflink. Some informations can be found here.

  73. Backup purposes? by Alex+Belits · · Score: 1

    We've been using deduplication products, for backup purposes

    Here is your problem. Backups should not be copied in myriads of instances and deduplicated on top of that insanity. They should be incremental.

    --
    Contrary to the popular belief, there indeed is no God.
  74. Free deduping utility for Windows. by Anonymous Coward · · Score: 0

    High-rely.com has a free deduping utility for Windows called HRDeDupe. A bit simplistic, but designed for use in scripting.
    http://high-rely.com/HR3/includes/downloads.php

  75. Little benchmarking utility I wrote. by SuricouRaven · · Score: 1

    I wrote a program some time ago that does block-level dedupe within single files. It's not actually any good on a live filesystem at all - I made it as a compressor for drive backups and VM images - but it can be used to at least estimate space savings. If you run a drive (It'll take a block device under linux) through this, the resulting file size will tell you potentially how much capacity deduplication could save under ideal circumstances. If this software can't shrink the drive, don't bother even looking into deduplication: It isn't going to work.

    http://birds-are-nice.me/programming/BLDD.shtml

    It isn't really good enough for general use (things like hard-coded references to /tmp/ precluding a Windows compressor), just a little project I made as a proof-of-concept. Takes a ridiculous time to run too, but that's the cost of dedup.

  76. My toy project for deduplication by Anonymous Coward · · Score: 0

    https://github.com/dsrbecky/DeltaZip/downloads

    "Creates zip-like files which can reference data from other zip files and thus avoids storing it twice. It is intended for incremental backups. It works on sub-file level using rolling hashes and is therefore very fast and guarantees to find any data duplication. Parallel computation makes it faster then normal zip. License: MIT"

  77. Re:POST-Processing, be warned! by scsirob · · Score: 1

    Post processing is the cheap way out, as it takes otherwise idle CPU time to get the job done. But it has a number of drawbacks and one is restorability.

    Think about it..

    You have a 1TB disk. You fill it up with data. Windows post-processes this and brings it down to 500GB. Cool! So you add another 500GB and a bit more, and eventually you end up with, say, 2TB worth of data on a 1TB disk. Obviously you are a prudent admin, so you make backups of your data. 2TB backups.

    And then it happens. The drive dies. Luckily you have a spare disk, so you quickly put a fresh 1TB disk in. And you start restoring..
    Guess what happens at 50% of your restore?? *DISK FULL*...
    So either you have to buy double the amount of disk, or you have to pause the restore each time just before the disk fills up, let Windows redo its post-processing dedupe and continue. Hmmm. Wonder if your boss will like that.

    Think twice before you adopt post-processing dedupe

    --
    To Terminate, or not to Terminate, that's the question - SCSIROB
  78. Why dedup? by jpvlsmv · · Score: 1

    Let's take the marketing claim that dedup will save you 10x on storage.

    And let's assume that your tier-1 vendor charges you $2000/TB (raw) for their dedup appliance.

    That's an effective cost of their solution of $200/TB of deduplicated data, which is close enough to the cost of a hard drive to ignore, especially when you talk about corporate budgets.

    Now, from experience, $2000/TB is a low price for a dedup appliance. $5000 is closer to the mark. That means you get to spend $500/TB on your whitebox non-dedup storage array, which means you can easily mirror (RAID-10) your collection of SATA drives, and still hit your target price.

    --Joe

    1. Re:Why dedup? by smash · · Score: 1

      A proper storage array gives you far more features than a box of sata drives.

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  79. Open source file based deduplication by lopgok · · Score: 1

    It is trivial. I wrote a python script to do it. It is licenced under gpl 3. It uses hard links, and I run it every time I backup a significant amount of data to my 10tb fileserver. As it uses hard links, it is designed for storing backup data, not for general usage. It can be found at http://jdeifik.com/ under 'Disk deduplicator'

  80. There's quite a lot of dedup work by Bozovision · · Score: 1

    I was doing similar research a few days ago.

    Some of these are already mentioned...

    • Lessfs - v1 is stable, v2 is pre-alpha/alpha. http://www.lessfs.com/
    • Blackhole - http://www.vanheusden.com/java/BlackHole/ - requires Java, which seems like a bad idea to me for a block level device, but I haven't tested it yet.
    • SDFS from OpenDedup - http://code.google.com/p/opendedup/ - http://www.opendedup.org/ - looks very promising, but may have stalled
    • Dedupfs for Ext3 - http://pages.cs.wisc.edu/~kosmatka/dedupfs/
    • ZFS. You know about that.
    • DragonFly/Hammer - http://www.dragonflybsd.org/hammer/ includes dedup. Competitor to ZFS and Btrfs, also using Btree. Includes block level dedup, but I'm not sure if it's fixed block or not. Suspect it is fixed.
    • Btrfs - there's a patch. Not sure if it's in mainlined yet. But without fsck btfs is not trustworthy enough. That's coming soon, but has been for a while. In case you read this as being negative about btrfs, it's not; it's an awesome file system, combining modern ideas and an excellent implementation, but it's still at testing stage for critical data.

    Other stuff:

    • Dext2 - an idea. No code. http://code.google.com/p/binarywarriors/
    • BackupPC, the next version may have block level dedup, it's been suggested/requested. Numerous people pointed out the hard linking scheme it uses. I'm backing up VM images, which is what started me on this block-level dedup search, and when you have a small change in a 60BG file, it's a new file. (Yes, I have thought of schemes to split them.)
    • Bacula have been experimenting with block level dedup, fixed and sliding. May be in future versions.
    • Bup - https://github.com/apenwarr/bup has many of the ideas. It's not a file system, but could be reconstructed, I think. Based on Git store. I recommend reading http://apenwarr.ca/log/ which has more, and is entertaining. I think this is an excellent approach. Read back in his blog for details on bup ideas.
    • SquashFS - for static data.
    • Epitome - http://www.peereboom.us/epitome/man/ - for static data too, I think. Not fully investigated.
    • I know I saw at least one Google Summer of Code submission about dedup. Haven't followed it up yet, and couldn't find the tab in my browser.
    • Interesting conversation - http://news.ycombinator.com/item?id=2932335

    By fixed block I mean that the file system does not search out shared data when the blocks are not on block boundaries. So if you add one byte to the beginning of a 10 GB file, and that has the unfortunate consequence of rippling up through all the blocks that make the file, then there will be no block level sharing with the original file. Of course that's a pathological case, but you get the idea.

    Original poster, perhaps you could keep us informed of your findings? There's at least me who is also interested.

  81. eXdupe by Anonymous Coward · · Score: 0

    Check http://www.exdupe.com/ which is open source and uses sliding window deduplication like rsync, but multithreaded and alot faster. It's a nice simple cmd line tool, not a huge client/server setup or file system.

  82. what kind of dedup? by javabsp · · Score: 1

    Do you need dedup with dynamic block sizes? Or is fixed block size enough? Comparing data domain (or similar products) with ZFS's dedup (or most other primary storage "dedup" filesystems) is comparing apples and oranges.

  83. Mod parent informative! I was overly blithe... by Medievalist · · Score: 1

    inotify can't watch an entire filesystem. No current *notify kernel hooks can offer this, unfortunately.

    Yoiks, you're right. It's been over a year since I wrote an inotify interface, and I forgot that! In real use - well, OK, in my real use anyway - if I try to set up a completely recursive structure that adds new watches as new folders are created, the number of inotify events due to normal user operations becomes so high that events start getting dropped with IN_Q_OVERFLOW yadda yadda yadda. This turned out not to be a problem for me specifically but that was only because I wasn't de-duping, I was just triggering events on client file transfers, which were restricted to specific folders anyway.

    I like being corrected, because I don't like being wrong. Thanks!! And thanks for the Stearns link, too - I may use some of that code (with soft links instead of hard links, though, for a particular use case I have in mind).

  84. Uhmm Microsoft already has De-dupe today, doesn't by Anonymous Coward · · Score: 0

    Haven't they already been shiping their "Storage Server" platform with integrated de-dupe? Seems to be a feature in 08R2 from their ads.

    And Linux has ZFS with de-dupe, if you care for FUSE anyway.

  85. CRC32 collisions by tepples · · Score: 1

    CRC32 is easy to forge, and due to the birthday paradox, it's likely to even happen accidentally if you have a few thousand files of the same size. How is SHA-1 slow in a disk- or network-bound application?

    1. Re:CRC32 collisions by GameboyRMH · · Score: 1

      I'd planned to do some research into the likelihood of CRC32 collisions, obviously it had to be somewhat higher than SHA1 with the hashes being so much shorter. If it's that likely then I'll have it do an SHA1 comparison to confirm that the CRC32 match isn't just a collision. This second check should also bring the chance of a file being incorrectly deduplicated due to a collision as close to zero as possible, so the script will give even more than the certainty of SHA1 with nearly the speed and low CPU usage of CRC32.

      The application isn't sure to be disk-bound or network-bound especially in the age of SSDs, and even then, it's better not to make an app that wastes power by assaulting the CPU.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  86. Sold your soul to SATA 6G yet? by tepples · · Score: 1

    This second check should also bring the chance of a file being incorrectly deduplicated due to a collision as close to zero as possible

    Which means you end up having to fully rescan any file that has been involved in a CRC32 collision.

    so the script will give even more than the certainty of SHA1 with nearly the speed and low CPU usage of CRC32.

    Answers to this question on SO imply that on an x86-64 CPU, both Skein and SHA-1 can process 300 MB/s. So unless you're already using SATA 6G, you're still disk-bound.

    The application isn't sure to be disk-bound or network-bound especially in the age of SSDs

    If you're backing up an SSD to an HDD, you're still disk-bound.

    1. Re:Sold your soul to SATA 6G yet? by GameboyRMH · · Score: 1

      Thought I'd update this. I was working on the script today (decided to go with md5 + byte comp.) and not only is btrfs deduplication not stable, but from my experience today, btrfs is still far from ready for production. When the script actually tried to reflink the file, the system would freeze on the first or second reflink operation. Plenty of recent reports of similar behavior, resulting in data corruption. I think I'm gonna switch this backup drive I was testing btrfs on back to ext4 and stay away from btrfs until the developers consider it finished.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
  87. Re: Backups that are not by Keybounce · · Score: 1

    Time Machine, Apple OS.

  88. Re: Backups that are not by jd2112 · · Score: 1

    Time Machine, Apple OS.

    Doesn't do much good for all of the Windows, UNIX and Linux servers I'm backing up...

    --
    Any insufficiently advanced magic is indistinguishable from technology.
  89. Re: Backups that are not by deniable · · Score: 1

    No problems, I'll spec up a brand new XServe and make that happen.