Another Win for Windows 2012R2 Minimal UI

As mentioned before, Windows 2012R2 allows System Administrators to run their OS in a stripped down Core mode with no UI what so ever and only access to PowerShell and Command Prompt, or with the full UI, which includes File Explorer, System Task Bar, Internet Explorer and so on. There is a middle ground between the two, that is Minimal UI. I won’t get into the specifics in this post, but this essentially allows SysAdmins to have UI access to applications such as Event Viewer, Hyper-V, Failover Manager, Window Services, Administrative Tools etc., but at the same time running their OS in a much more refined, less resource intensive environment, thus a smaller footprint.

Windows 2012R2 UI Options:

  1. GUI (traditional experience)
  2. Core (stripped down, no Server Manager, only PowerShell and Command Prompt)
  3. Minimal UI (Server Graphical Shell removed)

What’s my point? Well, as Microsoft releases patches every month, this typically applies to machines with security vulnerabilities, and that starts usually with applications and their UI’s, ie. Internet Explorer. Since the Windows 2012R2 Minimal UI is not running your typical applications such as IE (Internet Explorer) and a System Task bar there are far less patches to be applied to the OS with Minimal UI, and especially Core.

Today, I was patching some servers, and getting them up to date for February, and the results speaks for themselves. Not only is the server with Minimal UI faster and more snappy but take a look at the number of patches needed this month for the server with the full UI versus the server with the Minimal UI.

Windows 2012R2 with full UI

withUI

Windows 2012R2 with Minimal UI

withoutUI

I hope this is enough incentive for you to consider using Minimal UI or even Core if you are that comfortable with PowerShell and Command Prompt.

Also, as you can see in the Minimal UI screenshot above, SysAdmins still have access to tools like Hyper-V manager, etc.

 

Cheers!

Advertisements

Configuring Memory Consumption for SQL Server 2012 R2

Naturally (by default) SQL will consume all the memory available within its environment. There are times some applications require a minimum of memory allocated to the SQL instance before you can proceed with the application install. Below is how you can configure the minimum and maximum memory allocation your SQL instance can consume.

For starters, I am going to assume you understand how much memory (RAM) is available to your SQL server, and you have done the math behind any other SQL instances that may be within your SQL server…

In my case, I am going to ensure my application will always have a minimum of 12GB of memory, and a maximum of 14GB. The server itself has 16GB, and I will leave 2GB for the OS.

Launch your SQL Server Manager > right-click on the named instance > select Properties > select the Memory tab > define your settings here.

1

2

 

That is it!

SCCM 2012 R2 (Configuration Manager) – Setup is unable to connect to SQL Server

Chances are you have a named instance for your SCCM SQL install, which is definitely the way to go. However, when installing SCCM 2012 (R2) you are presented with the following error.

Setup is unable to connect to SQL Server with the connection information provided. Verify the following:

  • The SQL Server and instance names are entered correctly
  • The specified SQL Server instance is not configured to use dynamic ports
  • If a firewall is enabled on the SQL Server, inbound rules exist to allow connections to the correct ports
  • The account used to run Setup has permissions to connect to the specified SQL server instance

1

 

To resolve this is pretty pain-less.

In my scenario, I implemented the following two solutions:

  1. Enable Named Pipes for your SQL Server Network Configuration
  2. Delete all Dynamic (TCP/IP) Ports within the Protocols for your SQL Named Instance

First, to Enable Named Pipes, Launch SQL Server Configuration Manager, expand the SQL Server Network Configuration. Locate your named instance, right-click on TCP/IP and enable.

2

Second, within the same console view, double-click and open the TCP/IP properties.

  • Here you need to delete any 0‘s (Zero’s) assigned to the TCP Dynamic Ports (Yes, remove for all IPv4, IPv6, IPAll, etc.).
  • Also within the IPAll there will be a random port assigned here (TCP Dynamic Ports), go ahead and delete this too.
  • Lastly, now you need to assign some port (ensure this port is open between your SCCM server and SCCM SQL server, if you are making use of the Windows or any Firewall(s)). In my case, I decided to assign port 1433. Within each interface, IPv4, IPv6, etc. apply your port here within the TCP Port. (See below)

2b

 

Once you have implemented the two solutions above, now go ahead and restart the SQL Server (instance name) service.

3

Now proceed with your SCCM 2012 R2 Install.

If you want to learn more on Configuring SQL Server and TCP Port(s), please see the following Microsoft article, HERE.

Cheers!

Exporting and Importing VMs in Hyper-V 2012R2

Let’s say you have a Virtual Machine on one Hyper-V server, and need to migrate it over to another Hyper-V server. For whatever reasons, end of life on the existing server, different data center, etc. Of course this is one of the many good reasons why having a clustered Hyper-V environment is the way to go, but this post is not about that. So, let’s get to it.

 

  • First, shutdown your VM and determine a destination to store the VM. Simply shutdown the VM within the Hyper-V console, and right-click and select Export. Once you define this, you can track its progress. Depending on your storage, how big the VM is, Hyper-V server specs, etc. this could take a few minutes…

1

2

3

  • Next, copy the VM data (you just exported) to the new Hyper-V server or some storage location. Again, based on your environment, network, server etc., this could take a few minutes.

4

  • Next, on your (new) Hyper-V server, launch the Hyper-V console, and select Import. Browse to the location where the VM being imported resides.

5

6

  • When selecting the Import Type, I chose the third option (Copy the virtual machine (create a new unique ID))

8

  • Now you can set the location of the VMs properties, or leave them defaulted to your Hyper-V servers settings.

9

  • Depending on your VM/Hyper-V server, you may have had some fancy properties, like a virtual switch. In my case I did, and on the new Hyper-V server I did not have the same virtual switch, or at least not the same name. You can either create the Network Switch your VM requires, or select “Not Connected” and finish this task later.

10

  • Now you can go ahead and finish the import process, and allow the new machine to be officially imported on your new Hyper-V hypervisor. Again, based on your environment, this may take a few moments, so go get another coffee, and enjoy!

11

 

 

Setting up a KMS Server – Windows Server 2012R2

What is a KMS? Microsoft’s KMS allows you to automate license activation for Windows servers and/or applications. In my case, I am using KMS for Windows 2012R2 license activation.  (Oh, KMS stands for Key Management Server) The setup is simple, it took me no more than 15 minutes. Below are the steps I took to set this up. Some pieces of information, I decided to dedicate a server for KMS. Also, when adding the Windows server key, double check and ensure you are using a valid Volume License key, and a KMS key — not MAK! (Yes, there is a difference)

For starters I am going to assume you already made note of the license key from your Microsoft Volume License Servicing Center portal.

As mentioned, I decided to stand up a server dedicated for KMS.

From the Windows Server Manager, install the “Volume Activation Services” role either via the GUI, or via PowerShell. If via PowerShell, here is that command, “Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature

Once the role has been installed, launch the Volume Activation Tool console, and essentially next, next, finish!

  • Browse/Select the server that will be hosting the KMS (service):

1

  • Paste in your KMS Host/License Key:

2

3

  • Choose “Active online

4

5

Here, you have some options, how often would you like KMS to check-in, how often would like KMS to apply the key, etc. I left my settings at default, but (assuming) your environment is domain based, check mark Domain for KMS firewall exceptions. Also, by default, KMS listens on TCP port 1688.

6

 

And that is is! Now your existing/new Windows 2012R2 servers will have their licence automatically activated within 2 hours.

(more…)

Creating Easy Tier (Multi-tier) Pool with IBM Storwize

Creating an Easy Tier (aka Multi-tier) pool within IBM’s Storwize is pretty simple, just it cannot be done via its GUI. The GUI definitely lacks this functionality, and thus I had to resort to learning some IBM CLI for the Storwize(V5000). I have been told (from IBM) the command(s) are the same for both the Storwize v7000 and v3700 series as well.

The benefits of IBM’s Easy Tier is rather impressive, and I am sure (please correct me if I am wrong) this exists within other SAN vendors as well. In my pool, there are three types of disk drives, SSD and SAS (both enterprise grade and nearline). The benefits of the multi-tiered (easy tier) pool allows data to be (seamlessly) migrated to higher-IO drives/pools that provide higher performance, ie. SSD pools.

In my case this is great, as I will have heavy-hitting IOPS SQL virtual machines that will probably require the higher performing SAS if not SSD drives. And whereas low-IOPS hitting data such as Quorums on nearline drives.

As IBM states, “Easy Tier can automatically migrate data at the sub-LUN/sub-volume level to the most appropriate storage tier. This includes the ability to automatically and non-disruptively relocate logical volume extents with high activity to storage media with higher performance characteristics, while extents with low activity are migrated to storage media with lower performance characteristics.

So how is this all done?

I am going to assume you have already created your mdisk/RAID groups. In my case my SSD drives are a RAID-5 likewise with my SAS (enterprise) drives. RAID-6 for my SAS nearline drives.

Within the CLI, you will need to get the IDs of all your drives, you can do this by running the following command, “lsdrive“. Now you can see all your drives, and their disk types, IDs, etc.

1

Now you need to create your Easy Tier pool with the mkarray command. (More syntax info can be found HERE)

“mkarray -level <raidType> -drive <IDrangeOfDrivesPerDiskTypeGroupSepeartedByColon(s)> <YourPoolName>”

mkarray -level raid5 -drive 0:1:2:3 EasyTier-Pool
*Do not forget to leave 1 drive behind as a spare within your MDisk pool, otherwise you will have no hot-spare, and will have to rebuild*
4 5

Once you have created your pool, and assoicated all the drives to the Easy Tier pool, you can now see all the mdiskX groups, using the lsmdisk command.

2

For more details, use the lsmdiskgrp command.

3

We can now also confirm the Easy Tier pool within the GUI.

image004

Now we can start building/migrating or whatever it is your SAN was designed for! 🙂

 

For more literature on IBM’s Easy Tier, please visit the LINK.