A home system for gaming and storage - part 1

It is very difficult to find a preconfigured computer (workstation) which is intended for storage intensive tasks, and has a provision for a high end graphics card.  My home system is used for both purposes!   I wish to run current 3D accelerated games, and I do video work which requires larger amounts of storage.  So when it came time to update my system, I decided to record the odyssey.


First find a motherboard model which even comes close


The server oriented motherboards tend to leave out the PCIe-x16 slot, and the workstation motherboards tend to leave out the provisioning for storage.   Therefore it was with great excitement I saw the new Intel BoneTrail, DX38BT, motherboard allowed for both! 


In fact this board provides 6 on board SATA ports (each can connect to one Serial-ATA style disk drive), and two PCIe-x16 expansion slots.   One of those is used for a high end graphics card, and one remains for a potential fast PCI RAID, should the onboard Intel Matrix Storage RAID functions not prove sufficient.   Those 6 SATA ports connect to the Intel Matrix Storage RAID,  typically configured as 2 drives mirrored and used for the Windows system disk, and 4 drives combined to act like one large disk.


The benefit of mirroring the system disk is protection against a drive failure.  One drive failing leaves all content remaining on the second drive, and Windows doesn’t lose anything.   No reinstalling all your applications because your system disk has failed!  Rather the Intel Matrix Storage chip warns you via a Windows utility that a drive has failed, and you have the opportunity to insert a replacement disk, while Windows continues to run normally.


The benefit of the other 4 ports is using them to combine 4 drives into one large filesystem, yielding capacity of storage.  I store high definition video and that does eat up space.  A one hour recording of 720p material is typically 12 Gbytes in size.  Then consider  processing  that video perhaps into DVD format, and the one hour project ends up at nearly 20Gbyte.  If you shot say a season of your child’s sporting events, perhaps 15 games, that is now 300Gbyte combined total.  It is not very convenient to find another place to save this size of material.  A hard disk is really the only option.   Once you make that decision, this storage also needs to be protected against failures, so mirrored RAID 1+0 is one reasonable choice.  Those 4 drives become a mirrored pair of 2 drives combined.  (some background description here:  http://en.wikipedia.org/wiki/Redundant_array_of_independent_disks#Nested_levels  )  RAID 1+0 yields a storage capacity equivalent of 2 drives combined, all mirrored, organized for fast transfer bandwidth.  E.g. if all drives are 500Gbyte, the resulting storage is 1000Gbyte, which with NTFS is usable filesystem space of 930Gbyte.  All protected by mirroring.  The choice of RAID 1+0 is a selection which favors high bandwidth of transfer.  Large video files generally benefit from this faster transfer time.


This blog describes the steps taken to go from the concept to a running Windows system.  It is a bit more complicated than necessary, since no one provides such a pre-configured system as I have described.  Those of us who consume storage are often on our own.


Choosing a workstation cabinet which can hold 6 drives


The first step, and already some trouble.  Such quantity of drive slots won’t be found in any ordinary computer.  I found a retailer which offered both this drive capacity, and the DX38BT motherboard.  In addition they offered to pre-configure the mirrored system disks.  Alas they failed to achieve this mirroring, more on that later.  www.jncs.com   In any case I was interested in going through the configuration experience, given a starting working hardware configuration.  So my starting point is a deskside workstation cabinet with DX38BT motherboard and 2 SATA drives, one with Windows XP Pro, and one drive initially a spare filesystem, a DVD burner, and  10 available 5” bays.  I also requested the Windows XP Pro  distribution CD as I knew this would be required to redo portions of the Windows installation (very important).










Software starting point – saving your entire Windows system disk image


You must undertake a project like this with a methodology for saving your entire Windows system disk image, in event of (likely) getting the configuration damaged and needing to return to a prior version.  My technology choice for this is Norton Ghost v14.  This software copies the entire Windows system disk into a file, and then Ghost can be booted from a CD and proceed to completely restore the Windows system disk.  Over the course of the following steps, I did this many times, as I hit false trails and had to backtrack.  Far, far, far better to reload a prior Windows image than redo hours of software installs.  Ghost can reload your entire Windows system disk in about 15 minutes, compared to installing from CD taking 2-3 hours.  This is a no-brainer.  Use a technology like Ghost, or you have no  hope of succeeding in a complex Windows config process.


What is the first step?  Install Norton Ghost!   I decided I would keep all the Ghost saves on a separate USB attached external hard disk.  This is sound paranoia.  Keep your backup copies physically separated from the system under test.  So I plugged in a USB drive, which mounted, and run Ghost, and specify a OneTimeBackup, selecting the C: drive to backup, and selecting the USB drive as the destination.  There is an option to name the backup image, and I recommend you use it, as you will have several such images by the time we are done.  I will refer to this image as “non-RAID-Windows-backup”.  Then let Ghost do the backup.  Since this is a new Windows system, there is only about 10Gbyte of material, and it takes about 20 min for Ghost to save it.  Exist Ghost and use the “Safely Remove Hardware” icon in the lower right corner to unplug the USB drive.


Install an IDE DVD drive


I received my new workstation with Windows XP Pro installed on one disk, a second disk not mirrored as yet, and a SATA DVD drive installed.  The two disks and DVD consumed 3 SATA ports of the DX38BT motherboard.  Since I needed all 6 ports for hard disk, I first needed to remove the SATA DVD and put in an internal IDE DVD drive.  The DX38BT has one Parallel ATA port, using the usual flat ribbon connector to attach to one or two IDE devices (in my case one DVD drive). 


I removed the SATA DVD drive and installed an IDE DVD drive, attaching the parallel cable from the DX38BT motherboard to the drive, leaving the middle connector unused.  The DVD drive must be jumpered as Master device. 


Upon booting Windows I was disappointed to see the drive was not appearing in Start-MyComputer Windows Explorer.  I did a shutdown and powered-on, and hit F2 several times right away to cause the computer BIOS to be entered.  This is a configuration mode prior to booting Windows.  I knew that the IDE-interface DVD drive on the Parallel ATA bus was not being recognized due to some BIOS mis-configuration.  But it was not easy to find.  Although Intel’s product website offers useful support information on the DX38BT, there was no sign of any problem like “IDE device not recognized”.   Getting advice, I searched through BIOS settings until I noticed the Advanced – Peripheral Config – Secondary SATA Controller setting was Disabled.  Although a Secondary SATA Controller doesn’t sound anything like a PATA bus IDE controller, I set this control to Enabled, and suddenly the DVD is working!


Note: be very careful in changing any BIOS parameter, as you can get worse failures than this one by mis-setting a parameter.


Confirm you can restore a Windows system disk image


It doesn’t help to make a backup if you are not able to restore it!  So shutdown Windows, put a sticky label on the current system disk labeled as “Windows original”, and we will use the 2nd drive to do a trial re-install.  This means this 2nd drive will be made into a Windows bootable drive, containing exactly the same content as Windows-orignal.  We will then boot it, confirming we have a sound procedure to do such a reload, needed in a future step.


Unplug the Windows-original drive SATA connector from the motherboard.  We will not allow this drive to be altered.  Attach the USB backup disk.  Power on and insert the Ghost CD.  Press the front panel Reset button, and after about 10-20 seconds the screen will prompt “Press any key to boot from CD”.  Quickly press the space bar, and the DVD will start to blink, as the Ghost CD boots. 


Once Ghost is up, select Home – Recovery My Computer.  Ghost will present a list of Recovery Points to Restore, from the USB disk.  Click on the newest and Next.  Now deselect the checkmark on the restore image just selected on the prior screen, and then click Add.  The reason for this detour is I was not happy with the options presented if you proceed with the first selected image.  By going through Add, more extensive options are presented.   On the Add screen, click Browse, the Computer, and click through to your USB drive to find the filename of the image to restore (non-RAID-Windows-backup), finally Open it.  Ghost will show information about that backup image, including the time created.  Confirm you have the right one, then Next.  Now select the drive where the restore will be done.  This is typically presented as a partition list, but most likely the SATA drive now installed will show with just one partition.  If you make a mistake here, you will totally erase all content from the target drive, so don’t make a mistake (this is the reason we detached the SATA cable from the Windows-original drive, right?).    After selecting the drive & partition which we will reload, Ghost will present a screen with options to checkmark.  Check all of these:  “Verify recovery point after restore”, “Check for filesystem errors”, “Set drive active (for booting OS)”, and “Restore MBR”.  The first two are sanity tests.  Set drive active makes the drive bootable by BIOS.  MBR is Master Boot Record, and I believe that is needed on any disk for it to be bootable.  These options do not appear to be offered except by going through the Ghost Add screen.


Now let Ghost do the restore.  It will copy from the saved image in the file on the USB drive, completely reloading the destination drive.  At completion the destination drive partition will be a fully bootable Windows system disk.  Then exit Ghost and your machine will go through reboot.


At this reboot, do not type any characters, such that the Ghost CD will not be booted.  Rather our newly created 2nd drive should now be recognized and its Windows OS should boot.  Login as usual.  Your screen settings and all icons should appear exactly as Windows-original.  If not, then you are not using Ghost correctly. 


Converting the system disk into a mirrored pair


Most likely your system, like mine, has a motherboard where the Intel Matrix Storage controller is in IDE mode and not in RAID mode.  This is likely as Windows XP does not contain the drivers for RAID mode.  So our next step is to a) set RAID mode, and b) add the drivers to the Windows OS.   The procedure to update Windows with the RAID mode driver is described on Intel’s web site, however we will step through it here.  See www.intel.com, go to Products, Motherboards, select Desktop Boards Extreme Series, select DX38BT, select Support, and select Troubleshooting serial ATA/RAID issues, and Configuring RAID on an existing PC.  There you are directed to the excellent Matrix Storage Manager User’s Manual, where we will follow the “F6 method of installing the Matrix Storage driver”.


I use a variation of the method described in the manual under the F6-method.  I use Repair mode, such that only a portion of the Windows OS is installed, including the RAID-mode driver, rather than all of the OS being updated.  The reason is to preserve all drivers which are already installed on your system disk, being hopefully up to date and preferred drivers for your system.  Otherwise if you install Windows XP as a fresh image, then you have to find and install all appropriate drivers, which your system supplier has already done, and probably not documented or offered any media for you to repeat this yourself. 


The F6-method requires a floppy drive.  The DX38BT motherboard does not support a floppy drive.    This could be a quandry, but as mentioned on the Troubleshooting Serial ATA/RAID issues page above, we will use an external USB floppy drive.  Unfortunately the Windows XP installation CD supports only  3 drive models, so you *must* procure one of the supported models.  Otherwise you will never succeed with installing the Matrix Storage RAID mode driver.  This Microsoft page lists the supported USB floppies: http://support.microsoft.com/default.aspx/kb/916196/ .  I found the TEAC/IBM drive at http://www.alancomputech.com/fd-05pub.html .


Set the Matrix Storage chip into RAID mode


Taking this step means the existing IDE mode hard disk will no longer boot, as the OS drivers in the Windows image will not recognize the RAID mode chip.  This situation is described in the Intel Matrix Storage Manager User’s Manual, downloadable from the DX38BT Support page.  I will follow the procedure from Chapter 5 Loading Driver During OS Installation.


We will use the Windows Ghost image saved in prior steps, adapting it to contain the Matrix Storage driver.


From Chapter 3, RAID BIOS Configuration, boot the PC into BIOS mode with the F2 key, horizontally scroll to Advanced, vertically scroll to Drive-Configuration, then scroll down to “Configure SATA As” and press enter.  Change the value from IDE to RAID.  If already showing RAID or AHCI, then you are in luck and Windows already contains the appropriate driver!  Then you can skip the next section.


F10 saves the new setting.  The PC will attempt to boot from the still installed 2nd drive we loaded above.  The boot will crash into a blue screen.  Ignore this. 


Update Windows with RAID-mode Matrix Storage driver


We will reload the 2nd drive with the non-RAID-Windows-backup image, with the drive now accessed via RAID mode.  A floppy containing the Matrix Storage driver must be created.  The manual describes this in Chapter 5 Loading Driver During OS Installation, Floppy Creation. 


Plug  in the external USB drive with the Ghost image and insert the Ghost CD.  Reset the PC and boot from CD.  Fortunately Ghost v14 does contain the driver to recognize RAID mode!  Now repeat the procedure as above to reload the 2nd drive with non-RAID-Windows-backup.  When Ghost finishes, Exit.  The PC may attempt to boot, and will fail, since that Windows image does not contain the RAID mode driver.    Disconnect the external USB drive (to protect it).


Put the Windows Installation CD in the drive.  This CD comes with your computer system.  But these days you usually have to request it, else you don’t get it.   You must have this CD to proceed.  Plug in the USB Floppy.  Do a boot from CD.  Watch carefully as the CD starts to boot.  There will be a short prompt about “Hit F6 to install drivers”.  You must press F6 at that message occuring.  Nothing will happen right away.  Rather the F6 is noticed, and a later prompt for a floppy will occur.


You will see the Windows Setup message “Setup could not determine the type of one or more mass storage devices.  To specify additional SCSI devices press S”.


Press the “S” key at this point.  You will be prompted to insert the driver floppy disk into the drive, do this.  Press Enter.   Select “Intel ICH8R/ICH9R SATA RAID Controller” choice for the DX38BT motherboard.  Hit Enter. 


At the prompt “To set up Windows XP now”, press Enter.  F8 to agree to the license.


At the prompt “If one of the following Win XP installs is damaged, Setup can try to repair it”, press R.


At the prompt - Insert disk “Intel Matrix Storage Manager driver” into A, insert the floppy and press Enter.   Only now will you learn if you have a floppy drive recognized by Windows.  The first load from the floppy above is under BIOS control and succeeds for any USB model.  Here only the models listed by Microsoft will succeed.  If the drive you have is not of the 3 types, nothing will happen when you hit the above Enter.  You are out of luck and have the wrong floppy drive model.


When the floppy reads, one more Enter prompt.  Do not remove the floppy disk.


Now we see the message “Setup is copying files”.  Finally “Setup complete”.  Remove the floppy now.  This is important, else BIOS will attempt to boot from the floppy and fail.


The PC reboots.  If all went will, now Windows will boot just as it did when we started!  But now we are running on a RAID capable mode, but still using just one drive.  And we are using the same drivers as your system was created with, now augmented by the Matrix Storage Manager driver.


Installing a second disk and using it to mirror the system


Before proceeding, you must make another Ghost image backup.  We have Windows XP running with the system disk via a RAID mode driver.  Connect the external USB drive and Ghost off the system disk.  Call this image “RAID mode Windows backup”.


Now shutdown and connect another SATA drive.  I suggest using a 3rd disk, continuing to retain the original Windows disk for now.  At this point we have our bootable RAID mode Windows disk and now an essentially blank 2nd disk installed.  These two drives must be connected to DX38BT SATA ports 0 and 1.  If not connected to those particular connectors, move them now.  Put the bootable disk on port 0, and the blank disk on port 1.  The connectors are labeled on the motherboard.  Use a flashlight.


At this point I followed the Intel Matrix Storage Manager User Guide Chapter 6 Matrix Storage Manager Installation.   And then Chapter 7 RAID-Ready Setup.  We have our system in the RAID-Ready condition.  And then Chapter 8 RAID Migration, RAID-Ready to 2-drive RAID 1.  We will use RAID-1 as that is the mirror mode, which provides the drive failure protection.  However the Chapter 8 procedure always failed for me, with the error “Volume Creation Failed”.  So I used the Chapter 4 Option ROM BIOS procedure instead.


Reboot the system, and watch carefully for the Matrix Storage screen, and type Ctrl-i .   Arrow move to Create-RAID-Volume, and Enter.  Enter a volume name such as SYS-RAID, and Enter.  When the RAID Level selection is highlighted, arrow up and down to RAID1 Mirror and Enter.  Select Port 0 and port 1 drives (arrow to the line, type space).  When both are selected, Enter.  You will get a warning about ALL DATA WILL BE LOST.  This is why we have a RAID-mode Ghost image of course.  Y to create it.  Now arrow to option 5-Exit and Enter.


The PC will attempt to boot and fail.  Insert the Ghost CD into the drive, and connect the external USB drive.  Reset the PC, type space to boot from CD.  When Ghost starts, use the procedure as before, but now selecting the image “RAID mode Windows backup”.  As Ghost loads this backup, it is now writing onto both drives simultaneously under control of the Matrix Storage chip!  You are getting two copies of all system disk data!  When Ghost finishes, exit, the PC reboots, do not boot from CD, and Windows should come up.  We are now running from a mirrored system disk!


 



 

 

 

 

 


 


 


Wasn’t that easy!  This much work needs vindication.




I will finish the job, adding the 3rd through 6th drives, in Part 2,
 /en-us/blogs/2008/07/17/a-home-system-for-gaming-and-storage-part-2

 

For more complete information about compiler optimizations, see our Optimization Notice.

Comments

's picture

Hey,
Do you dual boot it with OpenSolaris for your storage needs ?
That is, ZFS ..
Regards,

's picture

What is you experience with Solaris on this HW? Are there any drivers provided by Intel?

Richard Altmaier (Intel)'s picture

Hi Edward & Vasileios, I am application driven, and as it happens my video processing is on Windows. I use an HD camera, capturing to Windows. Then tmpgenc for compression and framesize adjustment, then Ulead tools for any editting and final DVD production. Finally Nero to burn the DVDs. So Windows happens to be my platform for this work. No use of OpenSolaris. I don't have any information to contribute for Solaris.
Rich

's picture

Waaay too much fiddling with Windows.

When Windows XP Professional told me I couldn't install it on a HW RAID0 (after loading the intel driver), I gave up. I knew that dog wouldn't hunt.

Plus, who in their right mind would trust a hardware RAID? If half a million dollar EMC system can't get it right, no cheapo intel ASIC will either.

I'd rather trust ZFS to keep my data safe.

I wonder why your blog ended on a blog roll for OpenSolaris, when you write yourself that you have nothing to do with him?

Richard Altmaier (Intel)'s picture

Hi, regarding your comment about trusting hardware RAID, I do see the error detection and recovery problem as a very difficult one. RAIDs come in all quality levels, aimed at handling a vastly different range of failures. When a RAID works, it masks a failure from software. When the RAID fails, the error is not masked, and is seen by software.

Considering disturbing data about hardware failures, did you see the recent study from NetApps' systems in the field, monitoring 1.5 million drives over 40 odd months? Here,
http://www.pdsi-scidac.org/publications/papers/schroeder-fast08.pdf
A disturbing number of SATA drives can sometimes return a block of data different from that written, with no error flag set. Such a case will escape through most RAID systems today. I believe RAID and filesystem implementors are looking at ways to detect these cases.

In general, more and stronger error detection is always better. In fact the reason I undertook this personal project is to improve the strength of my home system. The quantity of data I have here is not practical to backup by any home method. So I want my disk storage to be best possible. I believe this project is a step in the right direction.

's picture

That's correct. Drives will lie, cables can become faulty and even power supplies' voltage can fluctuate, corrupting data in-flight to the operating system. No hardware RAID, and not even the operating system can detect in-transit failures, however, that is exactly why I wrote that I'd rather trust ZFS:

ZFS *can*, and will detect these kind of failures, because every block of data is checksummed. Not only will ZFS detect them, it will immediately fetch a good copy of the data, deliver it to the OS, and attempt to correct the bad copy by overwriting it with the correct one.

On top of that, I maintain that modern multicore processors are much faster than a dedicated ASIC (this did not use to be the case until recently).

's picture

http://blogs.sun.com/elowe/entry/zfs_saves_the_day_ta

's picture

You have too much time on your hands.
-Sam

's picture

How's the noise of the system with so many disks and fans?

Richard Altmaier (Intel)'s picture

Hi Sean, it is the most silent workstation I have ever owned. Doesn't match a laptop mind you. I selected the Cooler Master CM Stacker chassis with 11 5.25" bays. I like to have manuevering space. As you can see from the photo, it is rather large. See further images in part 2.
This chassis has a very quiet rear panel exhaust fan, and a small fan blowing upward out of the top.
The pair of system disks mount in a small adaptive enclosure with a small fan at the front.
And the 4 drive set KingWin enclosure has a pair of small fans (very important for SATA). I cooked one of my SATA drives when mounting them together without good airflow.
Rich

Pages