HP RAID 50 NPG raid info

Lately when buying HP servers I have started seeing what looks like a new type of RAID listed when choosing RAID 50. Depending on the number of disks you have you may see the following options available as part of RAID 50.

RAID 50 NPG:2
RAID 50 NPG:3
RAID 50 NPG:4

When I asked around what these were no one seemed to know so I started creating them on a D2700 and seeing what the result was. Below is a listing of what you end up with when you create each of these. It appears all the NPG means is Number of Parity Groups. I’ve seen a lot of confusion about this both inside and outside of HP support. One advantage to this is the ability to lose more than 1 disk as long as they are different parity groups. A disadvantage is to increase storage you would need to add the number of disks you have of parity groups.

RAID 50 NPG:2
Drives Assigned to Parity Group 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 3
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 4
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 5
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 6

Drives Assigned to Parity Group 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 7
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 8
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 9
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 10
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 11
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 12

RAID 50 NPG:3
Drives Assigned to Parity Group 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 3
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 4

Drives Assigned to Parity Group 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 5
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 6
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 7
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 8

Drives Assigned to Parity Group 3
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 9
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 10
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 11
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 12

RAID 50 NPG:4
Drives Assigned to Parity Group 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 1
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 3

Drives Assigned to Parity Group 2
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 4
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 5
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 6

Drives Assigned to Parity Group 3
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 7
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 8
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 9

Drives Assigned to Parity Group 4
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 10
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 11
146 GB 2-Port SAS Drive at Port 2E : Box 1 : Bay 12

Connect PowerShell to Office 365 cloud

We do quite a few Office 365 migrations and recently found out you can connect PowerShell to the Office 365 cloud and do quite a lot of tasks that way instead of using their web interface. This is going to make our jobs much easier. I will show you how to connect to 365 and some examples of things you can do. Some of the more powerful scripts such as user control require you to install the Office 365 sign in tool and the Microsoft Online PowerShell snap-in.

To be able to run commands that affect user accounts you must install the Microsoft Online Services Module for PowerShell which can be found here which also requires the single sign on tool located here.

To connect to Office 365 with PowerShell run the following 4 commands. You will be prompted for your account credentials.

set-executionpolicy remotesigned
$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session
To connect to the user management service issue the following
connect-msolservice
To set a users password to something you know and set them to not have to change it
Set-MsolUserPassword -UserPrincipalName CHANGETO@USERNAME -NewPassword SETTHISTOTHENEWPW -ForceChangePassword $false
To set all users to not have to change password every 90 days
Get-MsolUser | Set-MsolUser –PasswordNeverExpires $True

SBS Server 2003 Exchange ActiveSync forbidden

Recently I worked on a customer who had Exchange 2003 and a new iPhone he wanted to connect but was failing. The phone actually verified and connected but they kept get a message of cannot get mail.  Their first issue was an invalid SSL certificate but once we cleared that up the iPhone was still kicking back an error it could not get email and an android device we tested with gave a access denied error. The tool at https://www.testexchangeconnectivity.com gave the following error

An HTTP 403 forbidden response was received. The response appears to have come from Unknown. Body of the response: <body><h2>HTTP/1.1 403 Forbidden</h2></body>

I saw several suggestions for this on the web but their problem ended up being that their previous IT had configured a website on port 80 and redirected the default website to port 8082. Once we switched this back everything started working and the support tool passed all tests.

If you have additional issues this post is a good resource.

VBscript FileSystemObject copy file gives permission denied error

This is something I forget about since I don't do a lot of file copying using VBS but I figured it is good information to have out there.

Any time you are copying to a folder using VBScript your folder path needs to have the trailing \ on it or your script will try to treat your folder like a file and try to overwrite it and give a permission denied.

So while this example will not work:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("c:\test.txt")
objFile.Copy "c:\temp", True

This one will:
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile("c:\test.txt")
objFile.Copy "c:\temp\", True

Windows 7 gadgets show a white box with greater than sign

Recently had a Windows 7 user who had some desktop gadgets from MSDN that were showing up as a small white box with a greater than sign in it while other gadgets were showing up fine. The fix was surprisingly simple.

Go into the control panel, choose default programs, set program access and computer defaults, select the Microsoft Windows option and click ok. Close down the sidebar process and restart it.  Gadgets should show up normal again.

You can reset your default programs back after this.

Setup was unable to create a new system partition or locate an existing system partition

As part of trying to recover data from a Novell NSS partition we attempted to install Windows 7 onto a brand new disk so we could run some recovery tools. During the install at the disk selection part we got the error in the title of this post. It took me awhile to figure it out but the resolution ended up being very simple. We had 2 raid controllers plugged in that once we unplugged the system was able to create the partition. It was a bit odd since the install did not even see these disks but it worked.

Recovering data from a corrupted VMWare guest


Recently I had a client whose previous support team had set them up with 2 servers running VMWare with one of them being duplicated to the other using Veeam. The one thing they failed to do was limit the growth of the VM partition to the available space of the drive so guess what happened? Yep the VM storage drive ran out of space and corrupted the heck out of the 2 disks attached to the only guest on it. Veeam then dutifully copied over the corrupted data. Once they called us the machine was beyond recovery as a usable machine (did I mention this was their DC?) even after trying several snapshots. We freed up enough space to boot the guest and got a solid 45 minutes of check disk repair and then a notice that were was no available AD information and a notice we needed to boot into recovery mode and restore that data. Too bad that was gone. So now the client really just wants their data back and a new machine built but how were we going to get into the drive hosted on a Unix machine with multiple snapshots?  It turns out this ended up being easier than expected.  There is a great bootable CD called SystemRescueCD which I was able to upload to the storage partition on VMWare and attach it as a CD image to the corrupted guest and boot from. Once booted you can attach the drives using the mount command and the drive name in our case it was sdb1 so:

mount -t ntfs /dev/sdb1 /mnt/windows -o ro

Once the drive is mounted you can copy the data off over the network just like normal assuming the rescue cd was able to initialize your network card. I would recommend the use of a program like teracopy to do the copy rather than normal windows copy. Keep in mind this mounts the drive read only so any tools like teracopy need to be installed on the destination machine. You can mount the drive read/write but this is not recommended.