“The iSCSI idea”

Okay so here’s my situation. I have two PCs currently: my main desktop that is a Core i7 with 8 gigs of memory (ya ya, whatever) and an apparently aging computer I use as a server. Currently the server, which I call Caprica, is running WHS but is having some issues. Namely it’s only by apparent luck that the PC actually detects all the drives: it has an old IDE for the OS and four SATAs for the data storage.

Okay side note although WHS has been on there for years now and it is getting slower and slower and obviously needs a re-install that would not help the BIOS in detecting all the drives. I get that, it’s okay. After having that issue with the drives not being detected consistently I went into the BIOS and reset to “optimized defaults” then changed a few things like disabling any floppy drive and setting the optical drive as the first boot device and it has detected the drives consistently since then. Flashing a new version of the BIOS may actually also help resolve the drive detection issues.

Now where was I? Right. At one point I wanted to put server 2008 R2 on the server and and just use WHS via a VM, possibly Hyper-V since I need practice with that anyway. So I installed R2 on an old IDE drive (I seem to have a pile of them) and started to play with it but it seemed too slow. And apparently Hyper-V requires the VM CPU extension which mine does not have. So installed virtual PC and installed XP into that. Well that worked okay and I could remote desktop into the VM which was a fun novelty for a while since I had never done that but it didn’t really help. And it was painfully obvious the server didn’t have enough memory to run both R2 and a VM like that.

So finally, here’s my new idea: put some form of R2 on this server box (I had an MSDN subscription, this is all legit FYI) that converts this server box into basically a [network-able] hard drive storage box that just houses all the drives and enable it as a SAN/iSCSI. Then connect the box to my main Core i7 over a gigabit network connection (gigabit cross-over, I assume those exist). Then I would be running WHS or whatever via a VM (virtual PC is this case) which be running super-fast thanks to the fancy VM stuff I would have running.

What I am aiming at here with the SAN/iSCSI is for my core i7 (galactica) to see the server’s storage as if it were a local drive. Then point the VirtualPC at that storage, thus all my WHS storage data is still on the other PC but in the form of VirtualPC hard drive files.

I have set up an iSCSI thing like this before but I would want to do is leave the four SATA drives as separate drives and make four different virtual drives, one per drive.

So once I had this VirtualPC WHS set up I would fire up the VM and once it had booted I would use that VM’s IP to point my various UPnP media stuff at that, using it as I already was using it.

So why VirtualPC instead of VirtualBox? Well maybe some guru knows how to use VirtualBox with a separate IP instead of in “NAT” mode, but I do not. I need a real live pingable, remote desktop-able IP that I can use.  And I don’t really feel like spending the time to figure out how to do that with VirtualBox. So I’m using VirtualPC.

I have actually used VirtualBox extensively. Even now so far as I know Windows installs several times faster with VirtualBox than with VirtualPC. But that doesn’t really solve my concerns.

Also the reason I am doing it this way is because what happens if I need to re-install Windows on my Core i7? Or I get a new PC (which won’t be for years of course)? Well all I need is the WHS VM and a way to point it at my iSCSI PC and I’m back up and running. That’s the theory anyway.

One solution I have already made some progress on: the Core i7 machine (galactica) would need two network cards, one for the network/Internet and one to connect to this newly dubbed iSCSI box. So I bought a USB gigabit Ethernet adapter. So assuming all is good I need to get that gigabit cross-over cable.

I do actually have that N+ book that shows me how to make a cross-over cable. So I could probably just buy a gigabit cable, CAT 6 or whatever, snip off the ends, do some re-wiring and crimp it back together. It would certainly motivate me to set that whole thing up, wouldn’t it?

Downsides? Well I have a lot of data and just the one place to store it. So transitioning from data on real disks to the same data on virtual disks might be a bit tricky. I guess I would disconnect all the SATA drives and install the storage server/iSCSI solution OS on the spare IDE drive.  Then on galactica install WHS into Virtual PC and start setting up virtual drives. Then, connect a drive with no data on it into the iSCSI caprica box and start setting that up so galactica sees it and everything. Put the virtual drive on this newly found iSCSI drive on galactica and start copying data to the virtual drive inside the WHS VM.

Okay I don’t even know if that made any sense what-so-ever.  Basically I am going to copy the data off of the four drives one at a time to the new drives in the VM until all the data is moved over. The VM is of course WHS and so far as it will know it is just create a storage pool as usual, combining a bunch of drives into one big pool/series of network storage shares.

I do have one unanswered question: how many virtual drives can you actually create with VirtualPC? I have no idea. It has to be at least four. I am hoping for more than four but I know it has to be at least four.

Speaking of unanswered questions how if at all easy is it to even set up a SAN/iSCSI box like this anyway…?

Wow this turned into a much longer post than I planned. I should probably publish it before I manage to lose it.

Several hours later….

I have just had some more thoughts on this whole thing.  Namely do I actually need to use a WHS VM for this whole thing? Really? I mean with the Windows 7 libraries and WMP hosting the UPnP services anyway why not just set up the iSCSI box, link it as I was going to do so that storage shows as local storage on my Windows 7 machine and let Windows 7 do the streaming? I mean as long as my supposed solution requires both my PCs to be on just to watching a stupid movie anyway why complicate it with the VM? Why not just use Windows 7 to organize and host all the media content?

Okay so way back when I first set up this spare box as a server one of my main reasons for doing so was so I could do things like encode video and store files separately thus freeing my main computer up for the stuff I really want to do like playing games or whatever else would bog down the computer and prevent me from doing things like playing games or running other VMs or whatever. I don’t think that need is really still there. I mean it is nice to have the two separated out. To have one relatively low-power PC that can run relatively quietly in the background to stream media and provide a storage location as needed. And it’s still there consistently no matter what happens to my primary PC. If I put everything dependent on my primary than if something happens to it I’m pretty much starting over I think.

Leave a Reply