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.

11 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
  3. 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.

  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. subst? by klui · · Score: 1, Interesting

    Have you tried the Windows subst command?

    Associates a path with a drive letter.

    SUBST [drive1: [drive2:]path]
    SUBST drive1: /D

    drive1: Specifies a virtual drive to which you want to assign a path.
    [drive2:]path Specifies a physical drive and path you want to assign to
    a virtual drive. /D Deletes a substituted (virtual) drive.

    Type SUBST with no parameters to display a list of current virtual drives.

    You still need to mount your network drive, but use subst to create a drive letter to a specific path.

  7. 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?

  8. 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.

  9. 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
  10. 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.

  11. 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).