Archive for the ‘Windows Server 2015’ Tag

Build a G5 G-Series #azure VM SQL Server 2014 Cluster With shared cloud Storage #yam

This Morning I thought why not build a rocking Fast SQL Cluster in Azure. But the Next next Cluster operation is way to easy I decided to build this with the G series and with the Windows technical preview with the latest options.  A G5 Server has 32 Cores and 448GB memory and only 6TB disk space. In this demo setup I used 3 G5 Servers and a  little disk space

So I created a fresh new network for this.

image

and later I can create a hybrid S2S VPN to my other Clusters.  See My other Blog post about VPN

https://robertsmit.wordpress.com/2014/12/15/how-to-setup-azure-vpn-for-site-to-site-cross-premises-or-create-a-virtual-network-for-point-to-site-vpn-azure-winserv/

I Create a DC that is holding my Service Accounts and I use Azure For the Cloud Witness

Check my blog on how to configure Cloud Witness

https://robertsmit.wordpress.com/2014/10/28/configuring-advanced-quorum-configuration-as-a-cloud-witness-windows-azure-files-cloud-azure-winserv-witness/

 

Doing a quick performance test on the G5 Machine.  D and C drive

image  image 

 

The same on a A1 machine D and C drive

 

 image image

 

image image

The G5  CPU

As we Create the Cluster and I added some disk to the Cluster we have the following Configuration

With SQL 2014 I can use a CSV for the Database files So I created a CSV from 300GB this is more than enough to hold this test install and hold my two G5 Series SQL Server 2014 Ent. instances 

 

image

 

To save Time and Costs I use the SQL ini file that I used in the first SQL Instance for the Second instance, This will not bring the fully automatic install as I don’t use the Service accounts But a Quick Next Next Finish will do the trick.

 

image

Using the CSV as Storage

image

On the Second instance I do a Install From ini file based setup.  If you need more info on how to do this read my previous blog posts

Installing the SQL server is just as described in my blog post below 

AlwaysOn Failover Cluster Instances SQL Server 2014

https://robertsmit.wordpress.com/2014/05/15/alwayson-failover-cluster-instances-sql-server-2014-in-part2-azure-winserv-sql-msteched/

Windows 2012R2 Failover Cluster With SQL Server 2014 AlwaysOn Options

https://robertsmit.wordpress.com/2014/05/14/windows-2012r2-failover-cluster-with-sql-server-2014-alwayson-options-part1-cloud-azure-winserv-sql-msteched/

If you want to see the installation Steps I created a movie with about the same steps. the whole Process creating and install SQL in just 15 Minutes. not fully untended just for showing you what is possible.

https://robertsmit.wordpress.com/2013/09/30/windows-server-2012-r2-with-sql-server-2014-cluster-installation-in-less-than-15-minutes-winserv-rocks-movie/

 

Now that We have 2 SQL servers Running One instance on both nodes

image 

The First node is holding my CSV volume ( more about this on another blog )

image

for demo I can’t fully load the SQL and this is only for showing that you can build a SQL Server 2014 Cluster Based on a CSV in Windows Azure.

 

image

And you can resize the G5 VM’s to a smaller size if needed. 

But keep in mind the D drive is a temporary drive and will not hold data if the server is turned off !!

With the vNext there a re a lot off new options possible. For now I burned my Azure Credits See you next time.

 

Happy clustering

Robert Smit

@ClusterMVP

https://robertsmit.wordpress.com

Technorati Tags: Windows Azure,Azure File service,Windows,Server,Clustermvp,Blob,cloud witness

Posted February 2, 2015 by Robert Smit in Azure

Tagged with ,

Getting started with Windows Volume Replication (Storage Replica) to Azure Configuration does it Work ? #winserv #SR #Azure #WVR #MVPBuzz

As in my previous blog post I named Storage Replication and Storage Spaces Shared nothing. This item is all about Storage Replication.

As there are many blog post all about this item I will show you not the easy part but a Hybrid Replication to Azure. As machines are getting faster in Azure I guess this will do for my Storage Replication.

Storage Replica (SR) is a new feature that enables storage-agnostic, block-level, synchronous replication between servers for disaster recovery, as well as stretching of a failover cluster for high availability. Synchronous replication enables mirroring of data in physical sites with crash-consistent volumes ensuring zero data loss at the file system level. Asynchronous replication allows site extension beyond metropolitan ranges with the possibility of data loss.

see the Windows Server Technical Preview Step-by-Step Guide for Storage Replica.

 http://robertsmit.wordpress.com

Disaster Recovery (DR) refers to a contingency plan for recovering from site catastrophes so that the business continues to operate. Data DR means multiple copies of production data in a separate physical location. For example, a stretch cluster, where half the nodes are in one site and half are in another. When using synchronous replication this is also known as a metro-cluster; when using asynchronous replication, it is often referred to as a geo-cluster.

Service level agreements (SLAs) define the availability of a business’ applications and their tolerance of down time and data loss during planned and unplanned outages. Recovery Time Objective (RTO) defines how long the business can tolerate total inaccessibility of data. Recovery Point Objective (RPO) defines how much data the business can afford to lose.

Storage Replication is:

The destination volume is not accessible while replicating

The Microsoft implementation of asynchronous replication is different than most.

SR is not DFSR

SR is not backup

SR is not Hyper-V Replica or SQL AlwaysOn

WVR is SR.

You will find many instances of the terms “WVR” or “Windows Volume Replication” in the Windows Server Technical Preview.

The Setup

The Setup between on-premise and Azure is based on a Azure VPN for Site-to-Site Described in this blog post :  How to setup Azure VPN for Site-to-Site Cross-Premises or Create a Virtual Network for Point-to-Site 

All my servers are running windows Server Technical Preview

The Nodes are named win2015-3,win2015-4 and in azure win2015-6 All the machines are domain joined and pingable

Appropriate firewall and router rules to allow ICMP, SMB (port 445) and WS-MAN (port 5985) bi-directional traffic between all cluster nodes.

A network between the two sets of servers with at least 8Gbps throughput and average of ≤5ms round trip latency when sending non-fragmented 1472-byte ICMP packets for at least 5 minutes. ( I do not have this in this configuration )

The problem is when you dan’t have a connection that is fast enough the replica will drop the connection and you will see this in the eventlog

http://robertsmit.wordpress.com

So testing the the Line holds : But I know I’m in trouble with this.

ping win2015-6.mvp.local -4  -l 1472 -n 300

Ping statistics for 172.16.0.4:

Packets: Sent = 300, Received = 300, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 4ms, Maximum = 54ms, Average = 6ms

This should be something like this:

http://robertsmit.wordpress.com

To test If the Disk Holds use DISKSPD or copy a large file to generate some write load on the source server volume.

The goal is to keep 95th percentile latency under 50ms

My sample line diskspd.exe -c10G -d120 -t4 -o8 -h -w100 -b32K -r32k -L H:\testfile.dat > c:\win2015-3base.txt

  %-ile |  Read (ms) | Write (ms) | Total (ms)
———————————————-
    min |        N/A |      0.275 |      0.275
   95th |        N/A |     32.694 |     32.694

IOPS are important but latency is a true indicator of application performance.

 

To install All the options that are needed in the cluster you can use PowerShell or do this by hand in the GUI.

my $servers holds all the nodes and then I install the Features. ( a reboot in needed )

$Servers = ‘win2015-3′,’win2015-4′,’win2015-5′,’win2015-6’

$Servers | ForEach { Install-WindowsFeature –ComputerName $_ –Name WVR,Failover-Clustering,Multipath-IO,Hyper-V –IncludeManagementTools -restart }

 

Now that all the bits are in place we can create a new cluster Or if you already have a cluster you can use that one. ( see my blog post 15 minute install )

New-Cluster -Name HybridClu -Node ‘win2015-3′,’win2015-4′,’win2015-5′,’win2015-6’ StaticAddress 10.255.255.18

Configure a File Share Witness or Cloud (Azure) witness ( see my blog post Configuring cloud witness quorum Windows Server Cluster Azure Files )

http://robertsmit.wordpress.com 

Now that the Cluster is in place We can start with the Storage I have attached 3 extra disk to my Azure VM

http://robertsmit.wordpress.com

And Several Disks to my on-premises Cluster nodes all small disk as I just want to test this and all is just as an Sample.

http://robertsmit.wordpress.com

There are several options in the Configuration As shown in the Guides see the Windows Server Technical Preview Step-by-Step Guide for Storage Replica.

So this Config is not the basic and see If I can find the Borders of the Configuration. Remember IOPS and Latency is important to get this done ( Express route to the Home will be the best Christmas gift )

I build a Storage Pool off 3 disks and created here 2 disk on with the Exact same Size.

http://robertsmit.wordpress.com

Keep in mind that the Disk needs to be GPT and you can set this in the Disk manger but also with diskpart

DISKPART

LIST DISK

SELECT DISK 3

Create

But This is not always  enough when you see Event ID 10381 in the WVR then you need to set Microsoft Reserved (MSR) partition

Status: Unknown NTSTATUS Error code: 0xc0530191

A serious problem has been identified with the contents of the disk partitioning layout resulting from a missing Microsoft Reserved (MSR) partition. WVR requires that the disk have an MSR partition prior to the creation of the WVR partition database. Without the MSR partition, WVR cannot create the WVR partition database which prevents the disk, or any of the partitions or volumes contained by the disk, being involved in replication. To correct the problem, the MSR partition must be created on the disk. This is typically achieved by (re-)initializing the disk. Note that initializing the disk will involve the destruction of all the contained partitions and volumes on that disk. To use the disk for WVR, the disk must have been initialized with the GPT (GUID Partition Table) layout. Once this has been done, the required partitions and volumes can be created, and the partitions and/or volumes can be provisioned for replication as normal.

So clean the partition and start over. Create Partition with MSR and GPT. Only then the Disk will work for Storage Replication ( WVR )

DISKPART

LIST DISK

SELECT DISK 3

Create Partition MSR Size=32

 

So I created 4 disk with the exact same size and GPT and MSR this should do the Trick. In my case I use only 3GB disks as this is the minimal specs for most things.

Now Create and Place Holder for your Disk in the Cluster

http://robertsmit.wordpress.com Name it and place One disk in this Role

 

Now the easy part just run one-liner in PowerShell you can do this in the GUI but this is not the best method now in the Technical Preview.

http://robertsmit.wordpress.com

In PowerShell you will see Quickly if it is working

What We will need :

Two node names Source :win2015-3  and Destination : win2015-6

Create Two Replication groups Azure_group08 & Azure_group09  ( tested this a lot and broke all Replica’s )

Pick the Drive Letters

Source Data : H

Source LOG :  E

Destination Data : I

Destination LOG : W

And Pick a Logsize

 

To create the Windows Volume Replication all in one PowerShell

New-SRPartnership -SourceComputerName win2015-3 -SourceRGName Azure_group08 -SourceVolumeName h: -SourceLogVolumeName e: -DestinationComputerName win2015-6 -DestinationRGName Azure_group09 -DestinationVolumeName i: -DestinationLogVolumeName w: -LogSizeInBytes 2gb

This will trigger the Cluster and this will create the Groups and it will add the Log disk to the Data Disk group after a bit of ping pong with the disk they will failover and come on/offline failover the disks and the Cluster Layout will be something like this

http://robertsmit.wordpress.com

My Resource Group Hybrid Repl and the Replication has created the WVR Azure_group09

now with all Running you can see what is my Group and Partnership

Get-SRGroup

http://robertsmit.wordpress.com

Get-SRPartnership

image

You can also reverse the Replication if needed

but looking at the Events in WVR you can see if the Replication is ok  Ensure that events 5002, 2200, 5015 , 5005, 5001, and 5009

imagehttp://robertsmit.wordpress.com

Event logs Source and Destination

If you want to change the Logsize  “ LogSizeInBytes 2gb “ then you have to rebuild the Replica there is currently no option for that.

image

 

Last Part is the Removal of the Replica , It make sense that in the Cluster Failover manager you can delete the replica but If you do this the replica is not totally removed this is a bug. so best to remove the replica is by PowerShell.

Get-SRPartnership | Remove-SRPartnership

Get-SRGroup | % { Remove-SRGroup -Name $_.name }

image

Removing the Replica will give the disk the status Available Storage.

http://robertsmit.wordpress.com

As I meshed up my other Replication on deleting this in the Cluster Failover Manager GUI, This is hard To fix and you have to go deep to fix this.

Diskpart is you best friend on this.

http://robertsmit.wordpress.com

Hopefully this walk true is helpful and see what you can do with the hybrid environment. If you need more help here is the Forum

https://social.technet.microsoft.com/Forums/windowsserver/en-US/f843291f-6dd8-4a78-be17-ef92262c158d/getting-started-with-windows-volume-replication?forum=WinServerPreview

Other Options for storage Replication : While Windows “Shared Disk Failover Cluster” is not yet supported for Microsoft Azure Virtual
Machines, 3rd-party software SIOS Datakeeper can be used as an alternative: http://us.sios.com/products/datakeeper-cluster

Source : http://azure.microsoft.com/blog/2014/11/11/high-availability-for-a-file-share-using-wsfc-ilb-and-3rd-party-software-sios-datakeeper/

 

My next blog post will be : How does DAS-only storage work in a failover cluster?  at [11:00]: ( Storage Spaces Shared Nothing )

If you want more info about Windows Server Technical Preview get here the Guides that you can use to start with the new Stuff

Guides :

Happy clustering

Robert Smit

@ClusterMVP

http://robertsmit.wordpress.com

Technorati Tags: Windows Azure,Azure File service,Windows,Server,Clustermvp,Blob,cloud witness

Posted December 17, 2014 by Robert Smit in Window Server 2015

Tagged with ,

What is change in Windows Server 2015 (10) cluster – Setting Cluster Common Properties

In the new Windows Server 2015 ( Windows Server Technical Preview )there are a lot of new features an not all are clear what they are doing.

I call it here Windows server 2015 there is currently no indication that the server 10 will be named 2015 but as the product will come in 2015 it will make sense that it will be called Windows server 2015. 

I made a Quick compare from the old cluster Windows Server 2012R2 to the new Windows server 2015

In the GUI there is not much change the only part that is real changed is the Enclosure part. ( See my other blog about this )

image  image

But what is change is underwater. when we do a Get-cluster | fl *  We get a list of all the cluster property’s that can be set.

 image

Check this MSDN site for more info about Cluster Common Properties

http://msdn.microsoft.com/en-us/library/aa369087(v=vs.85).aspx

 

There are a lot of new options but one option is gone RootMemoryReserved is not longer available.

cluster environment variable RootMemoryReserved was introduced to ensure that clustered VM hosts have a minimum amount of physical memory reserve for the host.

The RootMemoryReserved is by default set at 512 MB. This should be sufficient for the host VM that is not performing any operation other than manage the VMs.

As above windows10 is my cluster name and must be used in the PowerShell command

(get-cluster windows10).RootMemoryReserved

To change the RootMemoryReserved, the desired reserved memory size is assigned to the PowerShell cmdlet above. Use the following PowerShell cmdlet to set RootMemoryReserved to 1024 MB:

(get-cluster <cluster name>).RootMemoryReserved=1024

So it is no longer there.!

But now what is new.

When we do a Get-cluster | fl *

It will give us a long list but I filtered out and here are only the new parts that is only available in Windows Server 2015

ClusSvcRegroupStageTimeout        5
ClusSvcRegroupTickInMilliseconds        300
ClusterFunctionalLevel        9
ResiliencyDefaultPeriod        0
QuarantineDuration        0
ResiliencyLevel        Default
ClusterGroupWaitDelay        120
QuorumArbitrationTimeMax        20
RequestReplyTimeout        60
DumpPolicy        69913

When we need to change these options that can be done with (get-cluster).ClusterFunctionalLevel=9

(get-cluster).< with the name> = Value

As I noticed there are options from 2008 back and all have to do with latency so a logical conclusion would be will the cluster go to Azure or is there something coming that we need the values to get a better cluster. and all

Let us review these Commands

ClusSvcRegroupStageTimeout

ClusSvcRegroupTickInMilliseconds

These options where there in 2008 but removed in 2012 and now they are back.

Controls the amount of time, in seconds, that a node waits on other nodes in a membership stage before deciding that they have failed.

Controls the interval of time, in milliseconds, that the membership algorithm waits between issuances of periodic membership messages.

http://msdn.microsoft.com/en-us/library/jj151921(v=vs.85).aspx

ClusterFunctionalLevel  

Upgrading a Hyper-V or Scale-Out File Server cluster from Windows Server 2012 R2 to Windows Server Technical Preview no longer requires downtime. The cluster will continue to function at a Windows Server 2012 R2 level until all of the nodes in the cluster are running Windows Server Technical Preview. The cluster functional level is upgraded to Windows Server Technical Preview by using the Windows PowerShell cmdlt Update-ClusterFunctionalLevel.

http://technet.microsoft.com/en-us/library/dn765474.aspx

ResiliencyDefaultPeriod

The default resiliency period for the cluster, in seconds

http://msdn.microsoft.com/en-us/library/dn823627(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/dn765741(v=vs.85).aspx

ClusterGroupWaitDelay

Specifies the amount of time groups will wait for their default or preferred owner node to come up during cluster cold start, before the groups are moved to another node.

http://blogs.msdn.com/b/clustering/archive/2009/08/11/9864574.aspx

QuorumArbitrationTimeMax 

Specifies the maximum number of seconds a node is allowed to spend arbitrating for the quorum resource in a cluster.

http://msdn.microsoft.com/en-us/library/aa369123(v=vs.85).aspx

RequestReplyTimeout

Describes the length of time a request from a node with a cluster state update will wait for replies from the other healthy nodes before the request times out. Any nodes that do not reply within the request time out period will be removed from active membership in the cluster. The following table summarizes the attributes of the RequestReplyTimeout property.

http://msdn.microsoft.com/en-us/library/bb394696(v=vs.85).aspx

DumpPolicy 

Queries that can be used to export resource type specific logs.

http://msdn.microsoft.com/en-us/library/dn823627(v=vs.85).aspx

 

There a fresh new options and currently not well documented or <NDA> but I’m sure when the server product is right a lot more new features will be made public. 

When the next release of Windows Server will be available I’ll discuss the DASMode properties in a future blog

Happy clustering

Robert Smit

@clusterMVP

http://robertsmit.wordpress.com

  • Tag