Slashdot Mirror


Looking Back At Microsoft's Rocky History In Storage Tech

nk497 writes "Following the demise of Windows Home Server's Drive Extender, Jon Honeyball looks back on Microsoft's long, long list of storage disasters, from the dodgy DriveSpace to the Cairo Object File System, and on to the debacle that was WinFS."

29 of 241 comments (clear)

  1. Missing ADS by EdIII · · Score: 4, Interesting

    I would have to include NTFS alternate data streams as well. It sounded like a good idea, but in practice it just left huge security holes.

    1. Re:Missing ADS by TheRaven64 · · Score: 3, Insightful

      ADS was introduced for one reason: to allow NT servers to support Apple clients, without the server needing to do some crazy transforms (like MacOS does when writing to a FAT drive, which make it trivial to break the files if you touch them with a non-Mac system). The problem was that most of the rest of the system was not updated - it was an operating system feature written for a single application, which is a pretty good way of introducing security holes.

      --
      I am TheRaven on Soylent News
    2. Re:Missing ADS by bit01 · · Score: 3, Interesting

      ADS was introduced for one reason: to allow NT servers to support Apple clients, without the server needing to do some crazy transforms

      Umm, ADS is doing crazy transforms. Some would say giving it a different name and use different OS calls to access different data is worse than using different names and the same OS call to access the different data.

      Some people, programmers or otherwise, can't tell the difference between giving something a different name/label and actually doing something different.

      This problem is endless in the computer software industry, mainly because of the amorphous nature of software. e.g. redoing OS apps inside a web browser or reinventing file systems inside databases or reinventing hierarchical file systems inside XML and calling it all "new" and "innovative". While there is some invention going on in web browsers, databases and XML, most is just reinventing the wheel. Such software is often necessary for compatibility reasons but recognizing that it is a compatibility layer and putting that compatibility layer at the appropriate interface is the important skill.

      Or in other words meta-data is data. Sorry, but until you understand that in your bones you are not a decent programmer.

      ---

      Has the Least Patentable Unit reached zero yet?

    3. Re:Missing ADS by drinkypoo · · Score: 2

      Umm, ADS is doing crazy transforms. Some would say giving it a different name and use different OS calls to access different data is worse than using different names and the same OS call to access the different data.

      Correct me if I'm wrong, but can't applications access alternate streams by doing something so simple as accessing a different filename?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:Missing ADS by bit01 · · Score: 2

      Things like ADS provide a way to store data about a file which doesn't have an integrated mechanism to store metadata (e.g., EXIF). Keeping it in a separate name and using an alternative API call makes sense from a compatibility and a simplicity point-of-view.

      No it doesn't. It increases the complexity of every program that deals with the file, makes both the files and the accessing programs less portable, hides things from the user they may need to know (mystery program behavior anyone?) and generally just puts a spanner in the works.

      Things like ADS provide a way to store data about a file which doesn't have an integrated mechanism to store metadata (e.g., EXIF). Keeping it in a separate name and using an alternative API call makes sense from a compatibility and a simplicity point-of-view.

      No it doesn't. Storing the "metadata" under a separate name/label (ie. in a file with a related file name) may make sense but using a separate OS call doesn't because the OS is providing no additional service. OS calls are expensive and non-portable and should be kept to a minimum. If you insist on trying to hide such attributes from calling programs then it should be a compatibility layer on top of the OS, not in the OS itself.

      Users largely don't care if metadata is lost because a file is copied to an incompatible filesystem on a flash drive, synced to Dropbox, emailed to a friend, or maybe even printed out.

      Actually they do. So-called metadata is often just as important as the data itself for everything from backups (users are going to be real happy if they discover their data missing because the incremental backup lost it due to bad file dates) to file names (users are real happy when they try to type in or copy some file name/label in their native language and the OS comes back with some cryptic error message) to sorting (users are real happy if they have to deal with a thousand out of order items due faulty character set handling). As just one example amongst many VFAT's poor preservation of metadata like file hierarchies, character sets and links has caused problems for millions.

      but losing the 200 page thesis is unacceptable.

      Losing all user data is unacceptable, whether it's called metadata or not. You're right that some data is more important than others but metadata is there for a reason and deleting it causes all sorts of user-visible furfies. And that is bad. Computer interfaces are unusable enough as it is without introducing even more problems.

      ---

      Are you one of those programmers who expect their users to be mind readers? Think about how your code is going to be used step-by-step!

    5. Re:Missing ADS by Jeremiah+Cornelius · · Score: 3, Informative

      You don't know of the storage technology in VMware, nor of the value of the cooperative storage ecosystem that SAN and NAS players have invested hundreds of millions into.

      This really removes the basis on which you make your further claims.

      In short, VMware is successful as the most capable solution of enterprise-scale, exactly because it virtualises not just server hosts, but brings a virtual model to storage - not to mention networking. There is nothing comparable in the MS world, which seeks to leverage existing cluster technology from Server2008 to present a model for VHD storage.

      Review VMFS for starters:
      http://www.vmware.com/products/vmfs/
      https://secure.wikimedia.org/wikipedia/en/wiki/VMware_VMFS

      Microsoft has a sad hack to commit memory in a way that shaves a fraction off of the VMware machine density advantage. They are still competing with a 2006-era VMware - they have no clue how to get out of this, aside from dumping a billion dollars into compete marketing efforts.

      The massive executive and senior-engineering exodus from MS is a clear sign that -- even in the halls where sacred Kool-Aid is draughted -- the days of leadership are over, almost before they were enjoyed.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    6. Re:Missing ADS by Jeremiah+Cornelius · · Score: 3, Informative

      And look at this. I have never seen a technology so completely dominate the upper right corner of a Gartner quad in years. MS is admirable to be above the horizon in 3-4 short years, but there is no contest, nor will there really ever get to be one.

      http://www.vmware.com/files/pdf/cloud/Gartner-VMware-Magic-Quadrant.pdf

      Management? MS will still try and convince you of SCCM and the broken DCM.

      Security? IPSec isolation everywhere - which your failover times on the IKE renegotiation!

      HyperV is a great, cheap QA and Dev lab solution, because it's free with 4 v-instances on Enterprise SKUs. But if you have to tool dev/test different for deployment that you do production? The savings are a false economy.

      http://www.vmware.com/files/pdf/cloud/Gartner-VMware-Magic-Quadrant.pdf

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    7. Re:Missing ADS by Jeremiah+Cornelius · · Score: 2

      Maybe Gartner is marketing BS. I know they have a LOT more of their bread buttered by MS, than they do by VMW.

      You wan to jump from datacenter-oriented storage and network capability to cloud abstraction? That's not really an argument as it is a diversion. :-)

      > Microsoft is basing Azure on Hyper-V,

      Red herring. Azure is PaaS. The comparison is like saying TiVo is based on Linux. In this case the service-orientation of the IaaS layer (HyperV) services the cloud data center operators, not the end customers.

      > There's a reason Amazon, Rackspace, and most other
      > commerical "cloud" services are based on Xen rather
      > than VMWare.

      Whoa! You already split your line of evidence down one separate path - yet you want to fork the argument again?

      1) Rackspace resells Amazon technology. They are not a multiplier.

      2) Amazon spent hundreds of millions of dollars to develop cloud management and operations frameworks around Xen, their commodity hypervisor of choice (free). If you want to strip virtualization value down to the core, Ring-0 technology and develop your own cloud service for similar costs, go right ahead. Amazon had a business model to develop, not a technology choice. And, I wish 'em good luck in achieving security and compliance targets. That said? Great customer choice for cheap, elastic, "bursty" raw compute cycles. They will thrive as a part of hybrid cloud architectures with application standards.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
  2. Drive Letters by pushing-robot · · Score: 4, Insightful

    IMHO, Microsoft worst offense in storage is drive letters, which provide no information about either the type and structure of the underlying disks or the data they contain, and have caused untold headaches from applications (and the OS itself) being reliant on paths that are arbitrarily assigned, subject to change, and often out of the user's control.

    Admittedly, Microsoft didn't invent the system, but the fact that drive letters still exist in 2011 is entirely their fault.

    --
    How can I believe you when you tell me what I don't want to hear?
  3. Re:Makes me glad I quit Windows years ago by Zombie+Ryushu · · Score: 4, Interesting

    Because Windows Server has Active Directory and Group Policies. and Linux doesn't. Thats what sells Windows Server 2000/2003/2008. When there was a proposal to incorporate OpenLDAP auto confguration policy into KDE - it was rejected. That is why Linux lost the war for the Enterprise desktop.

  4. Re:What's wrong with NTFS? by SuricouRaven · · Score: 4, Informative

    It's not just closed source, but closed standard. Microsoft keeps the specification officially secret (Though I believe you can see if it you agree to an agreemet saying you won't disclose or actually impliment it). That linux can use NTFS is a tribute to many hours of dedicated reverse-engineering and various tidbits of information that escaped until a full picture could be assembled,

  5. Re:What's wrong with NTFS? by Guy+Harris · · Score: 2

    What's wrong with NTFS?

    Many, many things. The MFT (Master File Table) which contains all your file system info... may also contain actual files if they are small enough to fit into the remaining space (i.e. disk block sizes matter). Why is this a problem? file wiping software usually won't go near the MFT since you twiddle the wrong bits in the MFT and the entire file system is likely to go poof.

    The fact that NTFS doesn't happen to conform to a particular naive model of "how file systems work", namely "all file data is stored in blocks separate from file headers", might be an annoyance to developers of third-party file wiping software, but I wouldn't consider that to be something "wrong" with it. If Microsoft don't supply a file-wiping API that allows user-mode code to request that all the data in a file be wiped, regardless of how that data might happen to be stored for particular files on a particular version of a particular file system, one might consider that to be something "wrong" with Windows, but that's another matter.

    Oh the MFT is also basically not documented properly, I actually had an MS employee that owed me a favor try to find the docs on it and he couldn't.

    That's not a problem with NTFS, it's a problem with Microsoft's software development practices (although it's probably not the only piece of software for which the documentation of the data structures lags behind the current data structures).

  6. Re:What's wrong with NTFS? by bertok · · Score: 5, Interesting

    NTFS still doesn't have shared cluster filesystem capability. This has a bunch of flow-on effects, which basically means that Windows Server clusters are actually "Failover Clusters". The key part of that being the "Fail".

    Really basic services like the file shares are impossible to make truly highly available using Windows, because neither NTFS nor SMB support transparent fail-over of open files. There isn't even a way of doing a clean administrative cluster fail-over, such as a drain-stop. The only option is forcibly closing all open files, potentially corrupting user data, and forcing users to click through dirty error messages that their PCs may or may not recover from.

    I've tried things like Polyserve, which is a third-party filesystem that has proper cluster support, but it's still hamstrung by SMB. What's doubly ridiculous is that Microsoft basically re-engineered SMB for Vista, and called it "SMB2", but it still can't do clean fail-over!

    Similarly, SQL Server can't do proper failover of cluster nodes, nor can it do proper active-active database clusters that share a single database file, because of the limitations of the underlying filesystem. It can no active-active clustering for read-only files, but that's only rarely useful.

    Even within Microsoft, workarounds had to be found to make some of their key products somewhat resilient. Both SQL Server and Exchange now use software mirroring for cleaner failover. Ignoring the cost of having to purchase twice as much disk, mirroring has other issues too, like becoming bottle-necked by the network speed, or limiting the features that can be used. For example, if your application performs queries across two databases in a single query, then you can't use Mirroring, because there's no way to specify that the two databases should fail over in a group.

    VMware has become a multi-billion dollar company in a few short years because a single non-clustered Windows Server on a VMware cluster is more robust than a cluster of Windows Servers!

      "Enterprise Edition" my ass.

  7. Re:What's wrong with NTFS? by FuckingNickName · · Score: 3, Interesting

    Would you mind explaining carefully and precisely why you think that OS X's filesystem (and others) aren't prone to fragmentation? It's true that many filesystems incorporate techniques to reduce the likelihood and effect of fragmentation, but it still happens, and it's still possible to optimise the position of data on rotating media - as any good defragmenter will do.

    Filesystems which claim not to suffer from defragmentation concern me more because people end up not noticing the decrease in performance over time. For a machine not in 24/7 operation, a scheduled defrag run is always a good idea; otherwise, slowly doing the same during less busy moments should be mandatory.

  8. Bloody backslashes... by itsdapead · · Score: 4, Interesting

    How about getting the directory separator wrong? This has indirectly led to a generation of TV and radio presenters having to say "forward slash" when reading out URLs...

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    1. Re:Bloody backslashes... by fnj · · Score: 2

      It's a bit tedious to keep pointing this out, but actually nothing FORCES stupid people talking to other stupid people to say "forward slash." "Slash" IS "forward slash". "Backslash" is always "backslash." There is no reason for confusion, mental defects such as dyslexia aside.

  9. LVM2 or raid? by devent · · Score: 2

    I have used LVM2 now for two years with my various notebooks and netbooks. They had various crashes and power downs but I never loosed one bit of data. My small home server is using LVM2 as well with my 3 USB hard disks, serves videos and music to my home.

    With my notebooks and netbooks I can grow or shrink my root or home partition and with my server I can just plug in another USB hard disk and grow my partition. No fuss not complicated at all and works all the time.

    All that for free, just download Fedora, Debian or Ubuntu and install it in 10 minutes. If you want, setup a FTP server, apache server or what ever you like. Or you get what you pay for with Windows for 100$ or more.

    --
    http://www.mueller-public.de - My site http://www.anr-institute.com/ - Advanced Natural Research Institute
  10. Re:Makes me glad I quit Windows years ago by shutdown+-p+now · · Score: 2

    drive extender's "features" that Microsoft couldn't get to work right include stuff that has been standard in the Unix world for over a decade

    "Drive extender" in WHS is, essentially, RAID that can be hot-extended - you plug a new hard drive into your server, and your storage (which shows up as a single disk) grows immediately. I don't know about the Unix world, but I certainly haven't seen any Linux distro that was configured that way. Can you name some names?

  11. Re:Makes me glad I quit Windows years ago by batkiwi · · Score: 4, Insightful

    Please name a linux based solution, apart from 100% proprietary Unraid, which allow for me to do what drive extender does. I'm serious. I refuse to install WHS, and thus far the closest I can find is going Unraid, which feels dirty to me, or nexentastor.

    What drive extender does, in a nutshell:
    -all of your hard drives show up as one big storage pool.
    -100% of disparate drive sizes can be used (excluding copies/parity obviously). So if you have 3 old 1tb drives, 2 old 1.5tb drives, and 1 2tb drive you'll have 8gb of storage
    -configurable redundancy such that any single disk failure, no matter the size, all files are still available
    -if two drives fail, you only lose the files that were on those two drives, not the entire array
    -take any one drive out of the array, plug it into ANY windows vista or higher PC (new NTFS version), have access to all the files that were stored in that drive.
    -add a drive, get that much more storage (excluding copies/parity obviously)

    ZFS comes DAMNED close, but you cannot grow the number of disks in a raidz array, you have to add an entire extra array (meaning 3+ disks) to the pool. You also lose the entire array if 2 (or 3 with raidz2, or 4 with raidz3) disks die, and cannot have direct file access just by plugging in 1 disk of the array, but that honestly doesn't bother me that much.

    Oh, and ZFS isn't on linux except through fuse.

  12. Re:Makes me glad I quit Windows years ago by clang_jangle · · Score: 3, Insightful

    There is no advantage to "control of the Windows System Registry" except for windows users, so your logic appears a bit circular. You do know that there are Linux LDAP servers, right? Because so often discussing technology with microsofties is like trying to talk about good food with McD's addicts. They often have no frame of reference with which to discuss these things.

    --
    Caveat Utilitor
  13. Re:Makes me glad I quit Windows years ago by uglyduckling · · Score: 2

    Surely that sort of thing has been done in UNIX using .rc files and other . configuration files in the user's home directory since the mid-70s, or does KDE ignore those?

  14. Re:Makes me glad I quit Windows years ago by DarkOx · · Score: 4, Informative

    Nobody is saying you can't do that stuff on *NIX but its hard to do that on stand alone machines. When you are talking about shared machines or terminals where everything can be handled with NIS and home directories reside on an NFS share used by all hosts the facilities to manage user experience exist.

    As soon as you start having laptops and desktops running all around the office you can't manage the settings the user is talking about anymore. Yes you can do it at deployment time. Sure you could write init scripts to go fetch and overwrite/update rc files and stuff but you'd have to do all of it yourself and it would be a security nightmare to try and get correct without putting a lot of resources into it.

    GPOs make it really easy change all the CSRs home pages to the new customer service portal, and set all the sales reps wall paper to the latest product sheet instead of their embarrassing personal photos any time its needed. It also makes it possible to do things like yes your screen saver is going to turn on and the desktop will be locked after 15min, no exceptions. Sometimes that sort of thing gets required for PayCardIndustry rules and the like, and those things change every now and then.

    Got a way for me to change your screen saver settings on every Ubuntu box in the company? Yes I know I can run a sed script to go into each home directory and alter the config file for whatever desktop environment is being used, I still have to find away to do it to every box.

    Trust me I have been doing this for some years and this is one place where Windows gets it right, so right in fact that it in some ways justifies the use of Windows even though its otherwise a really inferior platform.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
  15. Re:Makes me glad I quit Windows years ago by batkiwi · · Score: 4, Informative

    Sweet, so LVM provides redundancy? Or I still need to use software raid for that, which reqires all disks to be the same size in order to get full usage out of them?

    And if I create an LVM array, and 1 disk dies, I no longer lose everything, the filesystem is easily mounutable and I only lose the files that were on that disk and weren't redundant (which you've also assured me LVM handles for you?)

    And who mentioned drive letters? You're telling me that every unix will combine all of my storage devices into one pool, as opposed to having to mount them discretely in mount points? So if I have 5 disks, by default all of my files, regardless of location in the filesystem, will get nicely distributed across said disks? That's great to know as well! Last time I checked (about 2 seconds ago, from the ubuntu box I'm posting this from) you have to choose a mount point for any volume (logical or physical), and it only provides storage to that section of the filesystem. If my /var/log is full, and I just throw in another 1tb disk, /var/log does not get access to that new storage.

    I asked a serious question. I really am interested in a set of technologies that have the same capabilities as unraid (which is linux based but NOT open nor free) and drive extender. LVM and software raid are in no way comparable.

  16. Re:Makes me glad I quit Windows years ago by jellomizer · · Score: 2

    And how many technologies fail on FOSS systems. I just got a patch last year that allowed my wifi to connect in under 5 minutes. While Mac and Windows did it very fast for year. (2002 from my experience). Sure we like to see Microsoft fail because it is a huge company and has a strong foothold in our technology, and during the 90's it seemed to the media it could do no wrong. But looking at it's failures and saying Microsoft is all bad while I zealiously promote an other product ignoring it deficiencies. Is really a stupid idea that doesn't help either side.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  17. Re:Makes me glad I quit Windows years ago by clang_jangle · · Score: 2

    No, The Windows world had that way of thinking with Roaming Mandatory Profiles where "System Policies" were "files" and "scripts" copied from shares. It was utter catastrophe.

    Yes, well it works very well in the *nix world -- the NT failures you cite do not affect us at all.

    The Unix 'copy the rc folder method is NT4 level thinking and not Acceptable in today's world.

    Huh? No-one can seriously brag about the *registry*, it's the Achilles' Heel of windows! This can only mean you've never seriously used any other OS.

    If it is to be acceptable in today's world it must be database driven and granular. This is why MySQL is so popular, and this is why Linux's directory services have gained no market or mind share.

    MS has indoctrinated you well, but you don't appear to know enough about *nix to really participate in this discussion. Of course, it can easily be argued that I do not know enough about windows to participate in it, so perhaps we're even :)

    --
    Caveat Utilitor
  18. Re:Makes me glad I quit Windows years ago by kantos · · Score: 3, Interesting

    Honestly.... this argument is stupid, Group Policy arose because on Windows everything is a COM object with an ACL and it was neigh impossible to manage to provide even a modicum of security without some sort of system policy at a high level. Linux of course doesn't need this because it operates in a fundamentally different manner where everything is a file and the file system permissions (group based) determine if a is executable or not. Thus the Linux kernel doesn't need to know what specific COM+ handler needs to be loaded, but rather if a file is a supported executable format or not, and what to do from there. Both systems have fundamental advantages, Linux is deceptively simple leading to a power on the command line that is daunting for many users. Whereas Windows can be easy worked with to extend using COM and the registry (The registry was never designed to hold most of the crap that people shove in there... it was designed to be a central repository of information for COM objects).

    If anything this model shows MS's lack of foresight into the importance of networking and their focus on the single standalone box.

    --
    Any and all content posted above may be ignored, considered irrelevant, or otherwise dismissed.
  19. Re:Makes me glad I quit Windows years ago by clang_jangle · · Score: 2

    Stop awfulizing it -- scripting this is elementary in *.nix, and if you can't do it you're not a competent *.nix admin, period full stop.

    --
    Caveat Utilitor
  20. lack of coordination by v1 · · Score: 5, Insightful

    The article does a fairly thorough job of roasting MS over their lack of internal coordination, outlining how one wing starts to work on a new technology and other departments that need to get on board "wanted nothing to do with it'. In any well-managed company, a department that refuses to get on board with a new technology gets hell rained down on them from above until they fall into line.

    Take Apple's "spotlight" meta search feature for example. Imagine the team working on the AddressBook app "wanted nothing to do with it"? There'd be hell to pay, and either team managers would change their tune or get replaced. In a large project like an operating system, lack of cooperation simply cannot be tolerated. But it seems that MS is just so large at this point that it doesn't have the power to guarantee their different projects cooperate fully with each other.

    I have read from time to time that there was this sort of internal battle going on at MS, where different projects worked in isolation and there was infighting, but I'd never really seen the effects of these issues before. It's interesting to see the result. This appears to be an upper management or communications problem. Whoever is above the Outlook team needs to be asking that team manager "so how's integration with drive extender going?" If they get foot-dragging and complaining and brush-offs, that manager needs to be dragged into the director's office for some "re-education" on cohesive development. If the director isn't asking these questions, THEY need to be replaced. Something of this sort is isn't working properly at MS.

    Its like a construction project. You've got all these separate units coming in, doing electrical, plumbing, structural, heating, floors. The general contractor has to make sure these people work together. Refusing to cooperate with one of the other groups simply cannot be tolerated, and it's the GC's responsibility to make sure everything works smoothly. Problems between groups need to be brought to the GC, and the GC needs to settle them immediately. Otherwise the finished building has serious problems. You can't just turn over the house to the owner and say "Oh by the way we removed the heating from the bathroom. The plumbers wouldn't route the pipes around where the heating ducts needed to go. You don't REALLY need heat in such a small room anyway." But that's the sort of thing that MS is pulling from time to time.

    I think MS is just taking the cowardly way out. "We can't control our own internal development processes well enough to get this feature integrated properly in with the rest of our technology, so we're just canceling it." The article states simply that companies like Dropbox and DataRobotics (makers of Drobo) that have only one core technology are forced to "get it right", because dropping it simply isn't an option. MS seems to think they have the option to just drop any feature at any time on a whim if it's not going well, instead of going to the additional effort of kicking some butts and making it work. It's not like its an impossible task. This is doable. They just lack the necessary internal management to pull it off consistently.

    Bottom line: At MS, with any new project, unless all the key players decide to get on board, the project is doomed.

    In other words, the Outlook team manager should not be capable of tanking Drive Extender. But it is, and it did. And THAT is a serious internal management problem that MS has demonstrated over and over. Something's gotta change.

    --
    I work for the Department of Redundancy Department.
  21. Re:Makes me glad I quit Windows years ago by drsmithy · · Score: 2

    There is no advantage to "control of the Windows System Registry" except for windows users, so your logic appears a bit circular.

    The logic is fine, the terminology is poor.

    Group Policy provides a mechanism and comprehensive set of capabilities for central configuration management of Windows machines. "Control of the Registry" is merely an irrelevant implementation semantic.

    Central configuration management is - amazingly, given its age - functionality significantly lacking from Linux/UNIX. IME this is largely due to traditional Linux/UNIX admins taking great pride in how awesome they are at continually reinventing the wheel (and castigating those who try to minimise it - the common complaint being it would make things "too easy").