{"id":13176,"date":"2012-07-25T09:00:00","date_gmt":"2012-07-25T08:00:00","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=13176"},"modified":"2012-07-25T09:00:00","modified_gmt":"2012-07-25T08:00:00","slug":"rough-guide-to-setting-up-a-scale-out-file-server","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=13176","title":{"rendered":"Rough Guide To Setting Up A Scale-Out File Server"},"content":{"rendered":"<p>You\u2019ll find much more detailed posts on the topic of creating a continuously available, scalable, transparent failover application file server cluster by <a href=\"http:\/\/blogs.technet.com\/b\/meamcs\/archive\/2012\/04\/01\/building-and-configuring-windows-server-8-beta-scale-out-transparent-file-server-cluster.aspx\">Tamer Sherif Mahmoud<\/a> and <a href=\"http:\/\/blogs.technet.com\/b\/josebda\/archive\/2012\/03\/15\/windows-server-8-beta-scale-out-file-server-for-sql-server-2012-step-by-step-installation.aspx\">Jose Bareto<\/a>, both of Microsoft.\u00a0 But I thought I\u2019d do something rough to give you an oversight of what\u2019s going on.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Networking<\/span><\/strong><\/p>\n<p>First, let\u2019s deal with the host network configuration.\u00a0 The below has 2 nodes in the SOFS cluster, and this could scale up to 8 nodes (think 8 SAN controllers!).\u00a0 There are 4 NICs:<\/p>\n<ul>\n<li>2 for the LAN, to allow SMB 3.0 clients (Hyper-V or SQL Server) to access the SOFS shares.\u00a0 Having 2 NICs enables multichannel over both NICs.\u00a0 It is best that both NICs are teamed for quicker failover.<\/li>\n<li>2 cluster heartbeat NICs.\u00a0 Having 2 give fault tolerance, and also enables SMB Multichannel for CSV redirected I\/O.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/07\/image28.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/07\/image_thumb25.png\" width=\"404\" height=\"214\" border=\"0\" \/><\/a><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Storage<\/span><\/strong><\/p>\n<p>A WS2012 cluster supports the following storage:<\/p>\n<ul>\n<li>SAS<\/li>\n<li>iSCSI<\/li>\n<li>Fibre Channel<\/li>\n<li>JBOD with SAS Expander\/PCI RAID<\/li>\n<\/ul>\n<p>If you had SAS, iSCSI or Fibre Channel SANs then I\u2019d ask why you\u2019re bothering to create a SOFS for production; you\u2019d only be adding another layer and more management.\u00a0 Just connect the Hyper-V hosts or SQL servers directly to the SAN using the appropriate HBAs.<\/p>\n<p>However, you might be like me and want to learn this stuff or demo it, and all you have is iSCSI (either a software iSCSI like the WS2012 iSCSI target or a HP VSA like mine at work).\u00a0 In that case, I have a pair of NICs in each my file server cluster nodes, connected to the iSCSI network, and using MPIO.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/07\/image29.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px; border: 0px;\" title=\"image\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/07\/image_thumb26.png\" width=\"404\" height=\"344\" border=\"0\" \/><\/a><\/p>\n<p>If you do deploy SOFS in the future, I\u2019m <em>guessing<\/em> (because we don\u2019t know yet because SOFS is so new) that\u2019ll you\u2019ll mostly likely do it with a CiB (cluster in a box) solution with everything pre-hard-wired in a chassis, using (probably) a wizard to create mirrored storage spaces from the JBOD and configure the cluster\/SOFS role\/shares.<\/p>\n<p>Note that in my 2 server example, I create three LUNs in the SAN and zone them for the 2 nodes in the SOFS cluster:<\/p>\n<ol>\n<li>Witness disk for quorum (512 MB)<\/li>\n<li>Disk for CSV1<\/li>\n<li>Disk for CSV2<\/li>\n<\/ol>\n<p>Some have tried to be clever, creating lots of little LUNs on iSCSI to try simulate JBOD and Storage Spaces.\u00a0 This is not supported.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Create The Cluster<\/span><\/strong><\/p>\n<p>Prereqs:<\/p>\n<ul>\n<li>Windows Server 2012 is installed on both nodes.\u00a0 Both machines named and joined to the AD domain.<\/li>\n<li>In Network Connections, rename the networks according to role (as in the diagrams).\u00a0 This makes things easier to track and troubleshoot.<\/li>\n<li>All IP addresses are assigned.<\/li>\n<li>NIC1 and NIC2 are top of the NIC binding order.\u00a0 Any iSCSI NICs are bottom of the binding order.<\/li>\n<li>Format the disks, ensuring that you label them correctly as CSV1, CSV2, and Witness (matching the labels in your SAN if you are using one).<\/li>\n<\/ul>\n<p>Create the cluster:<\/p>\n<ol>\n<li>Enable Failover Clustering in Server Manager<\/li>\n<li>Also add the File Server role service in Server Manager (under File And Storage Services \u2013 File Services)<\/li>\n<li>Validate the configuration using the wizard.\u00a0 Repeat until you remove all issues that fail the test.\u00a0 Try to resolve any warnings.<\/li>\n<li>Create the cluster using the wizard \u2013 do not add the disks at this stage.\u00a0 Call the cluster something that refers to the cluster, not the SOFS. The cluster is not the SOFS; the cluster will host the SOFS role.<\/li>\n<li>Rename the cluster networks, using the NIC names (which should have already been renamed according to roles).<\/li>\n<li>Add the disk (in storage in FCM) for the witness disk.\u00a0 Remember to edit the properties of the disk and rename if from the anonymous default name to Witness in FCM Storage.<\/li>\n<li>Reconfigure the cluster to use the Witness disk for quorum if you have an even number of nodes in the SOFS cluster.<\/li>\n<li>Add CSV1 to the cluster.\u00a0 In FCM Storage, convert it into a CSV and rename it to CSV1.<\/li>\n<li>Repeat step 7 for CSV2.<\/li>\n<\/ol>\n<p><em>Note: Hyper-V does not support SMB 3.0 loopback.\u00a0 In other words, the Hyper-V hosts cannot be a file server for their own VMs.<\/em><\/p>\n<p><strong><span style=\"text-decoration: underline;\">Create the SOFS<\/span><\/strong><\/p>\n<ol>\n<li>In FCM, add a new clustered role.\u00a0 Choose File Server.<\/li>\n<li>Then choose File Server For Scale-Out Application Data; the other option in the traditional active\/passive clustered file server.<\/li>\n<li>You will now create a Client Access Point or CAP.\u00a0 It requires only a name.\u00a0 This is the name of your \u201cfile server\u201d.\u00a0 Note that the SOFS uses the IPs of the cluster nodes for SMB 3.0 traffic rather than CAP virtual IP addresses.<\/li>\n<\/ol>\n<p>That\u2019s it.\u00a0 You now have an SOFS.\u00a0 A clone of the SOFS is created across all of the nodes in the cluster, mastered by the owner of the SOFS role in the cluster.\u00a0 You just need some file shares to store VMs or SQL databases.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Create File Shares<\/span><\/strong><\/p>\n<p>Your file shares will be stored on CSVs, making them active\/active across all nodes in the SOFS cluster.\u00a0 We don\u2019t have best practices yet, but I\u2019m leaning towards 1 share per CSV.\u00a0 But that might change <em>if<\/em> I have lots of clusters\/servers storing VMs\/databases on a single SOFS.\u00a0 Each share will need permissions appropriate for their clients (the servers storing\/using data on the SOFS).<\/p>\n<p>Note: place any Hyper-V hosts into security groups.\u00a0 For example, if I had a Hyper-V cluster storing VMs on the SOFS, I\u2019d place all nodes in a single security group, e.g. HV-ClusterGroup1.\u00a0 That\u2019ll make share\/folder permissions stuff easier\/quicker to manage.<\/p>\n<ol>\n<li>Right-click on the SOFS role and click Add Shared Folder<\/li>\n<li>Choose SMB Share \u2013 Server Applications as the share profile<\/li>\n<li>Place the first share on CSV1<\/li>\n<li>Name the first share as CSV1<\/li>\n<li>Permit the appropriate servers\/administrators to have full control if this share will be used for Hyper-V.\u00a0 If you\u2019re using it for storing SQL files, then give the SQL service account(s) full control.<\/li>\n<li>Complete the wizard, and repeat for CSV2.<\/li>\n<\/ol>\n<p>You can view\/manage the shares via Server Manager under File Server.\u00a0 If my SOFS CAP was called Demo-SOFS1 then I could browse to \\Demo-SOFSCSV1 and \\Demo-SOFSCSV2 in Windows Explorer.\u00a0 If my permissions are correct, then I can start storing VM files there instead of using a SAN, or I could store SQL database\/log files there.<\/p>\n<p>As I said, it\u2019s a rough guide, but it\u2019s enough to give you an oversight.\u00a0 Have a read of the above linked posts to see much more detail.\u00a0 Also check out my <a href=\"https:\/\/aidanfinn.com\/?p=13011\">notes<\/a> from the Continuously Available File Server \u2013 Under The Hood TechEd session to learn how a SOFS works.<\/p>\n<div class=\"wlWriterEditableSmartContent\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2f8ad04b-c3fb-481f-ac7f-647ff82cf5ff\" style=\"margin: 0px; display: inline; float: none; padding: 0px;\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/Windows+Server+2012\" rel=\"tag\">Windows Server 2012<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Failover+Clustering\" rel=\"tag\">Failover Clustering<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Storage\" rel=\"tag\">Storage<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Hyper-V\" rel=\"tag\">Hyper-V<\/a>,<a href=\"http:\/\/technorati.com\/tags\/SQL\" rel=\"tag\">SQL<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Virtualisation\" rel=\"tag\">Virtualisation<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>You\u2019ll find much more detailed posts on the topic of creating a continuously available, scalable, transparent failover application file server cluster by Tamer Sherif Mahmoud and Jose Bareto, both of Microsoft.\u00a0 But I thought I\u2019d do something rough to give you an oversight of what\u2019s going on. Networking First, let\u2019s deal with the host network &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=13176\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Rough Guide To Setting Up A Scale-Out File Server&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[52],"tags":[63,181,192,99,195,118],"class_list":["post-13176","post","type-post","status-publish","format-standard","hentry","category-windows-server","tag-failover-clustering","tag-hyper-v","tag-sql","tag-storage","tag-virtualisation","tag-windows-server-2012"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/13176","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13176"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/13176\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}