Slashdot Mirror


Linux Equivalents for Novell's "Filer"?

Josh Berkus asks: "One of my clients would love to convert their entire office to Linux. But one thing keeps them tied to a NetWare file server: a little utility called 'Filer' Filer allows the sysadmins to retrieve deleted and overwritten files, up to a week after the event. With 70 secretaries using that server, that ability is crucial. I've looked around the Internet, but cannot find anything quite equivalent in the Linux world, except maybe hourly backups and that's a pain. What the client really needs is a utility/mod for the filesystem or network layer that archives files instead of over-writing or deleting them. I had one kernel hacker offer to write me something like that, but my client does not want to be a test case. Note, that we have nothing against Netware, it's just that this client has historically not been able to get good Novell support. Anybody know anything that's already in production like this? Is Reiser working on this for ReiserFS?" This sounds deceptively easy. If this was a personal machine, this would be easy, but the showstopper is that this has to work as a share meaning that this "trashcan" like functionality needs to be implemented at the filesystem level. While I can understand the submittors desire to not be a test case, if there doesn't exist a ready-made solution to this particular problem, how difficult would it be to add this on to ext2/ext3, Reiserfs or some other suitable open source filesystem and test it for reliability?

24 of 50 comments (clear)

  1. Perhaps... by crazney · · Score: 3, Informative

    Perhaps you could look at cvsfs? Don't know if it actually works, but meh..
    http://sourceforge.net/projects/cvsfs/

    --
    stuff
  2. Linux undelete utiilties by NaveWeiss · · Score: 3, Informative

    Here's a project that supposedly does that. They use a daemon that physically deletes the files after a while. It's not as cute as in Novell, where erased files were physically overwritten only when the system really needed the space.

    --
    Slashdot community, please notice: I am looking for a girlfriend.
    Nave H. Weiss
  3. Re:is this to trivial? by Linux_ho · · Score: 2

    Yes, too trivial. It's a fileshare. You know, NFS, SAMBA, netatalk, something like that. They're not using rm to delete files. Besides, deleting the rm binary would be a really bad idea.

    I have heard of people using RCS for similar functionality. I think it might work, because as I understand it it creates archives containing the original file and all modifications to it over time. However, I haven't used it myself, so I really dont have any idea how well it would work with a fileshare. Good luck!

    --
    include $sig;
    1;
  4. unlink() by Saint+Nobody · · Score: 3, Informative

    I know i saw a library a while ago on freshmeat that supplies a new unlink() function. This version will move the file into a trashcan area rather than just delete it. it could be worth investigating. after a quick search, it's apparently called libtrash.

    I don't really know the software, so i can't vouch for it, but it seems to be taking a sensible approach. of course, the whole idea breaks if you use the kernel nfsd, so be careful with that.

    --
    #define F(x) int main(){printf(#x,10,#x);}
    F(#define F(x) int main(){printf(#x,10,#x);}%cF(%s))
    1. Re:unlink() by AvitarX · · Score: 2

      All the links so far are about accidental deletion prevention. The real problem I think is most likly the accidental overwriting. The power to get your file from 15 minutes ago on Novell is awsome. Unless you have a utility that backs up files as they are overwritten, and then allows them to be retrieved you are not going to get the functionality needed. You need a trashcan far more advanced then either Linux or Win has given you.

      --
      Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
  5. Automated Nightly Backups by cpuffer_hammer · · Score: 2

    This would also have the advantage that is someone deleted even part of a file the could even get that back later.
    Make nightly (incremental) backups on a 14 day rotation. Putting them on a large file storage system.

    Than create some perl scripts to retrieve the files when someone wants to.

    $>getback letter_to_customer*

    (0) letter_to_customer_20020927
    (1) letter_to_customer_20020928
    (2) letter_to_customer_20020930

    Which one (enter for all)?

    Of course a GUI would be more office friendly.

    All the parts would be off the shelf so you can say it is not a test case. And you would have a backup system that had day to day value.

    1. Re:Automated Nightly Backups by aaarrrgggh · · Score: 2

      The time we found ourselves using salvage the most at my old company was when we needed to get back to a particular revision of a document. Sometimes, the revisions were casual, just faxing something off to a client, and waiting for comments. You continue working with the document, possibly changing direction and making the previous issue irrelevant.

      Although proper revision control procedures would save you, when a lot of things are happening at once it doesn't always happen.

      Salvage is no substitution for proper backups, but it does bridge the gap when you need to get back a particular file from a particular time and day! (Not to mention the fact that it is immediately available from the user's machine, not requiring any administrative effort, changing tapes, etc.!)

    2. Re:Automated Nightly Backups by dubl-u · · Score: 2

      Here's one method for he backups: Somebody has taken the time to put together a nice page on how to do snapshots with rsync.

  6. NetApp filers are ideal for this by sclatter · · Score: 3, Informative

    I'm guessing this may be out of your budget range, but you should know about Network Appliance filers' snapshotting capability. The filers create online "backups" by saving the state information about a filesystem. You could have snapshots of the state of the filesystem every day for a week and several times a day. I think they support something like a dozen snapshots at a time.

    All this does take up space on the filer, but only the changed blocks have to be saved. As long as your churn is pretty low it's not that much extra space.

    If you lose or munge a file, all you have to do is cd to a special .snapshot directory, choose the latest image that has your file intact, and copy it back to the live filesystem. It's perfect for those belly churning "Ooops" situations.

    Snapshots are also used for backups, so that you are always backing up a totally static image of the filesystem. No files changing midway through.

    Yeah, filers are spendy, but when it comes to fast, reliable, easy to administer file service I really believe they are the best.

    Other than that, I think Veritas added a similar capability to VxFS, but I don't recall it being quite as elegant.

    Sarah

    1. Re:NetApp filers are ideal for this by foobar104 · · Score: 2

      FreeBSD isn't Linux....

      Which is one of the very best things about it.

  7. Undeleting files under reiserfs by fingal · · Score: 3, Informative
    As chance would have it, I had to perform this task for one of my clients at the weekend as they had just deleted their entire active database (doh!). After a load of research, I found that the best resources are to be found in the reiserfs mailing list.

    The key post was this one which pointed me at using:-

    reiserfsck --rebuild-tree -S -l rebuild.log /dev/yourdevice

    Very scary. Had to boot into a rescue system off CD first, mount HDD RO, then get enough tools to be able to backup the HDD to a remote box. Unmount disk and then run reiserfsck. Pray for a bit. Got all the db files back (and because they where in a directory that was deleted, they had all the correct names as well (once I'd found the directory)).

    There was some minor file-system corruption for files that had been written frequently, but this was taken care of by restoring the previous backup and checking everything else from the RPM db. So, all-in-all not an experience that you would want to do on a daily basis, but definately worth it to restore 2 months of lost work (why oh why don't people use backups?).

    As far as kernel hooks for undeleting data, the mailing list link above contains several discussions about this, but the general feeling seems to be that it is possible but Linus doesn't want it (see here.

    --

    The only Good System is a Sound System

    1. Re:Undeleting files under reiserfs by aaarrrgggh · · Score: 2
      The last referenced link:
      Linus has insisted that there is no reason to support undelete at the filesystem level, or anywhere in the kernel for that matter. Don't delete important files and you'll never need the feature ::-).

      If you really need undelete, write a shared library that overloads the unlink() system call and LD_PRELOAD it. This is the right place to do it.

      I think it is really a shame that Linux doesn't suppor this out of the box, but what does the above actually require to implement all of the novell-style functionality?

      Namely:

      Files only overwritten when space is required.

      Every revision of a file is kept!

      Is completely independant of a proper backup solution; the purpose isn't always to recover a file that was accidently deleted, but often to get back to a previous revision.

      It doesn't seem like it can really function as a layer above the filesystem, or the tape backups would include all your revisions as well.

      Companies that use this functionality love it... those that don't suffer blindly with the lost productivity.

  8. Ahhh. Salvage. by FreeLinux · · Score: 5, Interesting

    Filer is in fact a DOS based frontend utility for managing files on Novell Netware servers. Being a DOS utility, it is obvious that filer is as old as the hills but is still very useful. Filer's functionality has been included in the GUI tools that Novell has developed over the years and is included in the outstanding NWAdmin utility and the less appreciated Console 1 tool. Today, the utility Salvage is even included in the Netware Client and is accessed from a context sensitive menu on the client machine's desktop.

    Salvage, the feature's proper name, is a tremendously powerful feature of Netware. Basically, when files are deleted from Netware volumes, they are not truely deleted. They are unlinked or renamed and become invisible to the clients but, the deleted files remain on the Netware volumes. When the Salvage utility is invoked, these files can be displayed, selected and instantly restored.

    Deleted files remain on the volume until the volume runs "out of space", at which time the oldest deleted files are automatically purged as necessary to allow space for new files. It is important to note that the space consumed by deleted files is not reflected in any of the client utilities and does not count in disk quotas. This means that from the clients perspective the volume will show that there are 30 Gigs free despite of the fact that the volume is in fact full, due to deleted files.

    Another interesting note is that deleted files retain their rights attributes. Files invisible to a certain user cannot be seen or restored by that user if they are deleted. Only users that had the appropriate rights before the file was deleted can manipulate these deleted files.

    The deleted files can also be purged manually from individual directories or the entire volume. Purging can also be configured to purge the deleted files immediately which is the recommended configuration of temp directories.

    This beloved feature of Netware has always been admired. The user community has always requested it in other OSes but, as yet, the only thing to even come close is an NT/2000 add-on called Network Undelete, from the folks at Executive Software, the same people that brought us Diskeeper. Unfortunately, it's still not quite the same.

    Several posts have stated that this should be a simple thing to implement. I cannot speak to the ease or difficulty of implementing this feature. However, one does have to wonder how easy it would really be. Considering that Salavge is such an old feature on Netware, that there have been so many requests for it in other OSes and yet Netware is still the only OS to offer it, one must conclude that it is not really so easy to implement.

    If you have found a developer that is willing to try to implement such a feature, I strongly encourage you to get them going, regarless of whether you want to be a test case or not. The community would love and appreciate this feature in Linux and any other OS.

    1. Re:Ahhh. Salvage. by FreeLinux · · Score: 2

      If this feature does in fact make it into .NET Server it will be a good thing.

      You're right about Microsoft's "innovation". First Microsoft invented disk quotas for us then they invented this cool directory thingie and now they are inventing Salvage/undelete. Praise be to M$. :-)

    2. Re:Ahhh. Salvage. by topham · · Score: 2

      Microsoft didn't even write UNDELETE for dos. They licensed it.

      They scare me.

  9. NETAPP by johnjones · · Score: 2

    oh go buy yourself a NetApp and be happy

    they are the reason VA Linux made a mistake
    (check out the VA board....)

    basically you can set snapshots for hourly minutes or whatever but you have to be careful about space

    nice machines

    regards

    john jones

  10. This is a desirable feature by Gerry+Gleason · · Score: 2
    Although there appear to be some partial solutions around for Linux, I do think is would be worth giving it full treatment in one or more of the most common FS modules. It certainly isn't new; I remember liking how the DEC Tops 10 OS handled this. With settable number of generations to keep both for when on-line, and a (usually) smaller one for when you log off. Files are given "generation numbers" that increment each time it is writen and closed, then you can add a generation number to any file reference if you don't want the most recent.

    This needs to be very user oriented and transparent so that it doesn't fail when you need it most.

  11. Re:Why change at all? by toast0 · · Score: 2

    When the commodore wears out (as I'm sure it will), where are you going to get replacements for it?

    By keeping your software and hardware current, you know you can get a replacement part quickly and be confident in the reliablity of the replacement.

    Of course, thats not the point of the posters question.

    The poster's client wants to switch to something they'll get better support from than they have historically recieved from Novell.

  12. Snapshots by NetJunkie · · Score: 2

    They are called snapshots. Many NAS boxes do it and they are VERY helpful. They keep me from doing restores from tape when someone deletes a file. I just grab it from last night's snapshot. I do a nightly snapshot as well as a weekly so that I keep up to a month's worth for each volume (free-space willing...). That way I can go back to a file 3 weeks old without calling tapes back from off-site storage.

  13. Second opinion... by zulux · · Score: 4, Insightful

    Not to be a complete twit - but I woulden't replace the Novell server. If it's stable and does what you want then I'd just let it be. Put your enenrgies into adding value rather than replacing somthing that works with something else. Perhaps a Linux based firewall is needed? Or Linux based VPN so people can get into the office network from home?

    Office types love VPN from home - though I'd sugjest OpenBSD for the job over Linux, both would work fine and make people *very* happy if done correctly.

    Cheers and good luck.

    --

    Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.

  14. LVM snapshotting? by Chaostrophy · · Score: 2

    Doesn't the Linux Logical Volume Management software do snapshotting? Ok, not perfect, but it ought to work.

    http://www.tldp.org/HOWTO/LVM-HOWTO/x136.html

    http://www.tldp.org/HOWTO/LVM-HOWTO/snapshots_ba ck up.html

    Not really efficent for hourly, but perhaps it could be made to work, also look at rsync or some of the options for cp.

    --
    Plato seems wrong to me today
  15. Re:Eliminate the need by erth64net · · Score: 2, Insightful

    So, how often do you create backups? Every 5 minutes, 10, 20, what? In the real world, where everyone makes mistakes (gasp! make a mistake!?!), the end-user most likely made a significant change to a document, only to overwrite the changes or delete the document by accident. The NetWare salvage tool is an excellent tool for "undoing" these kind of mistakes while not wasting time retyping the entire document, or restoring the document from backup, and then pulling together the changes that were overwritten from that point (plus, as the sysadmin, I dont have to spend time restoring the document)...

    Dont be so quick to criticize, it makes you look like an idiot, and turns people off to asking these types of questions in a public forum.

  16. Re:One word: libtrash by Belfont9 · · Score: 2, Informative

    Oops, here.

  17. Ahhh - against the rules by sphealey · · Score: 2
    This beloved feature of Netware has always been admired. The user community has always requested it in other OSes but, as yet, the only thing to even come close is an NT/2000 add-on called Network Undelete, from the folks at Executive Software, the same people that brought us Diskeeper. Unfortunately, it's still not quite the same.

    Several posts have stated that this should be a simple thing to implement. I cannot speak to the ease or difficulty of implementing this feature. However, one does have to wonder how easy it would really be. Considering that Salavge is such an old feature on Netware, that there have been so many requests for it in other OSes and yet Netware is still the only OS to offer it, one must conclude that it is not really so easy to implement

    Ahh - but it is a violation of the Slashdot Code of Posting to mention Novell technology at all, and never in a complimentary way!

    More seriously, most Linux-ians and Slahsdotters have never worked with a properly designed, engineered, and installed Netware network, so they don't know what that system is (was?) capable of.

    sPh