“Incomplete Communication with Cluster” with local Storage Space for SQL Server cluster

When building a SANless SQL Server cluster with SIOS DataKeeper, or when configuring Always On Availability Groups for SQL Server, you may consider striping together multiple disk in a Simple Storage Space (RAID 0) for performance. This is very commonly done in the cloud where each instance typically his backed by hardware resiliency, so RAID 0 is not really all that risky.

For instance, I had a recent customer in AWS that wanted to max out his IOPS to 80,000, the maximum IOPS currently available to a single instance. Now keep in mind, only the largest EBS optimized instance sizes supports 80,000 IOPS, so you want to make sure you know what maximum IOPS your particular instance size supports.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html

In this case we had ac5.18xlarge instance which does support 80,000 IOPS. However, any individual EBS Provisioned IOPS volume only supports up to 32,000 IOPS. The only way to achieve 80,000 IOPS when writing to any single volume is to strip three of these volumes together in a Simple Storage Space.

Herein lies the rub, if you try to do that in an existing cluster things are going to go haywire pretty fast. Fellow MVP Joey D’Antoni recently blogged about the issue and it appears to still be an issue in the Windows Server 2019 preview.

Just as Joey suggests, I always advise my customers to build out the nodes and any Storage Spaces BEFORE they start the clustering process. This makes the process go much smoother. It also allows the customer to have some time to benchmark the server’s performance before they add any replication, to  ensure everything is working as expected.

 

 

“Incomplete Communication with Cluster” with local Storage Space for SQL Server cluster

Your student could be the next Doogie Howser of Cloud Computing with free training and cloud computing resources

Students with any interest in Information Technology or Computer Science are going to be joining a world dominated by Cloud Computing. And of course the major cloud service providers (CSP) would all love to see the young people embrace their cloud platform to host the next big thing like Facebook, Instagram or SnapChat. The top three CSP all have free offerings for students, hoping to win their minds and hearts.

But before you jump right in to cloud computing, the novice student might want to start with some basic fundamentals of computer programming at one of the many free online resources, including Khan Academy.

feature_khanacademy.png

Microsoft is offering free Azure services for students. There are two different offerings. The first is targeted at high school students ages 13+ and the second is geared towards college students 18+.

microsoft-azure-1.png

Microsoft Azure for Students Starter Offer is for those high school students that are interested in building applications in the cloud. While there are not as many free services or credits as being offered at the college level, there is certainly enough available for free to really get some hands on experience with some cutting edge technology for the self starter. How cool would it be for your high school to start a Cloud Computing Club, or to integrate this offering into some of the IT classes they may already be taking.

Azure for Students is targeted at the college level student and has many more features available for free. Any student in computer science or information technology should definitely get some hands on experience with these cutting edge cloud technologies and this is the perfect way to do it with no additional out of pocket expense.

A good way to get introduced to the Azure Cloud is to start with some free online training courses Microsoft delivers in partnership with Pluralsight.

logo_aws-educate.812809f63186598d26a56d443d829afa390566d1.png

AWS Educate. Not to be outdone, AWS also offers some free cloud services to students and educators. These seem to be in terms of free cloud credits, which if managed properly can go a long way. AWS also delivers an educational program that can be combined with an AP class in Computer Science if your high school wants to participate.

 

Google-Cloud-Platform.png

Google Cloud Platform (GCP) also has education grants available for computer science majors at accredited universities. These seem to be the most restrictive of the three as they are available for Computer Science Majors only at accredited universities.

GCP does also offer training, but from what I can find I don’t see any free training offerings. If you want some hands on training you will have to register for some classes. The plus side of this is that these classes all seem to be instructor led, either online or in an actual classroom. The downside is I don’t think a lot of 13 year olds are going to shell out any money to start developing on the CGP when there are other free training opportunities available on AWS or Azure.

For the ambitious young student, the resources are certainly there for you to be the next Doogie Howser of Cloud Computing.

Doogie Howser_Cloud MD_.png

 

Your student could be the next Doogie Howser of Cloud Computing with free training and cloud computing resources

First impression of the new Gmail Interface

As a Mac user I have been a little frustrated with using Gmail as there really is no Gmail user experience on the Mac as good as running Outlook 2016 on Windows 10 with G Suite Sync for Microsoft Outlook. I had high hopes for Outlook 2016 for Mac and I was an early adopter once they lit up the preview of Gmail integration that allowed you to sync both calendars and email, but it fell short in one major area.

outlook-logo

There were a few rough edges in the preview, but for the most part it was working as advertised. However, the one big stumbling block for me is there is no way to limit the amount of email that Outlook will download and store locally. This is a very basic feature that Outlook on Windows users get when they use G Suite Sync to sync the Gmail account to Outlook on Windows.

When they implement that feature I’ll give it another try, but for now Outlook really isn’t an option for a email hoarder like me, especially given the relatively small size of the flash drives in the MacBook Pro.  If you are reading this and they added that feature drop me a note and I’ll give it another try.

For a while I was keeping a Windows VM around just to use Outlook. After a while I realized that this was just a little ridiculous and I decided to cut the cord and go cold turkey…no more Outlook.  I forced myself to embrace the Google web interface and just lived without the niceties of how well Outlook Contacts, Calendar and Emails integrated seemlessly.

Honestly I hated it. My inbox never seemed to get empty, and all my tools that integrated WebEx, Calendars and email just weren’t there, or maybe I just didn’t know how to use it properly, or know what Chrome extensions to use. But I suffered through and sucked it up.

Inbox-iOS-app-by-Google

Then I stumbled upon Inbox by Google, I think by accidentally typing inbox.google.com rather than mail.google.com. My first impression was “wow, this looks really nice”. I didn’t know much about it so I did a little reading and quickly downloaded the iOS version. Obviously if you know anything about Inbox you know it has actually been publicly available since May of 2015.

If I think way back to 2014 I think I may have had a friend send me an invite to the private preview and I may have even looked at it. But at that time I was a tried and true Windows 7 and Office 2010 user, so some new web interface to check Gmail really didn’t interest me.

But since I have been torturing myself with the regular Gmail interface, I have come to find a brand new appreciation for Inbox. The initial setup was a little arduous as I had a long history of emails that I had to “Sweep” into the “Done” pile, but I persevered and was awarded with the first clean inbox I have seen in years.

IMG_4833

I have to tell you the feeling of a clean inbox really made my day. I felt like a weight was lifted off my shoulders and that I was free to focus on work that really mattered.

Of course anyone can click Select All and then Delete and get the same result in just about any email program. What was different about Inbox was that of course there were some recent emails I couldn’t just simply sweep into the done pile. For those emails you just hit the snooze button. Wow, who doesn’t like to hit the snooze button?

IMG_4834

So the snooze button allows me to easily snooze an email till tomorrow morning or next Monday morning. Typically my emails fall into one of those categories, but if I want that email to pop up at a specific time I can pick a custom date and time as well.

The other brilliant option that I absolutely love is the ability to “put a pin” in an email. Once you pin an email you can’t accidentally sweep it into the done pile until you unpin it. So basically my email work flow is:

  • quickly scan my Inbox
  • ignore the 95% junk email
  • put a pin in anything that looks important
  • sweep everything else into the done pile with a single click
  • look at my pinned emails, snooze the stuff that can wait
  • deal with only the most important emails first

I’ve only been using Inbox for a few weeks, but I am hooked and I am loving my clean inbox.

But of course this really only addresses my email problem. There isn’t any integration in with Google calendars so I still don’t have the seamless workflow between email and calendaring that I had with my Outlook on Windows.

Enter the new Gmail interface…

2018-07-27_01-44-46

Admittedly, I am a little late to the game here. Apparently it became available to regular gmail.com user accounts back on April 25th. I don’t use a regular Gmail account, so I was just generally unaware of the change until I just stumbled upon it a few hours ago.

The Accidentally Google Admin

As any IT person will tell you, once people know you are tech savvy you tend to get roped into a lot of things. In my case it is the local marching band parent organization. Just recently I found myself being recruited to take over their social media accounts, WordPress website and Mailchimp email database. Although they owned their own domain for the website, they were not using it for email addresses.

Long story short, I got them signed up with a free G Suite for Nonprofits account since they had already embraced Google docs for some document sharing. It was pretty easy to get them up and running. Of course one of the first things I tried was to connect to my account with Google Inbox. The message I got back was pretty clear…the Administrator needs to enable Google Inbox first.

Seeing as I’m the Google Admin, I put my Google search skills to work and quickly found the page in the Google Admin site where I could allow Google Inbox.

2018-07-27_02-00-26

As I enabled Inbox my eyes wondered down to the next setting…New Gmail.

“What on earth is New Gmail?”

I decided to throw caution to the wind and went ahead and selected “Allow my users access to the new Gmail UI”.

Apparently this feature was just GA’d for G Suite users, so my timing was fortunate.

As I opened mail.google.com and logged in with my marching band account I was glad to see at the top of the Settings menu I was able to “Try the new Band Parents Email”. Without hesitating I click it and made the switch.

2018-07-27_02-08-50

Now I’ve only been using the new Gmail for a few hours but I think I’m going to be very happy with it. I was super happy to see that there is a SNOOZE button I can use. They don’t appear to have the pin and sweep option, but you can simulate that functionality by putting a star next to important emails and then Select Unstarred and then just delete the rest. It’s still easier in Inbox, and this isn’t really new functionality for Gmail. Hopefully Google will adopt the pin and sweep method of clearing emails in the new Gmail interface soon.

2018-07-27_02-23-00

But the key feature I really like is the tighter calendar integration. The one thing I love about Outlook is that from an email message you can schedule a meeting and everyone addressed in the email will automatically be part of the meeting invite, which opens up in the calendaring section of Outlook.

At first glance I thought this feature was still missing. However, after a little Google searching I discovered that it is in there.

2018-07-27_02-30-29

In fact, it had been there in the old interface as well, but I wasn’t seeing it because I enable a Vertical Split so I could view my email like I was accustomed to in Outlook. In the new Gmail this is a standard feature you can enable. In the old email it was in Google Labs.

2018-07-27_02-34-01

What I have come to find out though is that if you enable a Vertical or Horizontal Split you lose the ability to create an event directly from an email. That is really disappointing because in my mind those are two really key features. Hopefully someone will figure out how to get those features working together.

One feature that looks really interesting in Nudging. I think I will have to use it for a few days to experience it first hand, but as described Gmail will remind you about emails that may have fallen through the cracks and also about sent emails that you haven’t received response from yet.

I’m really most curious about that second use case as I’m sure many of you are. How is Google going to know what emails I expect to receive responses from? I’m assuming there is a bit of AI going on behind the scenes, but I’m sure I’ll learn more in the next week or two and will come back with some updates.

In the meantime, get your Google admin to enable the new Gmail and read about the rest of the new features here: https://support.google.com/mail/answer/7677724

 

 

First impression of the new Gmail Interface

High Availability Options for Microsoft SQL Server in the Google Cloud

I was recently interviewed by VMblog about high availability options for SQL Server. You can check out the interview here http://vmblog.com/

For the step by step guide I previously published, check it out here https://clusteringformeremortals.com/2018/01/10/how-to-build-a-sanless-sql-server-failover-cluster-instance-in-google-cloud-platform/

High Availability Options for Microsoft SQL Server in the Google Cloud

STORAGE SPACES DIRECT (S2D) FOR SQL SERVER FAILOVER CLUSTER INSTANCES (FCI)?

With the introduction of Windows Server 2016 Datacenter Edition a new feature called Storage Spaces Direct (S2D) was introduced. At a very high level, this solution allows you to pool together locally attached storage and present it to the cluster as a CSV for use in a Scale Out File Server, which can then be accessed over SMB 3 and used to hold cluster data such as Hyper-V VMDK files. This can also be configured in a hyper-converged (HCI) fashion such that the application and data can all run on the same set of servers.  This is a grossly over-simplified description, but for details, you will want to look here.

 

Storage Spaces Direct StackImage taken from https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/storage-spaces-direct-overview

The main use case targeted is hyper-converged infrastructure for Hyper-V deployments. However, there are other use cases, including leveraging this SMB storage to store SQL Server Data to be used in a SQL Server Failover Cluster Instance

Why would anyone want to do that? Well, for starters you can now build a highly available 2-node SQL Server Failover Cluster Instance (FCI) with SQL Server Standard Edition, without the need for shared storage. Previously, if you wanted HA without a SAN you pretty much were driven to buy SQL Server Enterprise Edition and make use of Always On Availability Groups or purchase SIOS DataKeeper and leverage the 3rd party solution which lets you build SANless clusters with any version of Windows or SQL Server. SQL Server Enterprise Edition can really drive up the cost of your project, especially if you were only buying it for the Availability Groups feature.

In addition to the cost associated with Availability Groups, there are a number of other technical reasons why you might prefer a Failover Cluster over an AG. Application compatibility, instance vs. database level protection, large number of databases, DTC support, trained staff, etc., are just some of the technical reasons why you may want to stick with a Failover Cluster Instance.

Microsoft lists both the SIOS DataKeeper solution and the S2D solution as two of the supported solutions for SQL Server FCI in their documentation here.

s2d

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-high-availability-dr

When comparing the two solutions, you have to take into account that SIOS has been allowing you to build SANless Clusters since 1999, while the S2D solution is still in its infancy.  Having said that, there are bound to be some areas where S2D has some catching up to do, or simply features that they will never support simply due to the limitations with the technology.

Have a look at the following table for an overview of some of the things you should consider before you choose your SANless cluster solution.

2018-10-05_21-13-59

If we go through this chart, we see that SIOS DataKeeper clearly has some significant advantages. For one, DataKeeper supports a much wider range of platforms, going all the way back to Windows Server 2008 R2 and SQL Server 2008 R2. The S2D solution only supports the latest releases of Windows and SQL Server 2016/2017. S2D also requires the  Datacenter Edition of Windows, which can add significantly to the cost of your deployment. In addition, SIOS delivers the ONLY HA/DR solution for SQL Server on Linux that works both on-prem and in the cloud.

[EDIT JULY 2018]
I’ve been talking to a lot of customers recently who are reporting some performance issues with S2D. When I tested S2D vs. DataKeeper about a year ago I didn’t see any significant differences in performance, but I did see S2D used about 2x the amount of CPU resources under the same load. I’ll have to revisit my test and publish a detailed blog article soon on performance. The other complaint I have been hearing is in terms of growing storage space in S2D.

But beyond the cost and platform limitations, I think the most glaring gap comes when we start to consider disaster recovery options for your SANless cluster. Allan Hirt, SQL Server Cluster guru and fellow Microsoft Cloud and Datacenter Management MVP, recently posted about this S2D limitation. In his article Revisiting Storage Spaces Direct and SQL Server FCIs  Allan points out that due to the lack of support for stretching S2D clusters across sites or including an S2D based cluster as a leg in an Always On Availability Group, the best option for DR in the S2D scenario is log shipping! This even includes replicating across Availability Zones in either Azure or AWS.

S2D in Azure
John Marlin, Program Manager for High Availability and Storage

Don’t get me wrong, log shipping has been around forever and will probably be around long after I’m gone, but that is taking a HUGE step backwards when we think about all the disaster recovery solutions we have become accustomed to, like multi-site clusters, Availability Groups, etc.

In contrast, the SIOS DataKeeper solution fully supports Always On Availability Groups, and better yet – it can allow you to stretch your FCI across sites to give you the best HA/DR solution you could hope to achieve in terms of RTO/RPO. In an Azure environment, DataKeeper also support Azure Site Recovery (ASR), giving you even more options for disaster recovery.

The rest of this chart is pretty self explanatory. It basically consist of a list hardware, storage and networking requirements that must be met before you can deploy an S2D cluster. An exhaustive list of S2D requirements is maintained here.  https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/storage-spaces-direct-hardware-requirements

The SIOS DataKeeper solution is much more lenient. It supports any locally attached storage and as long as the hardware passes cluster validation, it is a supported cluster configuration. The block level replication solution has been working great ever since 1 Gbps was considered a fast LAN and a T1 WAN connection was considered a luxury.

SANless clustering is particularly interesting for cloud deployments. The cloud does not offer traditional shared storage options for clusters. So for users in the middle of a “lift and shift” to the cloud that want to take their clusters with them they must look at alternate storage solutions. For cloud deployments, SIOS is certified for AzureAWS and Google and available in the relevant cloud marketplace. While there doesn’t appear to be anything blocking deployment of S2D based clusters in Azure or Google, there is a conspicuous lack of documentation or supportability statements from Microsoft for those platforms.

SIOS DataKeeper has been doing this since 1999. SIOS has heard all the feature requests, uncovered all the bugs, and has a rock solid solution for SANless clusters that is time tested and proven. While Microsoft S2D is a promising technology, as a 1st generation product I would wait until the dust settles and some of the feature gap closes before I would consider it for my business critical applications.

STORAGE SPACES DIRECT (S2D) FOR SQL SERVER FAILOVER CLUSTER INSTANCES (FCI)?

How to Build a SANless SQL Server Failover Cluster Instance in Google Cloud Platform

If you are going to host SQL Server on the Google Cloud Platform (GCP) you will want to make sure it is highly available. One of the best and most economical ways to do that is to build a SQL Server Failover Cluster Instance (FCI). Since SQL Server Standard Edition supports Failover Clustering, we can avoid the cost associated with SQL Server Enterprise Edition which is required for Always On Availability Groups. In addition, SQL Server Failover Clustering is a much more robust solution as it protects the entire instance of SQL Server, has no limitations in terms of DTC (Distributed Transaction Coordinator) support and is easier to manage. Plus, it supports earlier versions of SQL Server that you may still have, such as SQL 2012 through the latest SQL 2017. Unfortunately, SQL 2008 R2 is not supported due to the lack of support for cross-subnet failover.

Traditionally, SQL Server FCI requires that you have a SAN or some type of shared storage device. In the cloud, there is no cluster-aware shared storage. In place of a SAN, we will build a SANless cluster using SIOS DataKeeper Cluster Edition (DKCE). DKCE uses block-level replication to ensure that the locally attached storage on each instance remains in sync with one other. It also integrates with Windows Server Failover Clustering through its own storage class resource called a DataKeeper Volume which takes the place of the physical disk resource. As far as the cluster is concerned the SIOS DataKeeper volume looks like a physical disk, but instead of controlling SCSI reservations, it controls the mirror direction, ensuring that only the active server writes to the disk and that the passive server(s) receive all the changes either synchronously or asynchronously.

In this guide, we will walk through the steps to build a two-node failover cluster between two instances in the same region, but in different Zones, within the GCP as shown in Figure 1.

Google Cloud Diagram

Download the entire white paper at https://us.sios.com/san-sanless-clusters-resources/white-paper-build-sql-server-failover-cluster-gcp/

How to Build a SANless SQL Server Failover Cluster Instance in Google Cloud Platform