Wednesday, August 20, 2014

How to Get ConfigMgr to Configure RAID Array on Dell PERC during OSD

Depending on which PERC you have (I was using a PowerEdge R720 with a PERC H710P), the DSDP and DTK may not inject the most appropriate driver for the "Set RAID Config" step to actually configure the controller during OSD.

*************
Edit 8/26/2014: This has been found to possibly be an issue with up-level ConfigMgr and down-level OS.  Below is the work-around for an issue described here: http://bradsjumpbag.blogspot.com/2014/08/failed-to-insert-osd-binaries-into-wim.html
*************

Here are the steps needed to get this working until the correct driver is injected automatically.  As of this post, the DTK and DSDP are only injecting the percsas3 driver and not the percsas2 driver.

A high level overview of this process: Get the boot image and inject the needed drivers using dism, re-import the boot image into ConfigMgr and make it usable again.

1. Right click on the boot image you are using in ConfigMgr and go to Properties.  On the Data Source tab you can see the Image Path.  Go to that location where the image is stored.  It should be similar to "\\SCCMServer\SMS_Site\OSD\Lib\BootImages\Dell\PowerEdge\x64\bootxxxx.wim".

Copy that wim file and paste it in the following step.

2. You will need a server running the same version of Dism as the version of the boot wim.  For example, if the boot wim is OS Version 6.3.9600.16384, you will need to copy the wim from #1 above to a server running Server 2012 R2 (you can see the OS Version column in Boot Images in ConfigMgr).  Paste that wim file to that server.  I just put mine in the root of C:\.

3. From a workstation without a PERC, go to www.dell.com/support.  You can either enter your service tag or click on "Servers, Storage & Networking"/PowerEdge/Model.  Then click on Drivers & Downloads.  Select your operating system in the dropdown.  Scroll down to and expand SAS RAID.  Find and download the Windows driver.  For this example I am using the "Microsoft Windows 2012 R2 64 bit driver for Dell PERC H310/H170/H710P/H810/SPERC8 Controllers" located here:
http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=0P5XV&fileId=3389791240&osCode=W12R2&productCode=poweredge-r720&languageCode=EN&categoryId=SF

4. This is being done on a workstation without a PERC so that you can extract the drivers without having it actually install.  Double click on the executable you just downloaded and click the Install button, but nothing else.  The install will fail but do not close it yet.  While the failed notice is still on the screen, browse to c:\users\YourLoggedInUser\Appdata\Local\Temp and find the folder that was just created based on time.  It will be a GUID.  Open that folder and you will find another folder with the drivers.  Copy that folder out and put it on your server where the wim was copied to.  I put mine in a folder called c:\perc.

So to this point we now have copied our bootxxxx.wim to C:\ on a server running the same OS version as the boot image; copied the needed drivers to C:\perc on the same server.

Next we will mount that image, inject the drivers, and commit the changes.

5. From an elevated PowerShell command windows, make another folder on this server called C:\Mount.  Then run the following commands.

This will mount that wim into the C:\Mount folder for editing.
"dism /Mount-wim /WimFile:C:\bootxxxx.wim /Index:1 /MountDir:C:\Mount"
replace bootxxxx.wim with the actual name of your file.  WinPE boot images usually only have 1 index so Index should always be 1.

Inject the drivers from C:\perc.
"dism /Image:C:\Mount /Add-Driver /Driver:C:\perc /Recurse"
Make sure all drivers were injected successfully.

Commit changes and unmount the image.
"dism /Unmount-wim /MountDir:C:\Mount /Commit"
If you have any File Explorer windows open to the C:\Mount folder, the commit may fail.  Close windows and try again.

6. Now the bootxxxx.wim file should show a modified date and time along with a slightly larger size than before.  Move this bootxxxx.wim to your sources folder, or other UNC accessible share path on your ConfigMgr server.

7. In ConfigMgr, right click on the Boot Images node and select "Dell PowerEdge Server Deployment\Create Dell Server Boot Image".  Mark the radial button for "Use a custom boot image" and enter the path to that new bootxxxx.wim.  The Boot Image should only show the first Index.  Press Next and give a name, version, and any comments for the new boot image we are creating.  Continue through the wizard and after a little processing time you should have a new boot image listed in ConfigMgr.

8. Open the properties of this new boot image.  On the Customization tab, make sure "Enable command support" is checked.  On the Data Source tab, mark "Deploy this boot image from the PXE-enabled distribution point".  On the Data Access tab, mark "Copy the content in this package to a package share on distribution points".  Press Ok.

9. Right click on the new boot image and Distribute Content.  Distribute to any and all DPs that you will be used for OSD.  refresh and check the status to make sure it succeeds.  You can also look at the Image ID on that boot image and then on each DP look in the SMSPKGDrive$ folder for that Image ID and make sure the bootxxxx.wim is there.

10. Go to your Task Sequences.  Right click on the TS you want to use and go to Properties, not Edit.  On the Advanced tab you can update the box for "Use a boot image" to this new image.  Press Ok.

11. Now go boot your server that you are trying to deploy to.  I like to go into the controller (CTRL+R) when possible and clear the config.  Then reboot to PXE and now the "Set RAID config" step should be able to access your PERC and try to configure it.

Press F8 during the task sequence so that you can stop it from rebooting just in case it doesn't work.  From here you open cmtrace and check out the SMSTS.log or run diskpart and type "list disk".  If "list disk" shows the drives now, it is working.  If not, open X:\Windows\Temp\Smsts\SMSTS.log to find the next error.

No comments:

Post a Comment