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.
That would be a cool hardware device (a ide linked network card)
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
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.
If you are using the volume license media for Office and Outlook, you may want to look at creating an administrative install point on the server, then have each of the clients run the install, but instead of choosing install and run it locally, have it install the core components on the local system and run the apps from the administrative install point.
The online and printed versions of the Office Resource Kits provide the tools and documentation that you need to get started there.
I got that to work with Office 2000 and Office XP, just for test purposes, but it was a bit slow.
Developing a filesystem driver on Windows is expensive and time-consuming. It's unlikely that there will be any free (as in beer) or open source filesystem drivers anytime soon.
;-)
Incidentally, I'd really like to be able to access my FreeBSD UFS partition in Windows.
IFS (Installable File System) Kit costs about $900; see also http://www.microsoft.com/whdc/ddk/ifskit
Might such software be seen as a 'circumvention device' as specified by the DMCA?
Uh, no?
The DMCA outlaws the trafficking in and use of circumvention devices, which circumvent a technological measure used to control access to a copyrighted work. All of these terms are defined; you can even read the law to learn more. What's the copyrighted work that's being accessed? What's the technological measure that controls that access? In what sense is this circumvention? None of the pieces of the puzzle are there, so I say, categorically no, this is not a DMCA violation.
The DMCA is a bad law, but it does not outlaw "hacking" or "doing things with computers" in general.
Does anyone have some windows software that lets me mount physical ext2/ext3/xfs paritions in read/write mode in windows? It really sucks that in linux I can only mount ntfs in read only and in windows I can't mount linux drives at all. I should be able to access all my data on all my drives in both oses (I'm a dual booter if you didn't guess). And running smb and vmware is not an option for me.
The GeekNights podcast is going strong. Listen!
I'm looking for a tool that lets me mount an IMAGE file (produced with 'dd') as a local drive on a windows box. I currently use DAEMON-TOOLS from
.ISO file as a local CD-ROM, which is way cool for playing games or installing software. You'd be surprised how much faster even a network-stord .ISO file is than a local CD-ROM, the access times are an order of magnitude better.
http://www.daemon-tools.cc
It lets you mount an
But as I said, what I REALLY want is a similar tool that lets me make image files and mount them as drives, with read-write access.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
Use a physical drive to access the network? WTF.
If you want to access the network, use a computer with a network card. A physical drive is for storing your programs. Also FYI, the physical drive is NOT usually referred to as 'memory', except at Comp USA.
If tits were wings it'd be flying around.
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
I was low on space on one of my Win2k machines and I decided to install some software on a network drive. Sadly, this particular piece of software (I forgot what exactly) wasn't smart enough to require a local install.
I totally hosed the system. I finally concluded that some drivers (now located on that network drive) were needed prior to Windows establishing the network connection, so Windows just stopped booting. I tried everything I could think of, but in the end I had to reinstall Windows and start from scratch.
That's why you want to install as much as you can locally - so that your machine is still usable if your network connection goes down.
Have you tried the Windows subst command?
/D
/D Deletes a substituted (virtual) drive.
Associates a path with a drive letter.
SUBST [drive1: [drive2:]path]
SUBST drive1:
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.
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.
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?
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.
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.
\/\/\/
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.
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?
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
I tried to think of a good reason to even attempt this... databases can be slow enough with local drives if you care to punish them hard enough...
Then I thought about transaction logs. Those would be pretty good candidates to store remotely, just in case someone steals a server, or one otherwise goes done during the day.
I don't know if they are currently limited to local drives or not. Anyone enlighten me on this?
Keep in mind that in some circumstances, network drive overall performance can beat a local disk.
For example, if you have a RAID-10 networked storage array on a very fast network and a good switch, you can often beat the performance of a local drive, especially if that drive is IDE. There might be a little more latency, but there's a lot more bandwidth and storage space.
So install a TSR (or run a wrapper) that intercepts the installer's DLL calls and turns some or all drives into "local" drives. End of problem.
Call me a maniac, but you might also want to try installing the game under WINE. If it actually plays, that's a bonus, but meanwhile *some* of the installers can be conveniently lied to, and the installer might work under WINE even if the game doesn't. Then just copy the changed files and registery entries across, and Bob's your uncle.
$ host 149.156.96.35
35.96.156.149.in-addr.arpa domain name pointer hell.pl.
Never thought of PERL programming as being that painful... (-:
Got time? Spend some of it coding or testing
I have a similar setup.
a total of three Windows 2000 machines connect to a Samba server (2.x under Red hat 8) running a 220GB RAID 5 and a 110GB EXT3 straight up. All program files are stored on the windows local drives.
Windows has never and wil never be as network centric as Linux, it isn't built that way. although linux apps won't flinch if installed on remote partitions, windows apps will cry, bitch, moan and then die a very painful death if one thing isn't right.
the three local machine's drives:
5GB (PII)
3GB (XP1800, TV/media player)
40GB + 20GB (game box)
the game box's drive is nearly 30GB full, all program files (games take up a hella lot of space), the 20giger is there as a local cache for my Music and CD ISO's (when i go to LAN parties, the 10GB they take up is a big chunk out of the main drive), as storage for big files temporarily (newly minted ISO's, unencoded DVD rips, PS scratch files, etc.).
the file server is rigged to mount the secondary drive and rsync the files over to the server every night. the 20GB is only used when access time, or local access is an issue (see above).
Program installers, CD ISO's, MP3'S and Xvids all run smoothly over the network, without clogging up the local system.
As for emulating local disks. Don't.
Logistical Chaos Officer http://www.slagg.org - LAN Gaming in Sarasota FL,USA
I force all of my users' desktops and document folders to network shares. The only problem with doing that is file deletions don't go through the recycle bin.
There is a solution from Executive Software but it does more than just handle this specific problem making it expensive. I'm also not comfortable with how they do business--searching for a solution turned up what appeared to be a lot of MLM/spam operations selling this package--and I never was satisified with their explanations that they don't have Scientology ties.
SysInternals has a freeware utility that looked promising but it doesn't work for me and they never released the full source.
So making a network share appear as a physical drive would make my problem go away. If there is no way to do it then my users live with the problem until I can develop my own solution which, knowing my workload, will be a long time.
In Windows the network redirector intercepts calls to drives and routes them to the appropriate device whether it is a local disk or a network device. This makes mapped network drives transparrent to the application. This mean that the application sees no difference between drive C: (local) and dirve H: (network). This means that you don't need some fancy driver software, you already have it.
This should answer your question specifically, regarding Exchange
With all that said, I would recommend against running the likes of Exchange from a network drive anyway. The reason is that the bandwidth of the network is going to put a massive hit on your I/O performance and there is a massive amount of I/O with Exchange. If you must have remote disks for Exchange I would recommend a SAN. With a SAN you will have 1 or 2 gigabit I/O performance and you can put the disks anywhere you want. iSCSI will allow you to build a poor man's SAN across an ethernet network but this will create the I/O bottle neck I mentioned earlier, unless you are running 1 or 10 gigabit ethernet.
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).
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.
Since when has ESR's "jargon file" been proof that a term is a real word?
What are you out of your mind? You must have a lot of time to do this, even with a gigabit ethernet connection.
"Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
The trick I use for this...
/D g: (remove subst'ed drive)
md C:\games
subst g: C:\games
(install game on G:)
subst
net use g: \\myserver\gameshare
(move all files from C:\games to G:)
Your game is now on a networked share... if it only grouches during install, you're golden... since subst'ed drives appear as physical.
NAS works because you build a dedicated network between the NAS device and the server. And NAS doesn't use the CIFS protocol afaik, instead it uses some variant of iSCSI, and thus behaves like a local disk even though there's a network between the host and the disk.
But the discussion here was to offload the storage to a random Linux box on the lan using CIFS and Samba for the protocol and server, and using the native NT networking client on the Oracle box.
At the same time you're sending that "Lock this file" message to the server, two other clients are also sending the same message.
What if the client that requested it originally goes offline? Do you leave the file locked forever? Until that client requests the file again? Until that client reattaches to the drive?
How do you track these things reliably when you may have a transient connection to the drive where you're trying to lock files for exclusive access.
I had a similar issue recently when using a server product that would only expose files on fixed, local drives. In this case I didn't care about network shares, but I wanted to be able to expose my cdrom drive as though it was a local fixed drive. It turns out that you can do this using the built-in Disk Administrator/Disk Management in NT/XP. Just create an empty folder somewhere on a local drive, then in Disk Administrator select the optical drive, right-click and select "Change Drive Letter and Paths," then click "Add," then select "Mount in the following empty NTFS folder." From there you can browse to your empty folder, then afterwards that folder will act like the root of your CD/DVD drive as though it was local and fixed. It works like a champ! If no disc is in the drive you get a "not available" error, but nothing fatal. I don't know about how to do that with a network share, but I thought this might be useful for someone too.