Switching SCSI cards - Can It be Done

Aeridyne

Senior member
Nov 25, 2004
242
0
71
I am going to post 2 sections here, the quick and dirty, and my full situation and hardware setup.

------------------------------

Quick -

Take Windows XP or Server 2k3 and set up on one controller, an Adaptec 7899 for example, simple SCSI controller, not Raid capable. Then backup the data w/ something like Acronis and restore to the same drives on a different controller, ie Dell Perc 3/di in RAID mode (rebuild an array of course). Early in the boot a BSOD fires, is there ANY way to switch between controllers avoiding this common pitfall?

I tried to find a way to add a device before you have added it to the system, but could not find anything, I also don't know if there is some odd HAL problem or something like that.

(Slipstreamed install disks are not a solution here as i want to boot the OS already installed)

------------------------------

Full Situation -

So I am trying to make a windows box as versatile as possible, I wanted to show my bosses that I can take a windows machine (dual boot) and back it up, then restore it to any other hard drive, scsi, or raid controller and any partition structure, I thought that since I have done this with ide drives to no end that i would not have a problem, and as far as the data restoration goes, I don't. Where I do have a problem is my overlooking the fact that when going from ide to scsi or scsi to raid, it might BSOD really hard... I tried to go from scsi to raid mode on a Dell poweredge 2500, in scsi mode the card is an adaptec 7899, and in Raid mode, the card is a Dell Perc 3/di. Server 2k3 and XP both crash at different points early in the boot. I originally set up both OSs with the card in SCSI/Adaptec mode. When i restore the data to the card in Perc 3/di (Raid) mode and fire it up, its not happy.

So then obviously my question is based on this situation, I am open to any potential solutions (especially ones you know will work :)
A few things that I thought of were maybe to preload the driver for the raid card, but i cannot figure out how to do that and I have been googling it for a few days now nothing comes up other than how to slipstream a driver in to a new install disk, not helpful, thats what the floppies are for anyway. The only other things i could think of were maybe sysprep (which i really don't know squat about other than it is used for deploys) or maybe going into device manager and deleting the adaptec card, backing it up, and restoring with a prayer on my lips, but that would take 1/2 a day.

**I tried to uninstall the adaptec and it would not uninstall**
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
Don't tell me my questions are too complicated for any good solutions again... Someone has to have experience with this.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
MS has some docs on restoring a backup to different hardware but it looks like they won't really support it. But what you want to do really is a PITA because of the way Windows handles storage drivers. You might be able to use sysprep or even just a repair install to do what you want, but neither is exactly straight forward.
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
Might be workable if you install the driver for the new controller before switching. Acronis' Universal Restore feature should also be able to handle this, provided that it has drivers for both controllers.
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
Hmm, both of your replies are constructive.

Nothin -

Repair install - I thought about doing a simple repair install, but I am not sure what all that rips out of the system. I am trying to figure out how to pull this off so that I can use it to restore some of our more important servers that have many roles such as; exchange server, domain controller, global catalog, fsmo roles, dns, print server, application server, etc. Another of the servers that I am concerned about being as fault tolerant and versatile as possible has an oracle database on it. These are the kinds of machines that the repair would be run on. The only thing that I know for sure that the repair does is takes away your patches, and I think it re-detects the hardware so long as the HAL is compatible. Anyone know more about repair than that?

Sysprep - I thought this might be a decent solution as well, however again I am not sure what all sysprep strips out, and on machines like that, if it stripped out all that functionality it wouldn't really be worth the effort since I want to retain the services that the server provides as much as possible. Also I don't know how to write the sysprep.inf file that i think it needs to do it's thing. I need to know more about how sysprep works and how to use it.

aka1nas -

preinstall driver - I thought about that, and you would think that would be a fabulous solution in this case since the only hardware that is changing is the controller and the partition setup, however I cannot find a way to "preload" a driver into windows to not crash when i fire it up on the new controller. (Same applies to motherboard swaps, etc.)

Acronis universal restore - This sounds like it might be something i really want to know more about, i knew that this is one of the products acronis offers, but I know nothing about it other than it is supposed to be able to let you move an OS to different hardware, but how does it work?

BTW - Thank you both for the input - much appreciated

 

Ratman6161

Senior member
Mar 21, 2008
616
75
91
Have you considered virtualization? From VMWare, you can get VMWare server for free. This doesn't give you all the functionality you would have with a full blown ESX server, but its free and still quite capable.

First install an OS on the new server. It will run on either windows (even desktop windows such as windows XP) or Linux. Which OS you choose for the host system has no bearing on what virtual machines you can run and you can save needing another Windows License by using the Linux version.

Then use the VMWare converter (free version of that available as well) to import the hardware server into a virtual server. This works very well. I'm importing to an ESX server but the same idea applies. I've imported file servers, a print server, a database server, and the server that runs our entry control system from hardware to virtual and when users came in the next day they didn't notice the difference.

Anyway, this approach allows you to "cheat" since the servers are abstracted from the hardware they are running on. Once virtualized you can move them around pretty much at will.

Warning though: You mentioned Exchange and domain controllers. These are special cases and you will really need to do your homework first.
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
Originally posted by: Ratman6161

Warning though: You mentioned Exchange and domain controllers. These are special cases and you will really need to do your homework first.

Well, I'm a bit confused, if that is what virtualization is for, why do i have to watch out for these cases like exchange and domain controllers? what should I know?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Well, I'm a bit confused, if that is what virtualization is for, why do i have to watch out for these cases like exchange and domain controllers? what should I know?

Ideally you don't and I can't really think of anything in a VM that would cause problems with anything except performance. But MS still will only support virtualized installations on a "best effort" basis AFAIK so they're free to give up at any point and say "reproduce the problem on real hardware" to you.
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
Oh, I see, so from a support standpoint Microsoft can basically say you can go fly a kite until you show me on a real system. Thats fine, but what I was interesting in regarding that comment was whether or not there are known or expected issues that can arise from hosting a server that is a domain controller with exchange on it virtually?

On a side note, I am looking into Acronis True Image Echo Enterprise Server, it is quite pricey though and I don't know much about how the licensing works, does anyone have any experience with that? I have been using TI 11 Home here and using the rescue media to backup and restore but I have a separate image for each server, laptop, and desktop hardware type that is reasonably compatible, thus I have a lot of different images. I would love to be able to host these images on the network and use a PXE boot to restore these at the very least, but I am not sure if i can do that with what I have. I imagine that the enterprise server would have this ability, but again I don't know how the licensing works. If i have one copy of the server software (which is $999 i think) do i need more licenses for each workstation or server too?

Back on the preinstall driver note; it appears that Acronis works some magic to rewrite HALs and inject needed drivers into an OS, there must be a way to do it since they are doing it!

It makes sense that the same would apply to virtualization to some extent although I know that for virtualization in Microsoft Virtual PC it uses a pretty basic set of hardware, I wonder if VMware does something similar to that so that no matter what you used to have for hardware, the VM's hardware is basic enough to be compatible?

I still don't get though how if i had a server that had a Perc 5 SAS drive controller with 10 drives in a raid 5, how you can put that into a virtual machine and have it not crash?
 

jaqie

Platinum Member
Apr 6, 2008
2,471
1
0
Originally posted by: Aeridyne
preinstall driver - I thought about that, and you would think that would be a fabulous solution in this case since the only hardware that is changing is the controller and the partition setup, however I cannot find a way to "preload" a driver into windows to not crash when i fire it up on the new controller. (Same applies to motherboard swaps, etc.)
with an addin controller:
1) drop in the controller, hook a single data drive to it or so, properly terminated of course.
2) install driver for card.
3) do a hard drive partition backup
4) change drives over, do a scsi card low level format, and partition them again
5) do a restore.

Your problem will be solved like this, I have done this many, many times with both scsi and add in pata cards.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
Thats fine, but what I was interesting in regarding that comment was whether or not there are known or expected issues that can arise from hosting a server that is a domain controller with exchange on it virtually?

I think with Exchange the main issue is I/O performance. For a DC there can be some chicken-egg problems on bootup since DCs host Active Directory and usually other infrastructure things like DNS and DHCP so if the host holding the DC VM depends on the DC it might have problems booting up because it can't get an address from DHCP or can't contact the DNS server for resolution or the DC for authentication.

It makes sense that the same would apply to virtualization to some extent although I know that for virtualization in Microsoft Virtual PC it uses a pretty basic set of hardware, I wonder if VMware does something similar to that so that no matter what you used to have for hardware, the VM's hardware is basic enough to be compatible?

Yes, all virtualization software has it's own set of virtual hardware. You can even copy VMs between 32-bit and 64-bit hosts and they'll run just fine, hell I've even suspended a VM on a 32-bit host and resumed it on a 64-bit host and besides the scary "The CPU is different!!!" warning VMWare gives you it worked fine.

I still don't get though how if i had a server that had a Perc 5 SAS drive controller with 10 drives in a raid 5, how you can put that into a virtual machine and have it not crash?

The disks in the VM are just normal files on the host. The VM has no idea there's a PERC there, it just sees either an IDE or SCSI controller that the VM emulates.
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
Originally posted by: jaqie
Originally posted by: Aeridyne
preinstall driver - I thought about that, and you would think that would be a fabulous solution in this case since the only hardware that is changing is the controller and the partition setup, however I cannot find a way to "preload" a driver into windows to not crash when i fire it up on the new controller. (Same applies to motherboard swaps, etc.)
with an addin controller:
1) drop in the controller, hook a single data drive to it or so, properly terminated of course.
2) install driver for card.
3) do a hard drive partition backup
4) change drives over, do a scsi card low level format, and partition them again
5) do a restore.

Your problem will be solved like this, I have done this many, many times with both scsi and add in pata cards.

That just might work, if the cards weren't both built in to the motherboard and only one being usable at a time. I will keep that in mind for future builds where I might have the luxury of being able to install the add-in controller and load drivers beforehand, anything built in though will be a problem still.
 

Aeridyne

Senior member
Nov 25, 2004
242
0
71
I think with Exchange the main issue is I/O performance. For a DC there can be some chicken-egg problems on bootup since DCs host Active Directory and usually other infrastructure things like DNS and DHCP so if the host holding the DC VM depends on the DC it might have problems booting up because it can't get an address from DHCP or can't contact the DNS server for resolution or the DC for authentication.

That is a very logical and good point, I didn't even think of that. But so long as you had logged on to the host machine once you would boot from cached credentials and fire up the DC VM, it would make sense to have the host machine pretty much just a repository so that services didn't fail when it boots and potentially require a reboot.

Yes, all virtualization software has it's own set of virtual hardware. You can even copy VMs between 32-bit and 64-bit hosts and they'll run just fine, hell I've even suspended a VM on a 32-bit host and resumed it on a 64-bit host and besides the scary "The CPU is different!!!" warning VMWare gives you it worked fine.

Nice, very cool

The disks in the VM are just normal files on the host. The VM has no idea there's a PERC there, it just sees either an IDE or SCSI controller that the VM emulates.

This part I don't really get, how does it do that?

 

jaqie

Platinum Member
Apr 6, 2008
2,471
1
0
what is the size of your windows partition?

gnab an old IDE drive that is big enough for that, and a cheap pata pci card. install drivers for pata card, image over to the pata drive, install pata drive in new mobo, install new drivers for new scsi system on install, and then do what I said above.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
That is a very logical and good point, I didn't even think of that. But so long as you had logged on to the host machine once you would boot from cached credentials and fire up the DC VM, it would make sense to have the host machine pretty much just a repository so that services didn't fail when it boots and potentially require a reboot.

Cached credentials will probably work fine but if it can't contact a DNS server other things will be broken too.

This part I don't really get, how does it do that?

Do what? The VM software emulates all the hardware that it presents to the guest including the storage controller, NIC, video, etc.