Tuesday, June 26, 2012

Create a bootable Windows PE 3.0 USB drive with rescue tools – Part 1

For Windows PE 1.0, the minimalist Windows based on Windows 2003/XP, you needed an SA (Software Assurance), OEM, or ISV license. When Windows Vista was released everyone had access to Windows PE 2.0. This also applies to the Windows 7-based edition, Windows PE 3.0. Windows PE (Preinstallation Environment) was originally designed to deploy Windows. However, it is also useful in creating your own customized rescue boot media. In this article, I will describe how you can create a bootable Windows PE 3.0 (WinPE) USB stick, and, in my next post, I will show how to add your own rescue tools and how to keep your rescue stick up-to-date without much hassle. You will see that the procedure described here is much more convenient than most solutions you’ll find on the web.

Link to this greate article is:
http://4sysops.com/archives/build-a-bootable-windows-pe-3-0-usb-drive-with-rescue-tools-part-1/

Tuesday, June 19, 2012

Linux Screen Tutorial and How To

You are logged into your remote server via SSH and happily plucking along at your keyboard and then it happens. Suddenly, the characters stop moving and then you get the dreaded “Connection Closed” message. You have just lost your session. You were halfway through some task and now you have to start over. Ugh. Well you can prevent this from happening by using screen. The Linux screen tool can not only save you from disconnection disasters, but it also can increase your productivity by using multiple windows within one SSH session.

Original text of this great tutorial can be found on location:

http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/

Friday, June 1, 2012

HowTo monitor the NIC used by a Virtual Machine in a Hyper-V cluster

Original post can be found at location:
http://blogs.msdn.com/b/robertvi/archive/2008/12/05/howto-monitor-the-nic-used-by-a-virtual-machine-in-a-hyper-v-cluster.aspx

Recently I had a customer with the following problem: Hyper-V Host Clusters don't support NIC Teaming. So I have my VM clustered, but my machine does not failover when the NIC used for that machine has a problem. E.g. Network cable unplugged.
One approach to workaround this, is to add a cluster resource script to the Cluster Group. Below is a script, with short instructions.
Please note, this is a sample script, so you should consider testing and modifications to adjust for your own needs.
Unfortunately, this approach is not applicable if you manage your cluster with SCVMM 2008, as it will mark your VM as "unsupported"
This "unsupporte cluster configuration" notice in SCVMM will go away with SCVMM 2008 R2, and a April updated to SCVMM 2008

copy and paste the below and save as NicHa.vbs
'*******************************************************************************************************************************************************
' Nic HA Script. Sample. Please feedback to robertvi at microsoft.com
'
'INSTALL INSTRUCTIONS
'
' 1. copy this script to all cluster nodes into %windir%\cluster
' 2. In Failover Cluster Management Select the VM you wish to add NIC Monitoring
' 3. Select "Add a resource" -> Generic Script
' 4. Enter %windir%\cluster\nicha.vbs
' 5. Next, Finish. Note the name of the created resource (nicha Script)
' 6. Run ncpa.cpl
' 7. Identfiy the Phyiscl NIC that is used by the Switch for this VM (This NIC should only have the Switch Protocol bound)
'    Usually something like "Local Area Connection"
' 8. Rename this NIC to something like "VM Network 1"
' 9. Do steps 6 to 8 on all cluster nodes
' 10. Open a Elevated CMD Prompt
' 11. Using the names from above, "nicha script", "VM Network 1"'
' 12. In cmd prompt, issue the following command: cluster res "nicha Script" /priv NicName="VM Network 1"
' 13. Online the Script Resource
'
'You may edit the properties of the Virtual Machine Group in Failover Cluster Management to allow more failovers in a given period.
'The Default of 2 may be reached easily during testing. The script resource will then fail, but the group will not move
'
'The availability of the NIC is checked every minute by default.
'This could be changed in the Advanced Properties of the Script Resource in the "Thorough resource health check interval", if needed
'
'
'
'*******************************************************************************************************************************************************

'*******************************************************************************************************************************************************

'*******************************************************************************************************************************************************
'Global variables
'*******************************************************************************************************************************************************
'Script Version
ScriptVersion = "0.2"

'*******************************************************************************************************************************************************
'Open()
'
'*******************************************************************************************************************************************************
Function Open()
   
 On Error Resume Next
 Resource.LogInformation("Entering Open() for NIC Monitoring Generic Script Version " & ScriptVersion)
 If Resource.PropertyExists("NicName") = FALSE Then
  Resource.AddProperty("NicName")
  Resource.LogInformation("NICHA: Property NicName not configured")
 End If

Open = 0
End Function

'*******************************************************************************************************************************************************
'Online()
'

'*******************************************************************************************************************************************************
Function Online()
 'Check if the NIC is connected, otherwise fail Open
 Online = 1
 strComputer = "."
 strNicName = Resource.NicName
 strquery = "Select * from Win32_NetworkAdapter where NetConnectionID = '" & strNicName & "'"

 Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 Set colItems = objWMIService.ExecQuery(strquery)
 if colItems.Count = 0 then
  Resource.LogInformation("NICHA: Error - NIC not found")
  set objWMIService = nothing
  Set colItems = nothing
  Exit Function
 end if
 set objItem = colItems.ItemIndex(0)

 if objItem.NetConnectionStatus = 2 then
  Online = 0
 else
   Resource.LogInformation("NICHA: Error - NIC not in connected state")
 end if

 set objWMIService = nothing
 Set colItems = nothing
 set objItem = nothing

End Function

'*******************************************************************************************************************************************************
'LooksAlive()
'
'Return success
'*******************************************************************************************************************************************************
Function LooksAlive()
 On Error Resume Next
 LooksAlive = TRUE
End Function

'*******************************************************************************************************************************************************
'IsAlive()
'
'*******************************************************************************************************************************************************
Function IsAlive()
   
 On Error Resume Next
 IsAlive = FALSE
 strComputer = "."
 strNicName = Resource.NicName
 strquery = "Select * from Win32_NetworkAdapter where NetConnectionID = '" & strNicName & "'"

 Set objWMIService = GetObject("winmgmts:" _
  & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 Set colItems = objWMIService.ExecQuery(strquery)
 if colItems.Count = 0 then
  Resource.LogInformation("NICHA: Error - NIC not found")
  set objWMIService = nothing
  Set colItems = nothing
  Exit Function
 end if
 set objItem = colItems.ItemIndex(0)

 if objItem.NetConnectionStatus = 2 then
  IsAlive = TRUE
 else
   Resource.LogInformation("NICHA: Error - NIC not in connected state")
 end if

 set objWMIService = nothing
 Set colItems = nothing
 set objItem = nothing

End Function

'*******************************************************************************************************************************************************
'Offline()
'
'*******************************************************************************************************************************************************
Function Offline()
 On Error Resume Next
 Offline = 0
End Function

'*******************************************************************************************************************************************************
'Terminate()
'
'*******************************************************************************************************************************************************
Function Terminate()
 On Error Resume Next
 Terminate = 0

End Function
'*******************************************************************************************************************************************************
'Close()
'
'Return success
'*******************************************************************************************************************************************************
Function Close()
 Close = 0
End Function

How to use DiskSpd to simulate Veeam Backup & Replication disk actions

This HOW-TO contains information on how to use Microsoft© DiskSpd to simulate Veeam Backup & Replication disk actions to measure disk pe...