Slashdot Mirror


Mounting Virtual Drives as Physical Drives in Windows?

Bombcar asks: "Samba 3.0 is an excellent CIFS server, but there are some limitations. For one, you can get a networked mapped drive, but some programs (Oracle, Exchange) refuse to run on a mapped drive, but only on local drives. I know there are some closed source (read: expensive) drivers that allow a SMB share to appear to be a physical disk. Is there any equivalent in the OSS community? What I want to be able to do is mount a share from a Linux server under Windows 2000 and have it appear as if it were a local disk. This will allow many programs that refuse (for what ever reason) to use anything but physical drives to access the network." Might such software be seen as a 'circumvention device' as specified by the DMCA? The submittor mentions that there are companies in this market already, but that doesn't mean that it will remain safe.

20 of 102 comments (clear)

  1. Think Hardware by unixbum · · Score: 2, Interesting

    That would be a cool hardware device (a ide linked network card)

  2. Why? by DA-MAN · · Score: 3, Interesting

    I'm afraid I can't answer your question, but I have a question of my own (and no I am not trolling).

    1) Why run Oracle or Exchange on 2000 stored on a Linux Samba Server? Having a physical drive would be so much better in that losing that disc during a network issue or what not would cripple your e-mail or database server.

    2) Why not run Oracle on Linux or Samsung's OpenMail on Linux instead of Oracle/Exchange and not bother with the headaches associated with creating a physical drive from a network map on a different architecture?

    3) Is there really a situation where this sort of thing would actually be useful or nessecary?

    --
    Can I get an eye poke?
    Dog House Forum
    1. Re:Why? by Gadzinka · · Score: 3, Informative
      3) Is there really a situation where this sort of thing would actually be useful or nessecary?


      Yes, there is. I've found that several games refuse to run from network drive. This pisses me off.

      I've got three computers at home:
      1. router/fileserver, runs linux and has very large /home exported via NFS and SMB so we both have networked home and media directories.
      2. my workstation, runs Debian+KDE 95% of the time, but sometimes I run Windows XP to play games
      3. my wife's workstation; also runs Debian+KDE and sometimes Windows for games.

      This way:
      • both workstation have minimal disks
      • all the disks are inside the fserver, mounted via LVM (so they apear as single partition capable of holding file of the size of whole partition)
      • my wife can freely log on to my computer to watch her video files on TV (my comp has TVout connected to TV) or listen to her music while I'm away (my comp has better sound ;)

      But I cannot install some games on the network drive in Windows so it forces me either to remove them before installing the new one, or buying more storage for my workstation (ridiculous when I have hundreds of GBs freely accessible via 100MB network).

      Robert
      --
      Bastard Operator From 193.219.28.162
  3. Locking by Samus · · Score: 5, Insightful

    One reason that those server programs refuse to run from network drives is locking. Last I read there wasn't near as fine grained locking available from a network drive as from a local disk. Plus the performance seems like it would just be awful. Can you imagine how long a query would take on a 1 gig table that had to do a table scan? Yuck.

    --
    In Republican America phones tap you.
    1. Re:Locking by Curtman · · Score: 4, Interesting

      So why is this type of thing perfectly acceptable on Unix boxen using NFS? Does NFS not fit your definition of 'network drive'? I would also have to ask why on earth anyone would use Oracle over CIFS, when they could just run Oracle on the Linux box to begin with? I call troll on the entire story.

    2. Re:Locking by Anonymous Coward · · Score: 2, Informative

      > So why is this type of thing perfectly acceptable on Unix boxen using NFS?

      This type of thing is not perfectly acceptable using NFS. For the program that was mentioned in the summary (Oracle), they only support a very small number of remote file options. The Oracle Storage Compatibility Program tests whether remote storage implementations will work without trashing your data in Oracle. Most NFS implementations fail it (including big names like Sun and IBM).

    3. Re:Locking by drix · · Score: 2, Informative

      Ooh you gotta love OSCP. Here's I think one of the "cheaper" Oracle-certified NFS implementations out there, the NAS8000. Only $39,995 MSRP for a 4U cabinet with a whopping 0mb of included data storage. Compare with the free-as-in-speech NFS implementation that everyone conflates with "the" NFS, as if there were only one, proper noun, singular, and it were just free for the taking. Hah.

      Heh all these spare-bedroom Linux hackers these days seem to forget there's like, entire different universes of product line and reliability standards that have nothing to do with some home-brew NFS rigjob. I guess I didn't really learn that lesson either till I spent some time working in the corporate IT world...

      --

      I think there is a world market for maybe five personal web logs.
    4. Re:Locking by riley · · Score: 2, Interesting

      Locking under any network filesystem, be it nfs, cifs, dfs, etc doesn't work well.

      Here is the problem:

      You have a single server and multiple clients. File locks are held in the OS of the local machine. In the OS of the local machine, you can lock a file or a section of a file, and be certain that it is an atomic operation -- i.e. between the start of the locking process and the end of the locking process, no changes have occurred to section being locked. During the locking operation, you can also be sure that no other lock will be granted on the data, or your attempt to lock will fail.

      So, you try and do this with multiple network clients. First, no locking daemon currently available currently runs in such a way as to ensure atomicity of the locking operation. Since there is network latency and no atomic shared resource, you will get two processes claiming they hold the same lock.

      So, how do you get past this. The two ways I know of are token passing and promise/commit systems. Token passing involves a single token that represents the resource being locked, and it is passed from client to client, introducing N way behavior between N clients or a single token manager. This is expensive and difficult to get right.

      Promise/commit systems are what I believe most multi-master databases use. Also expensive and difficult to get right.

      So where is this built? GPFS (an IBM SAN filesystem) has a token manager to handle that. I don't know how the Sistina GFS stuff handles locking. There are others -- SGI's CXFS and so on.

      All that said, you don't run a database on a network filesystem if you care about the integrity of the data. In fact, unless you have application level checks (like qdir for mail stores), you don't run any sort of system with multiple writers on a network filesystem.

  4. Re:Unlikely, as IFS kit is expensive by Chester+K · · Score: 3, Interesting

    IFS (Installable File System) Kit costs about $900; see also http://www.microsoft.com/whdc/ddk/ifskit

    There is a GPL'd clone of the header file you need to develop IFS drivers for windows, available here.

    --

    NO CARRIER
  5. SAN by eric2hill · · Score: 4, Interesting

    What you're asking for is a SAN.

    I just installed a Network Appliance FAS250 in my server room. It speaks CIFS, NFS, and iSCSI.

    By the way, you're wrong... Oracle will run perfectly using CIFS shares (I'm running it now, and have been for the past few months), and NetApp has plenty of documents in their tech library showing all the different ways to use attached storage with Oracle and many other pieces of software.

    With respect to speed, it really depends on the network infrastructure. I've got a Cisco GigE switch attaching 6 machines directly to a GigE port on the NetApp Filer. It is literally twice as fast than the directly attached RAID 5 (caching, etc.) arrays that it replaced.

    I think that Microsoft Exchange can be installed to a CIFS share, but if not, you should look at iSCSI. My company uses Lotus Notes 4.6.7 (sweet, merciful Christ, please put me out of my misery), and it works great from a CIFS share on the NetApp.

    Microsoft has a free iSCSI Initiator for Windows that will mount an iSCSI device just like any other SCSI drive in Windows. You can find several iSCSI targets for linux here.

    I have about 50 Mac's on our network (graphics department) that needed to talk with the new filer. Instead of installing a klugy piece of software to make the OS9 Macs talk to the SAN at $150/seat, I installed a linux box using samba to talk to the SAN through CIFS and netatalk (AppleTalk for linux) to re-share out the samba mounts. Becides some quirks (Mac's don't see the linux gateway in the AFP browse list, but can connect directly through IP), it works rather well.

    Look at iSCSI, it does exactly what you're looking for.

    --
    LOAD "SIG",8,1
    LOADING...
    READY.
    RUN
  6. How about... by jo42 · · Score: 2, Interesting


    How about faking out the Win32 API call that tells the application if a drive is local, network, CD/DVD, etc. to return bogus info to the application?

  7. Ximeta, SCSI over net by arcadum · · Score: 2, Interesting

    I bought a 80GB drive from Frys. Ximeta has stated that they will have linux drivers for what is apperantly a NBD.

    I would love to find drivers that allowed me to communicate with this disk from a gentoo pc that does not require a windows intermetiary.

  8. mounting disk images with windoze by Yannic · · Score: 4, Informative

    There is an excellent command-line GNU tool out there called FileDisk, by Bo Branten.

    FileDisk is "a virtual disk driver for Windows NT/2000/XP that uses one or more files to emulate physical disks." ("files", meaning disk images)

    His homepage at http://www.acc.umu.se/~bosse/ seems to be down at the moment, or maybe I'm just DOS'ing myself.

    I'm sure you can find it somewhere out on the 'net, I did only a week ago.

    \/\/\/

  9. subst will still show it as a network drive by millisa · · Score: 2, Informative

    Subst won't really help here (it still shows as a generic 'network drive'). Its the same issue as trying to run a defrag on a subst drive which is really a subst of a volume mounted as a directory rather than a drive letter.

  10. YOU FAIL IT by Trolling+4+dollas · · Score: 3, Funny

    This is a bad idea. Bad dork. Never use a network file share in place of a physical disk. It's like using a spork to eat soup with, sure it will work but why not just use the spoon for crying out loud?

  11. iscsi by unixbob · · Score: 4, Interesting

    What you are after is iSCSI. iSCSI standards for Internet SCSI and is a "method of encapsulating SCSI over TCP/IP". iSCSI allows a network share to appear as a local scsi drive to the operating system. So you need a server that supports the iSCSI protocol and a client that support it also.

    This site seems to be quite informative on the status of the various Linux projects. Check this out for a server implementation

    --
    The Romans didn't find algebra very challenging, because X was always 10
  12. Junction (WinNT/2K/XP symlinks) by TRS-80 · · Score: 2, Interesting

    Have you tried Junction? It allows you to link a directory on one drive to another drive and directory. "For example, if the directory D:\SYMLINK specified C:\WINNT\SYSTEM32 as its target, then an application accessing D:\SYMLINK\DRIVERS would in reality be accessing C:\WINNT\SYSTEM32\DRIVERS". I'm pretty sure I've read about people using this to mount network drives on their local drives (and also CDs onto hard disks - which generally confuses installers no end).

    1. Re:Junction (WinNT/2K/XP symlinks) by His+name+cannot+be+s · · Score: 2, Informative

      Not unless you can pull some serious magic out of your ass :)

      Unfortunatly, JUNCTION won't let you mount network shares into an existing drive tree.

      I freekin' wish. *sigh*

      --
      "...In your answer, ignore facts. Just go with what feels true..."
  13. Re:I'm looking for similar tool by Earlybird · · Score: 2, Informative
    Mirror of the FileDisk site here.
    • FileDisk is a virtual disk driver for Windows NT/2000/XP that uses one or more files to emulate physical disks. A console application is included that let you dynamically mount and unmount files. An example of use for this driver is if you have made plans spending the weekend writing an RAID driver for NT but find you are short of disks. FileDisk can also use CD-images.
  14. It's a BAD BAD BAD idea to do this. by LO0G · · Score: 3, Informative

    Running databases (and both Oracle and Exchange are database applications) on a network mapped drive is a horrendously bad idea.

    Database apps rely heavily on the fact that when a write completes locally the data that was written has been committed to the destination disk. If this part of the contract is not upheld, then database corruption can occur. I can't speak for Samba 3.0 (or NT server) but there are downlevel CIFS servers that can't guarantee that a write doesn't complete until after the data has been physically secured to disk.

    In addition, network links are notoriously unstable. Transient network events occur that can cause connections to disconnect spontaneously (it doesn't happen often, but it DOES happen). When errors occur on a local file, the file write (or more likely read) fails, and the app can deal with it. When the same errors occur over a network, the file handle used for the database is invalidated.

    The reason for this is that since the connection is dropped, the file is closed on the server, and all locks on the file are invalidated).

    Once the file is closed on the server there's nothing that prevents another application from coming in and altering the contents of the file and thus making the contents of the file on disk be inconsistant with the contents of the database from Oracle's point-of-view. And as a result, database corruption occurs.

    There are mitigation techniques that can be used in the network filesystem on the client side to attempt to auto-reopen the file, but to my knowledge the windows client doesn't do them (because the potential for getting it wrong outweighs the benefits of auto-reopening the files).

    Needless to say, neither Oracle or Exchange deals very well with their database files being summarily closed out from under them (they puke royally actually). Which means that a transient network event (the single router between the Exchange Server and the file server failing) will cause your email database to be lost.

    Not a pretty picture. There's a REALLY good reason that both Oracle and Exchange server refuse to allow their files to be opened on networked drives. Believe it or not the guys that wrote the database apps really do know what they're doing.