System Center Operations Manager 2012 SP1 Mini-test

I decided to do a mini-test of System Center Operations Manager 2012 SP1. We are already using Nagios for monitoring but it doesn’t hurt to look at the competitors 🙂

 

Installation

 

Normally I would test in a virtual environment, but this time I happened to have my trusty old bastard (Fujitsu Siemens Primergy RX200 S2) ready with a plain installation of Windows Server 2012 so I decided to use that one instead.

 

Nothing special with the installation, just a plain installation of Windows Server 2012 as base and SCOM 2012 SP1 on top of that. I then joined the server to the domain as this is a requirement. After that I started the installation of Operations Manager. The installation program itself has a prerequisite check so every component will be installed perfectly. I chose to install “everything”. There were many components missing at the check and the following was required for me:

 

· Download and install Microsoft Report Viewer 2010

· Add Application Server Role

· Add a whole bunch of Web Server (IIS) Support role services

· Modify alternative source to installation files (basically mount Windows Server 2012 ISO)

· More strange errors… The ISAPI and CGI Restrictions are disabled or missing: Web Console cannot operate properly because the ISAPI and CI Restrictions in Internet Information Services (IIS) are disabled or missing for ASP.NET 4.0.

Solution:

http://roshamboot.org/main/quick-fix-scom-2012-sp1-installation-challenges/

· Had a look at some guidelines instead of next, next, next 🙂

http://blogs.technet.com/b/kevinholman/archive/2013/01/16/opsmgr-2012-sp1-quickstart-deployment-guide.aspx

· Note: SQL_Latin1_General_CP1_CI_AS should be set as collation, otherwise error. The installer will NOT correct this one for you automatically.

· All prerequisites OK, except for SQL.

· Installed SQL Server 2012 SP1 Enterprise. Configured SQL to use max 2GB memory.

· Opened up firewall port for SQL

http://msdn.microsoft.com/en-us/library/cc646023.aspx

· Installed SCOM 2012 with pretty much default settings and with the help of

http://blogs.technet.com/b/kevinholman/archive/2013/01/16/opsmgr-2012-sp1-quickstart-deployment-guide.aspx

· Installed ok!

 

This was only a small test, as the whole system is a bit over the top (to say the least) for our needs. Anyways, seems to be working just fine. Screenshot below.

 

image

Fig 1. System Center Operations Manager 2012 SP1

 

I’ve been testing SCOM 2007 before so I knew what to expect. SCOM 2012 is indeed a very advanced monitoring system with all the bells and whistles. However, Nagios is our main monitoring software and it’s already set up to monitor all Linux servers, printers, switches (and more) at the Department. I’ll put my energy on configuring Nagios instead, as we don’t need all the advanced features of SCOM. We’re not monitoring hundreds of servers either. I’ve now added a script to Nagios which checks for Windows Updates. Of course there’s also standard checks like ping and so on. We don’t need anything fancier than that, at least for now. More about the Nagios script in another post.

 

 

Advertisements

Building a small Windows Server 2008 R2 cluster

Note: This document was written in Word back in February 2012. I’m just posting it now when I’ve entered the blogging area Smile

 

I had some old servers and some spare computers so I decided to build a test cluster with both physical and virtual servers. My main goal was to test out Microsoft’s Hyper-V virtualization solution as I’ve been working with VMware ESXi until now. I also wanted to try out System Center Configuration Manager 2007 as it is a very useful piece of software.

 

The following configurations were used:

 

Hardware:

 

Rack servers

 

primergy1: Domain Controller, DNS, DHCP

 

·         Fujitsu Siemens Primergy RX300 S2

·         2 x Intel Xeon 3.20GHz CPUs

·         4GB RAM

·         Dual NIC

·         6 x 146GB SCSI HDDs in hw raid-5

·         Windows Server 2008 R2 Enterprise SP1

 

 

primergy2: Storage Server (iSCSI)

 

·         Fujitsu Siemens Primergy RX300 S2

·         2 x Intel Xeon 3.20GHz CPUs

·         4GB RAM

·         Dual NIC

·         6 x 146GB SCSI HDDs in hw raid-5

·         Windows Storage Server 2008 R2 Enterprise SP1

 

 

primergy3: System Center Virtual Machine Manager 2008 R2

 

·         Fujitsu Siemens Primergy RX200 S2

·         2 x Intel Xeon 3.20GHz CPUs

·         4GB RAM

·         Dual NIC

·         2 x 146GB SCSI HDDs in hw raid-1

·         Windows Server 2008 R2 Enterprise SP1

 

Hyper-V servers

 

hyperv1:

·         Intel Core 2 Duo 2.33GHz

·         8GB RAM

·         Dual NIC

·         250GB SATA HDD

·         300GB mounted iSCSI Clustered Disk space from primergy2

·         Windows Server 2008 R2 Enterprise SP1

 

VM1: System Center Configuration Manager 2007 r3 (sccm)

Windows Server 2008 R2 Enterprise SP1 as OS

 

VM2: Windows 7 64 bit (win7client1)

 

VM3: Windows Server 2008 R2 Enterprise (failovertest, running from iSCSI clustered disk)

 

 

hyperv2:

·         Intel Core 2 Duo 2.13GHz

·         4GB RAM

·         Dual NIC

·         300GB SATA HDD

·         300GB mounted iSCSI Clustered Disk  space from primergy2

·         Windows Server 2008 R2 Enterprise SP1

 

VM1: System Center Operations Manager 2007 R2 (scom)

Windows Server 2008 R2 Enterprise SP1 as OS

 

 


 

Software:

 

Windows Server 2008 R2 Enterprise SP1

Windows Storage Server 2008 R2 Enterprise SP1

Windows 7 SP1 64 bit

 

Microsoft Hyper-V with failover clustering

System Center Configuration Manager 2007 R3

System Center Virtual Machine Manager 2008 R2

System Center Operations Manager 2007 R2

Microsoft SQL Server 2008 R2 Enterprise

Microsoft SQL Server 2005 Express

Microsoft iSCSI Software Target

 

 

image

Fig 1. The cluster

 

 

image

Fig 2. Cluster network diagram

Fig 1 above shows you a picture of the actual cluster and fig 2 shows a picture of the network diagram showing the actual connections between different servers.

 

 

Primergy 1  (2, 3 later)

The project started with OS installation on the three Fujitsu Siemens rack servers. These servers are not able to handle virtualization so they can only run one (Windows) OS per server, Windows 2008 R2 Enterprise in my case. These servers were designed back in the days when Windows 2008 wasn’t even in beta stage, and the installer had problems detecting the onboard SCSI card. Luckily I was able to download some drivers (available only for Windows Server 2003 and older) that worked and I got the servers up and running quite fast. I then run Windows update on all of them to ensure they were up to date even if it was only for test lab usage.

 

Now it was time for some cabling and configuration of the network. I hooked up all the three servers to a gigabit switch for internal communication. I started configuring primergy1 as it would become the Domain Controller. I enabled Active Directory Domain Services, DNS Server and DHCP Server roles.  The servers were configured with the following static configurations:

 

Network interface 1 (internal network):

Primergy1:                         Primergy2:                         Primergy3:

IP: 10.10.1.201                    10.10.1.202                         10.10.1.203

Subnet: 255.255.255.0        255.255.255.0                     255.255.255.0

DNS: 10.10.1.201                10.10.1.201                         10.10.1.201

 

I had previously changed the server names so now I just joined primergy2 and primergy3 to the domain. My domain is called jgs.test. I didn’t install anything on primergy2 and primergy3 just yet. I’ll get back to those servers later on.

I wanted to create only an internal domain network so I wouldn’t mess around with other (external) networks. When the internal network was configured I added an extra network cable to primergy3 for external access with RDP. Primergy3 is used to administer the whole cluster. I use RDP from that server to access all of the other nodes/servers/machines on the internal network. Configuration for second NIC on the primergy servers:

 

Network interface 2 (external network):

Primergy1:                         Primergy2:                         Primergy3:

Not connected                    Not connected                    DHCP

Set to obtain 192.168.17.203 from an external dhcp server

 

 

Hyperv1, 2

Now it was time for Hyper-V server installations. I started by installing Windows 2008 R2 Enterprise on both servers. After the installation I enabled the Hyper-V role (and the failover feature which I will try later on). I hooked up both servers to the gigabit switch with the other servers for internal communication. The servers were configured with the following static configurations:

 

Network interface 1 (internal network):

Hyperv1:                            Hyperv2:                           

IP: 10.10.1.205                    10.10.1.204

Subnet: 255.255.255.0        255.255.255.0

DNS: 10.10.1.201                10.10.1.201

 

Network interface 2 (external network):

Hyperv1:                            Hyperv2:                           

DHCP                                  DHCP

192.168.17.205 from          192.168.17.204 from

an external dhcp server     an external dhcp server

 

Now I joined the servers to the domain. After this it was time to configure networking in the Hyper-V manager on both servers. The configurations are almost identical on both servers so I’ll only write about hyperv1. I know that you should use dedicated physical network adapters for different tasks in the cluster, but as this is only a test scenario and not a production environment, I’ll settle for two adapters per host.

I started Hyper-V Manager and went to Virtual Network Manager. This is the place for all networking options in Hyper-V. You have to create virtual networks for the virtual machines. The network(s) can be external, internal or private. I chose external as I wanted to use the network cards for external communication. I built one virtual network for internal usage (10.10.x.x, domain) and one for external usage (192.168.x.x). Both were set as external in Virtual Network Manager though. In the beginning of each virtual machine installation I chose the external network as default. I chose this option because I want all of the new installations to be able to access the internet at first. This is mostly for updates and activation. After updates and activation, I switch over from external to internal network.

Now it’s time for the actual virtual machines to be installed. This is quite straight forward, at least in my configuration, as I have all of the virtual machines stored locally on disk. (I have now expanded my configuration and tried failover configuration with shared storage. I’ll write more about that later on).

Right click on the server name in Hyper-V Manager and choose new virtual machine. Follow the guide and install either from disk image (.iso) or from physical cd/dvd-rom. All options are rather self explanatory. Remember to choose the right network settings and you are good to go. Below is a screenshot of Hyper-V Manager:

 

clip_image002

Fig 3. Hyper-V Manager

 

Virtual Machines

 

System Center Configuration Manager 2007 r3 (sccm, on hyperv1)

I installed a new virtual machine on hyperv1 called sccm. I installed Windows Server 2008 R2 Enterprise as the base in this machine as this was required for sccm. I then followed guides for both sccm installation and configuration. The installation guide I followed is called Install SCCM 2007 on Windows Server 2008 R2 – Step by Step and can be found at: http://www.petenetlive.com/KB/Article/0000297.htm. Thanks to the author for the guides! I’ll try to recap the guides in a couple of steps.

 

1.      Create sql and sccm domain admin accounts in Active Directory on the Domain Controller (primergy1).

 

2.      Install IIS server role on the sccm server. Add a couple of IIS Role Services and Server Features.

 

3.      Go to Server Manager and configure WebDAV. Lots of permission options.

 

4.      Install SQL Server 2008 R2. Tick Database Engine Services. Tick Management Tools (Basic and Complete).

 

5.      Use the sql admin/sccm admin account created earlier for service accounts.

 

6.      Prepare Active Directory for sccm -> Extend Active Directory Schema on the Domain Controller. From the sccm install media > SMSSETUP > BIN > 1386 > extadsch.exe.

 

7.      Create some Active Directory objects go to a domain controller > Start > Administrative tools > ADSI Edit > Action > connect to. Lots of options, but most important is to allow your sccm-server (sccm) and sccm-admin Full Control.

 

8.      Install SCCM. Follow the guide. Apply sccm updates.

 

9.      That’s it. Now it’s time to configure sscm. I followed yet another guide from the same website. It’s called SCCM 2007 Initial Setup and Configuration. It can be found at: http://www.petenetlive.com/KB/Article/0000300.htm

 

10.  Just followed the guide. Note to self: worked pretty well except for some permission problems in sccm (the sccm client wouldn’t install on client computers). This was due to missing permissions in System Center Configuration Manager – Site Database – Central Site – Site Settings – Client Installation Method – Client Push Installation – Properties. Added a domain administrator account with more rights than the sccm-admin account and everything worked fine.

There was also a permission error on the Domain Controller. In Active Directory Users and Computers – System – System Management – Properties – Security, make sure that the computer “sccm” has Full Control.

BIG thanks to by friend Mats Hellman for these tips (and all other tips).

 

I now have a working sccm environment. I‘ve (push) installed sccm clients to all the servers and computers. My next step is to create installation packets for software installations. After that I’ll probably look at whole operating system installations via PXE. Below you have a screenshot of sccm in action:

 

clip_image002[4]

 

Fig 4. System Center Configuration Manager 2007

 

 

Windows 7 64-bit (win7client1, on hyperv1)

I installed a new virtual machine on hyperv1 called win7client1. I installed Windows 7 64-bit as operating system. I joined the machine to the domain and disabled the firewall so that the sccm client could be installed without problems. I pushed the sccm client from the sccm server to this client. That’s it for this machine (for now).

 

Windows Server 2008 R2 Enterprise (failovertest, on hyperv1)

This virtual machine was installed to test the failover cluster configuration within Hyper-V. More about that later on.

 

System Center Operations Manager 2007 R2 (scom, on hyperv2)

This virtual machine gets installed after primergy2 and primergy3. I’ll get back to this one later in the document.

 

 

Primergy 2

As I said before, the project started with OS installation on the three Fujitsu Siemens rack servers, including Primery2&3. Windows Server 2008 R2 Enterprise SP1 was already installed on this server and all I had to do was to install the iSCSI component. There’s a very good guide for this called How to setup iSCSI on Windows Server 2008, available from:

http://technet.microsoft.com/en-us/edge/Video/ff710316

 

I’ll try to recap my steps:

 

1.      Start Microsoft iSCSI Software Target from Administrative Tools

2.      Create two new ISCSI Targets called iscsi-target1 and iscsi-target2. I made two targets because you can’t share the same target on the (hyper-v) servers if they aren’t configured as a failover cluster. I haven’t looked into this just yet, so I’m fine with having a separate iSCSI target for each server.

3.      Give the IP-address/host for the initiator, IQN Identifier (the computer that will connect to this ISCSI target).

4.      Create a virtual disk for iSCSI target. One for each target in my case.

5.      Go to the server/computer that will “mount” the iSCSI drive. Go to administrative tools and start iSCSI Initiator.

6.      Go to the discovery-tab and enter IP-address for the iSCSI target server. In my case 10.10.1.202. It should now discover the iSCSI target. Others steps are in the guide.

7.      Format the new drive. It can now be used as a normal hard drive attached to the computer.

Note: I had “offline” problems on one of the hyper-v servers. It got fixed by following the steps on: How to change default SAN disk status from offline to online

http://social.technet.microsoft.com/Forums/en-US/winserverfiles/thread/c14bdde3-6359-463d-9932-5fe7ec72505e

8.      I now have an iSCSI disk on both hyper-v servers. I’m going to install my next virtual machine on this drive instead of local storage just for the fun of it.

9.      Later on I created new targets for use with failover clustering.

 

Below you have a picture of the Microsoft iSCSI Software Target main window.

 

clip_image004

Fig 5. Microsoft iSCSI Software Target

 

 

Primergy 3

It was now a suitable time to install System Center Virtual Machine Manager 2008 R2 because it is dependent on the Hyper-V servers. Quote from Microsoft’s own site:

System Center Virtual Machine Manager 2008 R2 helps enable centralized management of physical and virtual IT infrastructure, increased server utilization, and dynamic resource optimization across multiple virtualization platforms. It includes end-to-end capabilities such as planning, deploying, managing, and optimizing the virtual infrastructure.

 

Nothing complicated about this installation. Windows Server 2008 R2 Enterprise SP1 was already installed on this server and now I just installed System Center Virtual Machine Manager 2008 R2 (SCVMM).  SCVMM requires sql so I installed the bundled Microsoft SQL Server 2005 Express Edition. Later on you enter the servers you want to administer, in my case hyperv1 and hyperv2. From here on, you can add or remove virtual machines from scvmm instead from the local hyper-v servers. Small installation guide if needed:

http://blogs.technet.com/b/scvmm/archive/2009/01/05/scvmm-2008-installation-step-by-step.aspx

 

Below is a screenshot from System Center Virtual Machine Manager 2008 R2 displaying connections to hyperv1 and hyperv2:

 

clip_image006

Fig 6. System Center Virtual Machine Manager 2008 R2

 

 

System Center Operations Manager 2007 R2, continued (scom, on hyperv2)

Last but definitely not least we have System Center Operations Manager 2007 R2. I saved this one for last because it’s more or less dependent on all other machines. It is “just” a (health) monitoring tool for all my virtual and physical servers/machines. In my initial configuration I had this one as a fourth physical server but it turned out that the server had some hardware problems L

 

I installed a new virtual machine on hyperv2 called scom. I installed Windows Server 2008 R2 Enterprise as the base operating system in this machine as it was required for sccm. I then joined it to the domain and installed SQL Server 2008 R2 as a SQL server was required for scom. At the time scom 2007 was released, there wasn’t support for SQL Server 2008 R2. No problem though, I just had to do some small tweaks before the scom installation. A good guide for this, Installing SCOM 2007 R2 on SQL 2008 R2, is available at:

http://systemcenterdynamics.wordpress.com/2011/01/12/installing-scom-2007-r2-on-sql-2008-r2/

After doing all the tweaks, the installation went just fine. After that I just fired up the application and did some required configuration settings. You can do/monitor A LOT with scom, but the initial configuration was more than enough for my little cluster test. Below is a screenshot of System Center Operations Manager 2007 R2:

 

clip_image008

 

Fig 7. System Center Operations Manager 2007 R2

 

 

 

 

Hyper-V Failover Clustering

 

Lastly I decided to try out Failover Clustering with Hyper-V. I went to Server Manager and enabled the Failover Cluster feature. I then followed a guide called Creating Hyper-V Failover Cluster (Part 1), available from:

http://blog.frankovic.net/2010/04/creating-hyper-v-failover-cluster-part-1/

I had already done the preparation work like setting up Windows 2008 Storage Server for iSCSI. I followed the guide and created two iSCSI Targets called “Storage” and “Quorum”. I added the disk resources to hyperv1 and hyperv2 (with help from the guide). With this part done, it was now time to create the actual failover cluster. Firstly I started the Failover Cluster Manager and validated my configuration which passed the test.

I then started Hyper-V console and created a new virtual machine. I didn’t start it just yet. I then minimized Hyper-V console and maximized Failover Cluster Manager. I right clicked Services and applications and selected Configure a Service or Application. I chose virtual machine from the bottom of the list and clicked next. I selected my newly created machine and clicked next. This virtual machine is now configured as highly available. I restored Hyper-V console and started up my virtual machine. It now installed Windows Server 2008 R2 as a new highly available virtual machine. That’s it for installation.

My cluster is now able to migrate the virtual machine “failovertest” from one node to another.

 

 

clip_image010

 

Fig 8. Failover Cluster Manager

 

 

 

Final words…

 

That’s it for now. This has been a really fun project and I’ve learned a lot on the way. Hyper-V turned out to be really easy to use and a fair competitor to VMware. System Center Virtual Machine Manager 2008 R2 supports both Hyper-V and VMware hosts so you can manage everything from one platform which is a very nice solution.

 

I will look more into System Center Configuration Manager 2007 (sccm), as it is an interesting and very useful product.

 

Big thanks to Mats Hellman for helping me out with problems on the way and for giving me ideas on what kind of infrastructure to build for this small scale test environment.

 

 

 

Sources

 

Mentioned in the text.