Windows Server 2012 Scale-Out File Server for SQL Server Step-by-step Installation

38 

Loading....

Loading....

Loading....

Loading....

Loading....

Full text

(1)

Windows Server 2012 Scale-Out File Server for

SQL Server 2012 - Step-by-step Installation

By Jose Barreto. Originally posted at

http://smb3.info

Contents

1. Introduction ... 3

1.1. Overview ... 3

1.2. Hardware ... 4

1.3. Software... 4

1.4. Notes and disclaimers... 4

2. Install Windows Server 2012 ... 5

2.1. Preparations ... 5

2.2. Install the OS ... 5

2.3. Rename the computer ... 5

2.4. Enable Remote Desktop ... 6

3. Configure the Hyper-V Host ... 7

3.1. Install the Hyper-V role to the server ... 7

3.2. Create the VM switches ... 8

3.3. Rename the network adapters ... 9

3.4. Assign static IP addresses for the Hyper-V host ... 10

4. Create the Base VM ... 11

4.1. Preparations ... 11

4.2. Create a Base VM ... 11

4.3. Install Windows Server 2012 on the VM ... 11

4.4. Sysprep the VM ... 12

4.5. Remove the base VM ... 12

5. Configure the 4 VMs ... 13

5.1. Create 4 new differencing VHDs using the Base VHD ... 13

5.2. Create 4 similarly configured VMs ... 13

5.3. Start the 4 VMs ... 15

5.4. Complete the mini-setup for the 4 VMs... 15

5.5. Change the computer name for each VM ... 15

5.6. For each VM, configure the networks ... 15

5.7. Review VM name and network configuration ... 17

(2)

6.1. Install DNS and Active Directory Domain Services ... 18

6.2. Configure Active Directory ... 18

6.3. Join the other VMs to the domain ... 19

6.4. Create the SQL Service account ... 19

7. Configure iSCSI ... 20

7.1. Add the iSCSI Software Target ... 20

7.2. Create the LUNs and Target ... 20

7.3. Configure the iSCSI Initiators ... 22

7.4. Configure the disks ... 23

8. Configure the File Server ... 24

8.1 Install the required roles and features ... 24

8.2. Validate the Failover Cluster Configuration ... 24

8.3. Create a Failover Cluster ... 25

8.4. Configure the Cluster Networks ... 26

8.6. Create the Scale-Out File Server ... 28

8.7. Create the folders and shares ... 29

9. Configure the SQL Server... 31

9.1. Mount the SQL Serve ISO file ... 31

9.2. Run SQL Server Setup ... 31

9.3. Create a database using the clustered file share ... 33

10. Verify SMB features... 34

10.1. Verify that SMB Multichannel is working ... 34

10.2. Query the SMB Sessions and Open Files ... 34

10.3. Planned move of a file server node (with SMB Transparent Failover of SQL Client) ... 35

10.4. Unplanned failure of a file server node (with SMB Transparent Failover of SQL Client) ... 36

10.5. Surviving the loss of a client NIC ... 36

11. Shut down, startup and install final notes ... 38

(3)

1. Introduction

1.1. Overview

In this document, I am sharing all the steps I used to create a Windows Server 2012 File Server demo or test environment, so you can experiment with some of the new technologies yourself. You only need a single computer (the specs are provided below) and the ISO file with the Windows Server 2012 evaluation version available as a free download. For the SQL part, you will need the SQL Server 2012 evaluation version, which is also available as a free download.

The demo setup includes 4 virtual machines: one domain controller and iSCSI target, two file servers and a SQL server. You need the iSCSI target and two file servers because we’re using Failover Clustering to showcase SMB Transparent Failover and SMB Scale-Out. We’ll also use multiple Hyper-V virtual networks, so we can showcase SMB Multichannel.

This will probably require a few hours of work end-to-end, but it is a great way to experiment with a large set of Microsoft technologies in Windows Server 2012, including:

 Hyper-V

 Networking

 Domain Name Services (DNS)

 Active Directory Domain Services (AD-DS)

 iSCSI Target

 iSCSI Initiator

 Failover Clustering

 File Servers

 PowerShell

Follow the steps and let me know how it goes in the comment section. If you run into any issues or found anything particularly interesting, don’t forget to mention the number of the step.

(4)

1.2. Hardware

You will need the following hardware to perform the steps described here:

 Computer capable of running Windows Server 2012 and Hyper-V (64-bit, virtualization technology) with at least 8GB of RAM

 An 8GB USB stick, if you’re installing Windows Server from USB and copying the downloaded software around (you can also burn the software to a DVD)

 Internet connection for downloading software and updates (DHCP enabled)

1.3. Software

You will need the following software to perform the steps described here:

 Windows Server 2012 Evaluation (provided as an ISO file). Download from

http://www.microsoft.com/en-us/server-cloud/windows-server/2012-trial.aspx

 SQL Server 2012 Evaluation (provided as an ISO file). Download from

http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx

1.4. Notes and disclaimers

 The text for each step also focuses on the specific actions that deviate from the default or where a clear default is not provided. If you are asked a question or required to perform an action that you do not see described in these steps, go with the default option.

 Obviously, a single-computer solution can never be tolerant to the failure of that computer. So, the configuration described here is not really continuously available. It’s just a simulation.

 The configuration described here is for demo, testing or learning. You would definitely need a different configuration for a production deployment.

 A certain familiarity with Windows administration and configuration is assumed. If you're new to Windows, this document is not for you. Sorry...

 There are usually several ways to perform a specific configuration or administration task. What I describe here is one of those many ways. It's not necessarily the best way, just the one I personally like best at the moment.

 In theory, you could run this demo on a host computer with only 4GB of RAM, but you would need to configure each VM to run with only 512MB of RAM, which is the bare minimum required. It works, but it will run slower.

 This blog post is an update on a previous blog post that provided similar steps for Windows Server 2012 Beta. This post supersedes the old one.

(5)

2. Install Windows Server 2012

2.1. Preparations

 Format a USB disk using Windows 8 or Windows Server 2012.

 Copy the contents of the Windows Server 2012 ISO file to the USB disk.

 To read the files from within the ISO file using Windows 8 or Windows Server 2012, just double click the ISO file to mount it.

 Make sure the computer BIOS is configured for Virtualization. Each computer BIOS is different, so you need to find the right settings.

2.2. Install the OS

 Use your computer’s BIOS option to boot from the USB disk.

 After “Windows Setup” starts from the USB disk, enter the required information to install the OS:

 Select language, time and currency format and keyboard. Then click “Next”.

 Click “Install Now”.

 Select the “Windows Server Datacenter - Server with a GUI” option and click “Next”.

 Accept the license agreement and click “Next”.

 Select the “Custom: Install Windows only” option.

 Select the install location for Windows Server and click “Next”.

 Wait for the installation to complete. This will take a few minutes.

 After the installation is completed, the OS will boot.

 Type the administrator password twice, then click on “Finish”.

2.3. Rename the computer

 Login to the computer using the Administrator password and rename the computer. 2.3.PS. Using PowerShell

Rename-Computer DEMO-HV0 -Restart 2.3.GUI. Using Server Manager

 In Server Manager, click on “Local Server” on the list on left.

 Click on the default name next to “Computer Name”.

 Click on “Change”.

 Enter “DEMO-HV0” as the new Computer Name and click “OK”.

(6)

2.4. Enable Remote Desktop

 Log in using the Administrator account and enable Remote Desktop.

 After completing this step, you will be able work from a Remote Desktop connection. 2.4.PS. Using SCONFIG.EXE

 Use a command prompt to start SCONFIG.EXE

 Use option 7 in SCONFIG to enable remote desktop 2.4.GUI. Using Server Manager

 In Server Manager, click on “Local Server” on the list on left.

 Click on the “Disabled” item next to “Remote Desktop”.

 Select the option to “Allow connections from computers running any version…”

(7)

3. Configure the Hyper-V Host

3.1. Install the Hyper-V role to the server

 Install the Hyper-V role and the required management tools. The computer will restart. 3.1.PS. Using PowerShell

Install-WindowsFeature Hyper-V, Hyper-V-PowerShell, Hyper-V-Tools -Restart 3.2.OUT. Sample output

PS C:\> Get-WindowsFeature *Hyper*

Display Name Name Install State

---- ---

[X] Hyper-V Hyper-V Installed [X] Hyper-V Management Tools RSAT-Hyper-V-Tools Installed [X] Hyper-V GUI Management Tools Hyper-V-Tools Installed [X] Hyper-V Module for Windows PowerShell Hyper-V-PowerShell Installed

3.1.GUI. Using Server Manager

 In Server Manager, click on “Dashboard” on the list on left.

 Click on the “Add Roles and Features”, which is option 2 under “Configure this local server”.

 On the “Before You Begin” page, just click “Next”.

 On the “Installation Type” page, click “Role-base or feature-based installation” and click “Next”.

 On the “Server Selection” page, select your server and click “Next”.

 On the “Server Role” page, select “Hyper-V”.

 On the “Add features that are required for Hyper-V” dialog, click “Add features”, then click “Next”.

 On the “Features” page, just click “Next”.

 On the “Hyper-V” page, just click “Next”.

 On the “Create Virtual Switches” page, just click “Next”.

 On the “Virtual Machine Migration” page, just click “Next”.

 On the “Default Stores” page, just click “Next”.

 On the “Confirmation” page, click “Restart target machine automatically if needed”, click “Yes” to confirm and then click “Install”.

(8)

3.2. Create the VM switches

 Create one external virtual network (VM switch that is connected to the external network interface).

 Create three internal virtual networks (VM switches used just to communicate between the VMs). 3.2.PS. Using PowerShell

Get-NetAdapter

Rename-NetAdapter –InterfaceDescription *Gigabit* -NewName External New-VMSwitch –Name External -NetAdapterName External

1..3 | % { New-VMSwitch -Name Internal$_ -SwitchType Internal } Get-VMSwitch

Get-NetAdapter

 Note: If you’re connected via “Remote Desktop” to the server, you might temporarily lose the connection when you create the External VMSwitch.

If using DHCP on that interface, you will be able to reconnect. If you’re using static IP addresses, you should run this step locally, not via “Remote Desktop”.

3.2.GUI. Using Hyper-V Manager

 In Server Manager, click on “Tools” in the upper left and select “Hyper-V Manager”

 In Hyper-V Manager, click on the server name (DEMO-HV0) on the pane on the left

 On the task pane on the right, click on the “Virtual Switch Manager”

 Use the “New virtual switch” option to add 1 network named “External”, select “External” for type and select your physical NIC. Click “Apply” to confirm.

 Use the “New virtual switch” option to add 3 networks named “Internal1”, “Internal2” and “Internal3”, each of type “Internal”.

 After creating the four new NICs, you should see the four new NICs in Server Manager, under Local Server

(9)

3.3. Rename the network adapters

 You should now configure the 4 virtual network interfaces on the parent.

 This includes renaming them to the names of the switches and configuring static IP addresses for the 3 internal NICs (the external NIC should be DHCP enabled, so it does not need IP address configuration).

3.3.PS. Using PowerShell

1..3 | % {Rename-NetAdapter *Internal$_* -NewName ParentInternal$_} Rename-NetAdapter "vEthernet (External)" -NewName ParentExternal Get-NetAdapter

3.3.OUT. Sample Output

PS C:\> Get-NetAdapter

Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- --- --- --- --- --- ParentInternal3 Hyper-V Virtual Ethernet Adapter #5 45 Up 00-15-5D-B5-AE-07 10 Gbps ParentInternal2 Hyper-V Virtual Ethernet Adapter #4 36 Up 00-15-5D-B5-AE-06 10 Gbps ParentInternal1 Hyper-V Virtual Ethernet Adapter #3 20 Up 00-15-5D-B5-AE-05 10 Gbps ParentExternal Hyper-V Virtual Ethernet Adapter #2 16 Up 00-21-9B-31-BA-15 10 Gbps External Intel(R) 82566DM-2 Gigabit Network C... 12 Up 00-21-9B-31-BA-15 1 Gbps 3.3.GUI. Using Server Manager

 In Server Manager, click on “Local Server” on the list on left.

 In the properties pane on the right, scroll to see the list of “Wired Internet Connections” (there will be 4 of them, as we showed in the previous Server Manager screenshot).

 Click on the “Ipv4 address…” link next to one of the interfaces, the “Network Connections” window will show.

 Select the interface that shows as “Enabled” and click on “Rename this connection” to rename it to “External”.

 Rename the 3 interfaces on an “Unidentified network” to “Internal1”, “Internal2” and “Internal3”

 Close the “Network Connections” and refresh the “Local Server” view.

(10)

3.4. Assign static IP addresses for the Hyper-V host

 In this step, you will assign a static IP address to the 3 internal virtual NICs on the parent partition.

 These NICs initially use the default setting (DHCP), but there is no DHCP server for the internal network.

 The table below shows the desired configuration for each interface. Machine Parent External Parent Internal1 Parent Internal2 Parent Internal3 Parent DHCP 192.168.101.100 192.168.102.100 192.168.103.100

 Note 1: The ParentExternal network does not need any further configuration, since the default is already to use DHCP.

 Note 2: The preferred DNS IP address for all 3 internal interfaces should be set to 192.168.101.1 (that will be the IP address of the DNS server we will configure later).

3.4.PS. Using PowerShell

1..3 | % {

Set-NetIPInterface –InterfaceAlias ParentInternal$_ -DHCP Disabled

Remove-NetIPAddress –InterfaceAlias ParentInternal$_ -AddressFamily IPv4 -Confirm:$false

New-NetIPAddress –InterfaceAlias ParentInternal$_ -IPAddress "192.168.10$_.100" -PrefixLength 24 -Type Unicast Set-DnsClientServerAddress –InterfaceAlias ParentInternal$_ -ServerAddresses 192.168.101.1

}

Get-NetIPAddress –AddressFamily Ipv4 | FT 3.4.OUT. Sample Output

PS C:\> Get-NetIPAddress –AddressFamily Ipv4 | Format-Table

ifIndex IPAddress PrefixLength PrefixOrigin SuffixOrigin AddressState PolicyStore --- --- --- --- --- --- --- 45 192.168.103.100 24 Manual Manual Preferred ActiveStore 36 192.168.102.100 24 Manual Manual Preferred ActiveStore 20 192.168.101.100 24 Manual Manual Preferred ActiveStore 16 10.123.181.174 23 Dhcp Dhcp Preferred ActiveStore

1 127.0.0.1 8 WellKnown WellKnown Preferred ActiveStore

3.4.GUI. Using Server Manager

 In Server Manager, click on “Local Server” on the list on left.

 In the properties pane on the right, scroll to see the list of Ethernet interfaces (there will be 4 of them)

 Click on the “Ipv4 address…” link next to one of the interfaces, the “Network Connections” window will show

 On the list of network connections, right click the Internal1 interface and click “Properties”

 On the “ParentInternal1 Properties” window, select “Internet Protocol Version 4 (TCP/IPv4)” and click “Properties”.

 On TCP/IPv4 Properties window, select the option to “Use the following IP address”.

 Enter the IP address 192.168.101.100 and the subnet mask 255.255.255.0 (as shown below).

 Select the option “Use the following DNS server address”, enter 192.168.101.1 and click “OK”

 Repeat this for the Internal2 and Internal3 networks, making sure to use the correct IP address (see table shown in item 3.4) and use the same Preferred DNS server IP address.

(11)

4. Create the Base VM

4.1. Preparations

 Create a folder for your ISO files at C:\ISO and a folder for your VMs at C:\VMS

 Copy the Windows Server 2012 ISO file to C:\ISO (I renamed the file to WindowsServer2012.ISO)

4.2. Create a Base VM

 Create a new VM that will be used as the base image for our 4 VMs.

 Store it in the C:\VMS folder and attach the Windows Server 2012 ISO file to it. 4.2.PS. Using PowerShell

MD C:\VMS

New-VHD -Path C:\VMS\BASE.VHDX -Dynamic -SizeBytes 127GB

New-VM -Name Base -VHDPath C:\VMS\BASE.VHDX -SwitchName External -Memory 1GB Set-VMDvdDrive –VMName Base -Path C:\ISO\WindowsServer2012.ISO

Start-VM Base

4.2.OUT. Sample Output

PS C:\> Get-VM

Name State CPUUsage(%) MemoryAssigned(M) Uptime Status ---- --- --- --- --- ---

Base Running 2 1024 00:01:49 Operating normally

4.2.GUI. Using Hyper-V Manager

 In Windows Explorer, create a new C:\VMS folder.

 In Server Manager, click on “Tools” in the upper left and select “Hyper-V Manager”.

 In Hyper-V Manager, click on the server name on the pane on the left.

 On the task pane on the right, click on “New”, then click on “Virtual Machine…”.

 On the “Before you begin” page, just click “Next”.

 On the “Specify Name and Location” page, use “Base” for the name, and “C:\VMS” for location. Click “Next”.

 On the “Assign Memory” page, use “1024” MB and click “Next”.

 On the “Configure Networking” page, use “External”.

 On the “Connect Virtual Disk” page, select the option to “Create a virtual hard disk”.

 Use “Base.vhdx” for name, “C:\VMS” for location and “127” GB for size. Click “Next”.

 On the “Installation Options” page, select the option to install from DVD, select the option to use an ISO file and enter the path to the Windows Server 2012 ISO file on your C:\ISO folder. Click “Finish”.

 In Hyper-V Manager, right-click the VM and select “Start”

4.3. Install Windows Server 2012 on the VM

 In Server Manager, click on “Tools” in the upper left and select “Hyper-V Manager”.

 In Hyper-V Manager, click on the server name on the pane on the left.

 On the list of VMs, right-click the VM called “Base” and click on “Connect…”

 Follow the instructions on the screen, as you did in item 2.2.

 Set a password, but don’t install any roles.

(12)

4.4. Sysprep the VM

 After you have the OS installed on the VM, sign in and run C:\Windows\System32\Sysprep\Sysprep.exe

 Select the options to run the OOBE, generalize and shutdown

 After Sysprep completes, the VM will be shut down.

4.5. Remove the base VM

 Remove the BASE VM, leaving just the BASE.VHDX.

 You should have a new base VHD ready to use at C:\VMS\BASE.VHD. Its size should be around 9GB. 4.5.PS. Using PowerShell

Remove-VM Base

4.5.GUI. Using Hyper-V Manager

 In Hyper-V Manager, click on the server name on the pane on the left

(13)

5. Configure the 4 VMs

5.1. Create 4 new differencing VHDs using the Base VHD

5.1.PS. Using PowerShell

1..4 | % { New-VHD -ParentPath C:\VMS\BASE.VHDX –Path C:\VMS\VM$_.VHDX } 5.1.OUT. Sample Output

PS C:\> Dir C:\VMS Directory: C:\VMS

Mode LastWriteTime Length Name ---- --- --- ---- -a--- 8/17/2012 10:00 AM 9634316288 BASE.VHDX -a--- 8/17/2012 10:01 AM 4194304 VM1.VHDX -a--- 8/17/2012 10:01 AM 4194304 VM2.VHDX -a--- 8/17/2012 10:01 AM 4194304 VM3.VHDX -a--- 8/17/2012 10:01 AM 4194304 VM4.VHDX

5.1.GUI. Using Hyper-V Manager

 In Hyper-V Manager, click on the server name on the pane on the left.

 On the task pane on the right, click on “New”, then click on “Hard disk…”

 On the “Before you begin” page, just click “Next”.

 On the “Choose disk format” page, select “VHDX” and click “Next”.

 On the “Choose disk type” page, select “Differencing”.

 On the “Specify Name and Location” page, use “VM1.VHDX” for name and “C:\VMS” for location. Click “Next”.

 On the “Configure disk” page, use “C:\VMS\BASE.VHDX” for the location of the parent VHD.

 After this, you will have a new differencing VHD at VM1.VHD that’s 4MB in size.

 Since we’re creating 4 VMS, copy that file into VM2.VHD, VM3.VHD and VM4.VHD.

5.2. Create 4 similarly configured VMs

 You should create five VMs as follows:

VM Role Computer Name External Internal 1 Internal 2 Internal 3 VM1 DNS, DC, iSCSI Target DEMO-DC.DEMO.TEST DHCP 192.168.101.1 N/A N/A

VM2 File Server 1 DEMO-F1.DEMO.TEST DHCP 192.168.101.3 192.168.102.3 192.168.103.3 VM3 File Server 2 DEMO-F2.DEMO.TEST DHCP 192.168.101.4 192.168.102.4 192.168.103.4 VM4 SQL Server DEMO-DB.DEMO.TEST DHCP 192.168.101.5 192.168.102.5 192.168.103.5

 Note 1: Each VM will use one of the VHD files we created in the previous step.

 Note 2: Each VM will use 1GB of memory. 5.2.PS. Using PowerShell

1..4 | % { New-VM -Name VM$_ -VHDPath C:\VMS\VM$_.VHDX -Memory 1GB -SwitchName External} 1..4 | % { Add-VMNetworkAdapter VM$_ –SwitchName Internal1 }

2..4 | % { Add-VMNetworkAdapter VM$_ –SwitchName Internal2 } 2..4 | % { Add-VMNetworkAdapter VM$_ –SwitchName Internal3 }

(14)

5.2.OUT. Sample Output

PS C:\> Get-VM | % { $_ ; $_ | Get-VMNetworkAdapter | FT } Name State CPUUsage(%) MemoryAssigned(M) Uptime Status ---- --- --- --- --- ---

VM1 Off 0 0 00:00:00 Operating normally

Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses ---- --- --- --- --- --- --- Network Adapter False VM1 External 000000000000 {}

Network Adapter False VM1 Internal1 000000000000 {} Name State CPUUsage(%) MemoryAssigned(M) Uptime Status

---- --- --- --- --- ---

VM2 Off 0 0 00:00:00 Operating normally

Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses ---- --- --- --- --- --- --- Network Adapter False VM2 External 000000000000 {}

Network Adapter False VM2 Internal1 000000000000 {} Network Adapter False VM2 Internal2 000000000000 {} Network Adapter False VM2 Internal3 000000000000 {} Name State CPUUsage(%) MemoryAssigned(M) Uptime Status

---- --- --- --- --- ---

VM3 Off 0 0 00:00:00 Operating normally

Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses ---- --- --- --- --- --- --- Network Adapter False VM3 External 000000000000 {}

Network Adapter False VM3 Internal1 000000000000 {} Network Adapter False VM3 Internal2 000000000000 {} Network Adapter False VM3 Internal3 000000000000 {} Name State CPUUsage(%) MemoryAssigned(M) Uptime Status

---- --- --- --- --- ---

VM4 Off 0 0 00:00:00 Operating normally

Name IsManagementOs VMName SwitchName MacAddress Status IPAddresses ---- --- --- --- --- --- --- Network Adapter False VM4 External 000000000000 {}

Network Adapter False VM4 Internal1 000000000000 {} Network Adapter False VM4 Internal2 000000000000 {} Network Adapter False VM4 Internal3 000000000000 {}

5.2.GUI. Using Hyper-V Manager

 In Hyper-V Manager, click on the server name on the pane on the left.

 On the task pane on the right, click on “New”, then click on “Virtual Machine…”

 On the “Before you begin” page, just click “Next”.

 On the “Specify Name and Location” page, use “VM1” for the name, and “C:\VMS” for location. Click “Next”.

 On the “Assign Memory” page, use “1024” MB and click “Next”.

 On the “Configure Networking” page, use “External”.

 On the “Connect Virtual Disk” page, select the option to “Use an existing virtual hard disk”.

 Use “C:\VMS\VM1.vhdx” for name. Click on “Finish”.

 In Hyper-V Manager, click on the server name on the pane on the left.

 On the list of VMs, right-click the VM you just created (VM1) and click on “Settings…”

 On the “Settings for VM1” window, select “Add Hardware”, then “Network Adapter”.

(15)

 Repeat the process for VMs 2 to 4.

 For VMs 2 to 4, make sure to add networks Internal2 and Internal3 as well Internal1.

5.3. Start the 4 VMs

5.3.PS. Using PowerShell

Start-VM VM*

5.3.GUI. Using Hyper-V Manager

 In Hyper-V Manager, click on the server name on the pane on the left

 In Hyper-V Manager, multi-select VMs 1 to 5, right click them and click on “Start”

5.4. Complete the mini-setup for the 4 VMs

 Using Hyper-V manager, multi-select VMs 1 to 4, right click them and click on “Connect…”

 Let the mini-setup complete, and configure each of the five VMs.

 You will be prompted for the usual items, like license agreement, clock/language/region settings and a password.

5.5. Change the computer name for each VM

 Change the computer name for each VM, using the names defined in item 5.2

 The examples below are for VM1 (the DNS and Domain Controller).

 You should repeat this for each of the 4 VMs.

 At this point, you can also use this opportunity to enable Remote Desktop for each VM.

 This would be done for each VM as you did for the host in item 2.4, if you want to access the VMs remotely. 5.5.PS. Using PowerShell (for VM1, for instance)

Rename-Computer DEMO-DC -Restart

5.5.GUI. Using Server Manager (for VM1, for instance)

 In Server Manager, click on “Local Server” on the list on left.

 Click on the default name next to “Computer Name”.

 Click on “Change”.

 Enter the new computer name as “DEMO-DC”.

 Click “OK” accept the changes.

 Click “OK” to acknowledge that you need to restart to apply changes.

 Click “Restart Now”.

5.6. For each VM, configure the networks

 In this step you will configure the network for each VM as shown on the table in item 5.2

 We first rename the Network Connections in each guest for easy identification.

 The External network is identified as being the only one with a DHCP address.

 The remaining networks are renamed to Internal1, Internal2 and Internal3.

 For internal networks static IPs are configured, with mask 255.255.255.0 and DNS set to 192.168.101.1.

 The Internal 1 network will be used for DNS, Active Directory and the iSCSI Target.

 The External network is useful for downloading from the Internet and remotely connecting to the 4 VMs.

 You could configure a DHCP server for the internal interfaces.

(16)

5.6.PS. Using PowerShell (for VM1, for instance)

## External NIC is the only one with a DHCP server

Get-NetIPAddress -PrefixOrigin DHCP | % {

Rename-NetAdapter -InterfaceAlias $_.InterfaceAlias –NewName External }

## $IC – Internal Count – Number of Internal networks

$IC=0

Get-NetAdapter Ethernet* | Sort MacAddress | % { $IC++

Rename-NetAdapter -InterfaceAlias $_.InterfaceAlias –NewName Internal$IC }

## $VM is the VM Number, between 1 and 4. Used as the last portion of the IP address.

$VM=1 1..$IC | % {

Set-NetIPInterface –InterfaceAlias Internal$_ -DHCP Disabled

Remove-NetIPAddress –InterfaceAlias Internal$_ -AddressFamily IPv4 –Confirm:$false

New-NetIPAddress –InterfaceAlias Internal$_ -IPAddress "192.168.10$_.$VM" -PrefixLength 24 -Type Unicast Set-DnsClientServerAddress –InterfaceAlias Internal$_ -ServerAddresses 192.168.101.1

}

5.6.GUI. Using Server Manager (For VM1, for instance)

 This step is similar to step 3.4, but this time performed on the 4 VM.

 Inside the VM, in Server Manager, click on “Local Server” on the list on left.

 In the properties pane on the right, Click on the “Ipv4 address…” link next to one of the interfaces.

 The “Network Connections” window will show.

 As you did with the Hyper-V host, rename the NIC with the DHCP connection to “External”. This NIC needs no further configuration.

 Rename the remaining NIC to “Internal1”. (Other VMs will also have Internal2 and Internal3).

 For each internal NIC, right click the Internal1 interface and click “Properties”.

 On the “Internal1 Properties” window, select “Internet Protocol Version 4 (TCP/IPv4)” and click “Properties”.

 On TCP/IPv4 Properties window, select the option to “Use the following IP address”.

 Enter the corresponding IP address (see table on item 5.2) and the subnet mask 255.255.255.0.

 Select the option “Use the following DNS server address”, enter 192.168.101.1 and click “OK”.

 Repeat this for the Internal2 and Internal3 networks using the corresponding IP address and the DNS above.

 Close the “Network Connections” and refresh the “Local Server” view.

 Note: If you can’t tell which Internal network is which inside the VMs with multiple Internal networks, you can temporarily set one of the adapters to “Not Connected” in the VM Settings and verify which one shows as “Network cable unplugged”.

(17)

5.7. Review VM name and network configuration

 After renaming the computer, renaming the network and configuring IP addresses, review the configuration on each VM to make sure you did not miss any step. Examples are shown below for VM1 and VM2.

5.7.PS. Using PowerShell

Get-WmiObject Win32_ComputerSystem Get-NetAdapter

Get-NetIPAddress -AddressFamily IPv4 | Sort IfIndex | FT 5.7.OUT. Sample Output (for VM2, a.k.a. DEMO-F1)

PS C:\> Get-WmiObject Win32_ComputerSystem Domain : WORKGROUP

Manufacturer : Microsoft Corporation Model : Virtual Machine Name : DEMO-F1

PrimaryOwnerName : Windows User TotalPhysicalMemory : 1072799744 PS C:\> Get-NetAdapter

Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- --- --- --- --- --- External Microsoft Hyper-V Network Adapter #4 15 Up 00-15-5D-B5-AE-12 10 Gbps Internal3 Microsoft Hyper-V Network Adapter #3 14 Up 00-15-5D-B5-AE-15 10 Gbps Internal1 Microsoft Hyper-V Network Adapter 12 Up 00-15-5D-B5-AE-13 10 Gbps Internal2 Microsoft Hyper-V Network Adapter #2 13 Up 00-15-5D-B5-AE-14 10 Gbps PS C:\> Get-NetIPAddress -AddressFamily IPv4 | Sort IfIndex | FT

ifIndex IPAddress PrefixLength PrefixOrigin SuffixOrigin AddressState PolicyStore --- --- --- --- --- --- --- 1 127.0.0.1 8 WellKnown WellKnown Preferred ActiveStore 12 192.168.101.2 24 Manual Manual Preferred ActiveStore 13 192.168.102.2 24 Manual Manual Preferred ActiveStore 14 192.168.103.2 24 Manual Manual Preferred ActiveStore 15 10.123.181.211 23 Dhcp Dhcp Preferred ActiveStore

5.7.GUI. Using Server Manager

 In Server Manager, click on “Local Server” on the list on left.

(18)

6. Configure DNS and Active Directory

6.1. Install DNS and Active Directory Domain Services

 Install the required DNS and Active Directory Domain Services roles to VM1 (DEMO-DC) 6.1.PS. Using PowerShell

Install-WindowsFeature DNS, AD-Domain-Services, RSAT-AD-PowerShell, RSAT-ADDS-Tools 6.1.GUI. Using Server Manager

 In Server Manager, click on “Dashboard” on the list on left.

 Click on the “Add Roles and Features”, which is option 2 under “Configure this local server”.

 On the “Before You Begin” page, just click “Next”.

 On the “Installation Type” page, click “Role-base or feature-based installation” and click “Next”.

 On the “Server Selection” page, select your server and click “Next”.

 On the “Server Role” page, select “Active Directory Domain Services”.

 On the dialog about adding required services, click “Add Features”.

 On the “Server Role” page, select “DNS Server” and click “Next”.

 On the dialog about adding required services, click “Add Features”.

 On the “Feature” page, just click “Next”.

 On the “Active Directory Domain Services” page, just click “Next”.

 On the “DNS Server” page, just click “Next”.

 On the “Confirmation” page, click “Install”.

 The roles will be installed.

6.2. Configure Active Directory

 Create a new domain and forest for the DEMO.TEST domain. 6.2.PS. Using PowerShell Import-Module ADDSDeployment Install-ADDSForest ` -CreateDNSDelegation:$false ` -DatabasePath "C:\Windows\NTDS" ` -DomainMode "Win2008R2" ` -DomainName "DEMO.TEST" ` -DomainNetBIOSName "DEMO" ` -ForestMode "Win2008R2" ` -InstallDNS:$true ` -LogPath "C:\Windows\NTDS" `

-SafeModeAdministratorPassword (Read-Host -AsSecureString -Prompt "Enter Password") ` -SYSVOLPath "C:\Windows\SYSVOL"

6.2.GUI. Using Server Manager

 Open Server Manager and click on the “AD DS” option on the right.

 On the yellow band showing “Configuration Required for Active Directory...” click “More…”

 On the “All Server Task Details”, click on the action to “Promote this server…”

 The “Active Directory Domain Services Configuration Wizard” will start.

(19)

 Enter “DEMO.TEST” as the root domain name and click “Next”.

 On the “Domain Controller Option”, enter the password twice and click “Next”.

 On the “DNS Options” page, click “Next”.

 On the “Additional Options” page, click “Next”. (NETBIOS name check takes a while)

 On the “Paths” page, click “Next”.

 On the “Review Options” page, click “Next”.

 On the “Pre-requisites” page, click “Next”. (Pre-requisite checks takes a while)

 Click “Install”.

6.3. Join the other VMs to the domain

 After the Domain Controller reboots, for every one of the other 3 VMs, join the domain

 You will need to provide the domain name (DEMO.TEST) and the Administrator credentials

 From now on, always log on to any of the VMs using the domain credentials: DEMO.TEST\Administrator 6.3.PS. Using PowerShell (for VM2 to VM4)

Add-Computer -DomainName DEMO.TEST -Restart

6.4. Create the SQL Service account

 In the Domain Controller, use Active Directory Users and Computers to create a new user account for SQL.

 The account should be called SQLService and should not require change in the next logon.

 Set a password for the SQLService account. 6.4.PS. Using PowerShell

New-ADUser -Name SQLService –Enabled $True -UserPrincipalName SQLService@DEMO.TEST ` -DisplayName SQLService -ChangePasswordAtLogon $False -PasswordNeverExpires $True ` -AccountPassword (Read-Host -AsSecureString "Enter password")

6.4.OUT. Sample Output

PS C:\> Get-ADUser -Filter {Name -like "SQL*"}

DistinguishedName : CN=SQLService,CN=Users,DC=DEMO,DC=TEST Enabled : True GivenName : Name : SQLService ObjectClass : user ObjectGUID : 7a02941d-10c7-45f8-b986-1b67a08ddd06 SamAccountName : SQLService SID : S-1-5-21-3876617879-1076079722-1647216889-1107 Surname : UserPrincipalName : SQLService@DEMO.TEST

6.4.GUI. Using Server Manager

 Open Server Manager

 In the Tools menu on the upper right, select “Active Directory Users and Computers”

 Right click the “Users” container on the tree on the left, then select “New”, then “User”

 Enter “SQLService” as Full Name and User Logon Name, then click “Next”

 Enter the password twice as required

 Uncheck “user must change password at next logon” and check “Password never expires”

(20)

7. Configure iSCSI

 We’ll create a single Target with 3 Devices (LUNs or VHD files) and used by 2 initiators (DEMO-F1 and DEMO-F2).

 The devices will include a 1GB VHD for the Cluster Witness volume and two 20GB VHDs for the data volumes.

 We’ll then configure the initiators and volumes from the File Server side.

7.1. Add the iSCSI Software Target

 Add the iSCSI Software Target role service to VM2 (DEMO-IT.DEMO.TEST) 7.1.PS. Using PowerShell

Install-WindowsFeature FS-iSCSITarget-Server 7.1.GUI. Using Server Manager

 In Server Manager, click on “Dashboard” on the list on left

 Click on the “Add Roles and Features”, which is option 2 under “Configure this local server”

 On the “Before You Begin” page, just click “Next”

 On the “Installation Type” page, click “Role-base or feature-based installation” and click “Next”

 On the “Server Selection” page, expand “File and Storage Services”, then “File Services”

 Select the “iSCSI Target Server”

 On the dialog about adding required services, click “Add Features”

 Click “Next”

 On the “Feature” page, just click “Next”

 On the “Confirmation” page, click “Install”

 The role will be installed

7.2. Create the LUNs and Target

 Create the 1st LUN with the file at C:\LUN0.VHD, 1GB in size, description “LUN0”.  Create the 2nd and 3rd LUNs at C:\LUN1.VHD and C:\LUN2.VHD, both with 20GB.

 Add those to a single target, exposed to two initiators by IP address (192.168.101.3 and 192.168.101.4) 7.2.PS. Using PowerShell

New-IscsiServerTarget -TargetName FileCluster -InitiatorID IPAddress:192.168.101.2, IPAddress:192.168.101.3 New-IscsiVirtualDisk -DevicePath C:\LUN0.VHD -Size 1GB

1..2 | % {New-IscsiVirtualDisk -DevicePath C:\LUN$_.VHD -Size 20GB}

0..2 | % {Add-iSCSIVirtualDiskTargetMapping -TargetName FileCluster -DevicePath C:\LUN$_.VHD} 7.2.OUT. Sample output

PS C:\> Get-IscsiServerTarget ChapUserName : ClusterGroupName : ComputerName : DEMO-DC.DEMO.TEST Description : EnableChap : False EnableReverseChap : False EnforceIdleTimeoutDetection : True FirstBurstLength : 65536 IdleDuration : 00:00:21

InitiatorIds : {IPAddress:192.168.101.2, IPAddress:192.168.101.3} LastLogin :

LunMappings : {TargetName:FileCluster;VHD:"C:\LUN0.VHD";LUN:0, TargetName:FileCluster;VHD:"C:\LUN1.VHD";LUN:1, TargetName:FileCluster;VHD:"C:\LUN2.VHD";LUN:2}

(21)

MaxBurstLength : 262144 MaxReceiveDataSegmentLength : 65536 ReceiveBufferCount : 10 ReverseChapUserName : Sessions : {} Status : NotConnected TargetIqn : iqn.1991-05.com.microsoft:demo-dc-filecluster-target TargetName : FileCluster PS C:\> Get-IscsiVirtualDisk ClusterGroupName : ComputerName : DEMO-DC.DEMO.TEST Description : DiskType : Fixed HostVolumeId : {C4A5E065-E88F-11E1-93EB-806E6F6E6963} LocalMountDeviceId : OriginalPath : ParentPath : Path : C:\LUN0.VHD SerialNumber : 3FDD6603-2F45-4E95-8C0F-0B6A574DA84A Size : 1073741824 SnapshotIds : Status : NotConnected VirtualDiskIndex : 119718233 ClusterGroupName : ComputerName : DEMO-DC.DEMO.TEST Description : DiskType : Fixed HostVolumeId : {C4A5E065-E88F-11E1-93EB-806E6F6E6963} LocalMountDeviceId : OriginalPath : ParentPath : Path : C:\LUN2.VHD SerialNumber : 981545EA-32FF-4BA4-856D-C6F464FEC82F Size : 21474836480 SnapshotIds : Status : NotConnected VirtualDiskIndex : 1469988013 ClusterGroupName : ComputerName : DEMO-DC.DEMO.TEST Description : DiskType : Fixed HostVolumeId : {C4A5E065-E88F-11E1-93EB-806E6F6E6963} LocalMountDeviceId : OriginalPath : ParentPath : Path : C:\LUN1.VHD SerialNumber : BBCB273F-74EF-4E50-AA07-EDCD2E955A3B Size : 21474836480 SnapshotIds : Status : NotConnected VirtualDiskIndex : 1581769191

7.2.GUI. Using Server Manager

 In Server Manager, click on “File and Storage Services” on the list on left

 Click on “iSCSI Virtual Disks”

 On the “Tasks” menu on the right, select “New Virtual Disk…”

 The “New iSCSI Virtual Disk Wizard” will start

 On the “Virtual Disk Location” page, with the DEMO-IT server and “C:” volume selected, click “Next”

 On the “Virtual Disk Name” page, enter “LUN0” as the Name, then click “Next”

 On the “Virtual Disk Size” page, enter 1GB as the size, then click “Next”

 On the “iSCSI Target” page, with the “New iSCSI target” option selected, click “Next”

 On the “iSCSI Target Name” page, enter “FileCluster” as the name, then click “Next”

 On the “Access Servers” page, click on “Add…”

 Select “Enter a value...”, select “IP Address”, enter “192.168.101.3”, then click “OK”

 On the “Access Servers” page, click on “Add…” again

 Select “Enter a value...”, select “IP Address”, enter “192.168.101.4”, then click “OK”

 With the two iSCSI Initiators specified, click “Next”

(22)

 On the “Confirmation” page, click “Create”

 When the wizard is done, click “Close”.

 On the “Tasks” menu on the right, select “New Virtual Disk…”

 The “New iSCSI Virtual Disk Wizard” will start

 On the “Virtual Disk Location” page, with the DEMO-IT server and “C:” volume selected, click “Next”

 On the “Virtual Disk Name” page, enter “LUN1” as the Name, then click “Next”

 On the “Virtual Disk Size” page, enter 20GB as the size, then click “Next”

 On the “iSCSI Target” page, with the “Select Existing iSCSI target” option selected, click “Next”

 On the “Confirmation” page, click “Create”

 When the wizard is done, click “Close”.

 Repeat the steps above to create a LUN2 with 20GB and add to the same target.

7.3. Configure the iSCSI Initiators

 Now we shift to the two File Servers, which will run the iSCSI Initiator.

 We’ll do this on VM2 and VM3 (or DEMO-F1 and DEMO-F2).

 Make sure to log on using the domain administrator (DEMO\Administrator), not the local Administrator.

 You will then start the iSCSI Initiator, configuring the service to start automatically.

 You will then connect the initiator to the iSCSI Target we just configured on DEMO-IT 7.3.PS. Using PowerShell

Set-Service MSiSCSI -StartupType automatic Start-Service MSiSCSI

New-iSCSITargetPortal -TargetPortalAddress 192.168.101.1 Get-iSCSITarget | Connect-iSCSITarget

Get-iSCSISession | Register-iSCSISession 7.3.OUT. Sample output

PS C:\> Get-IscsiTargetPortal InitiatorInstanceName : InitiatorPortalAddress : IsDataDigest : False IsHeaderDigest : False TargetPortalAddress : 192.168.101.1 TargetPortalPortNumber : 3260 PSComputerName : PS C:\> Get-IscsiTarget | Format-List IsConnected : True NodeAddress : iqn.1991-05.com.microsoft:demo-dc-filecluster-target PSComputerName : PS C:\> Get-IscsiConnection ConnectionIdentifier : fffffa8002d12020-3 InitiatorAddress : 0.0.0.0 InitiatorPortNumber : 37119 TargetAddress : 192.168.101.1 TargetPortNumber : 3260 PSComputerName : PS C:\> Get-Disk

Number Friendly Name OperationalStatus Total Size Partition Style --- --- --- --- --- 0 Virtual HD ATA Device Online 127 GB MBR

1 MSFT Virtual HD SCSI Disk Device Offline 1 GB RAW 2 MSFT Virtual HD SCSI Disk Device Offline 20 GB RAW 3 MSFT Virtual HD SCSI Disk Device Offline 20 GB RAW

(23)

7.3.GUI. Using Server Manager

 Open Server Manager

 In the Tools menu on the upper right, select “iSCSI Initator”

 Click on “Yes” on the prompt about automatically starting the iSCSI Initiator.

 Enter “192.168.101.2” on the Target field and click the “Quick Connect…” button next to it.

 Verify the status shows as “Connect” and click on “Done”

 Click on the “Volume and Devices” tab and click on the “Auto Configure” button.

 Verify that three volumes show up on the Volume List.

 Click “OK” to close the iSCSI Initiator.

7.4. Configure the disks

 Execute this task only on the first of the two file server (VM2, a.k.a. DEMO-F1).

 This will configure the three disks exposed by the iSCSI Target (the iSCSI LUNs).

 They first need to be onlined, initialized and partitioned (we’re using MBR partitions, since the disks are small).

 Then you will format them and assign each one a driver letter (W:, X: and Y:).

 Drive W: will be the used as witness disks, while X: and Y: will be data disks for the file server cluster. 7.4.PS. Using PowerShell

1..3 | % { $d = “-WXY”[$_]

Set-Disk -Number $_ -IsReadOnly 0 Set-Disk -Number $_ -IsOffline 0

Initialize-Disk -Number $_ -PartitionStyle MBR

New-Partition -DiskNumber $_ -DriveLetter $d –UseMaximumSize Initialize-Volume -DriveLetter $d -FileSystem NTFS -Confirm:$false }

7.4.OUT. Sample output

PS C:\> Get-Disk

Number Friendly Name OperationalStatus Total Size Partition Style --- --- --- --- --- 0 Virtual HD ATA Device Online 127 GB MBR

1 MSFT Virtual HD SCSI Disk Device Online 1 GB MBR 2 MSFT Virtual HD SCSI Disk Device Online 20 GB MBR 3 MSFT Virtual HD SCSI Disk Device Online 20 GB MBR PS C:\> Get-Volume | Sort DriveLetter

DriveLetter FileSystemLabel FileSystem DriveType HealthStatus SizeRemaining Size --- --- --- --- --- --- ---- System Reserved NTFS Fixed Healthy 108.7 MB 350 MB A Removable Healthy 0 B 0 B C NTFS Fixed Healthy 118.29 GB 126.66 GB D CD-ROM Healthy 0 B 0 B W NTFS Fixed Healthy 981.06 MB 1022.93 MB X NTFS Fixed Healthy 19.9 GB 20 GB Y NTFS Fixed Healthy 19.9 GB 20 GB

7.4.GUI. Using Server Manager

 Open the Disk Management tool

 Online all three offline disks (the iSCSI LUNs)

 Initialize them (you can use MBR partitions, since they are small)

 Create a new Simple Volume on each one using all the disk space on the LUN

 Quick-format them with NTFS as the file system

(24)

8. Configure the File Server

8.1 Install the required roles and features

 Now we need to configure VM2 and VM3 as file servers and cluster nodes 8.1.PS. Using PowerShell (from both VM2 and VM3)

Install-WindowsFeature File-Services, FS-FileServer, Failover-Clustering Install-WindowsFeature RSAT-Clustering -IncludeAllSubFeature Install-WindowsFeature RSAT-File-Services -IncludeAllSubFeature 8.1.OUT. Sample output

PS C:\> Get-WindowsFeature *File*, *Cluster*

Display Name Name Install State --- ---- --- [X] File And Storage Services FileAndStorage-Services Installed [X] File and iSCSI Services File-Services Installed [X] File Server FS-FileServer Installed [X] Failover Clustering Failover-Clustering Installed [X] Failover Clustering Tools RSAT-Clustering Installed [X] Failover Cluster Management Tools RSAT-Clustering-Mgmt Installed [X] Failover Cluster Module for Windows ... RSAT-Clustering-Powe... Installed [X] Failover Cluster Automation Server RSAT-Clustering-Auto... Installed [X] Failover Cluster Command Interface RSAT-Clustering-CmdI... Installed [X] File Services Tools RSAT-File-Services Installed [X] Share and Storage Management Tool RSAT-CoreFile-Mgmt Installed

8.1.GUI. Using Server Manager

 For both DEMO-F1 and DEMO-F2, from Server Manager, select Add Role and check File and Storage Services.

 Next, select Add Feature and check Failover Clustering

8.2. Validate the Failover Cluster Configuration

8.2.PS. Using PowerShell (From VM2, DEMO-F1)

Test-Cluster -Node DEMO-F1, DEMO-F2 8.2.OUT. Sample output

(25)

8.2.GUI. Using Server Manager

 On VM2 (DEMO-F1), open Server Manager.

 On the Tools menu on the upper right, select “Failover Cluster Manager”

 In Failover Cluster Manager and click on the option to “Validate a Configuration…”

 The “Validate a Configuration Wizard” will start. Click “Next”

 Add the two file servers: DEMO-F1 and DEMO-F2. Then click “Next”

 Select the option to “Run all tests”. Click “Next”. Click “Next” again to confirm.

 Let the validation process run. It will take a few minutes to complete.

 Validation should not return any errors.

 If it does, review the previous steps and make sure to address any issues listed in the validation report.

8.3. Create a Failover Cluster

8.3.PS. Using PowerShell (From VM2, DEMO-F1)

New-Cluster –Name DEMO-FC -Node DEMO-F1, DEMO-F2 8.3.GUI. Using Server Manager

 On VM2 (DEMO-F1), open Server Manager.

 On the Tools menu on the upper right, select “Failover Cluster Manager”

 In Failover Cluster Manager and click on the option to “Create a Cluster…”

 The “Create a Cluster Wizard” will start. Click “Next”

 Add the two file servers: DEMO-F1 and DEMO-F2. Then click “Next”

 Enter the Cluster Name: DEMO-FC. Then click “Next”

 Click “Next” again to confirm.

(26)

8.4. Configure the Cluster Networks

 For consistency, you should rename the Cluster networks to match the names used previously.

 You should also configure the Internal networks to be used by cluster, but not the External one. 8.4.PS. Using PowerShell (From VM2, DEMO-F1)

(Get-ClusterNetwork | ? Address -like 192.168.101.* ).Name = "Internal1" (Get-ClusterNetwork | ? Address -like 192.168.102.* ).Name = "Internal2” (Get-ClusterNetwork | ? Address -like 192.168.103.* ).Name = "Internal3” (Get-ClusterNetwork | ? Name -notlike Internal* ).Name = "External" (Get-ClusterNetwork Internal1).Role = 3

(Get-ClusterNetwork Internal2).Role = 3 (Get-ClusterNetwork Internal3).Role = 3 (Get-ClusterNetwork External).Role = 1 8.4.OUT. Sample Output

PS C:\> Get-ClusterNetwork | Select *

Cluster : DEMO-FC State : Up Name : External

Ipv6Addresses : {2001:4898:2a:3::, 2001:4898:0:fff:0:5efe:10.123.180.0} Ipv6PrefixLengths : {64, 119} Ipv4Addresses : {10.123.180.0} Ipv4PrefixLengths : {23} Address : 10.123.180.0 AddressMask : 255.255.254.0 Description : Role : 1 AutoMetric : True Metric : 30240 Id : 14cab1e8-c16c-46fa-bf01-afc808d29368 Cluster : DEMO-FC State : Up Name : Internal1 Ipv6Addresses : {} Ipv6PrefixLengths : {} Ipv4Addresses : {192.168.101.0} Ipv4PrefixLengths : {24} Address : 192.168.101.0 AddressMask : 255.255.255.0 Description : Role : 3 AutoMetric : True Metric : 70242 Id : 16603183-5639-44a0-8e5e-3934280866cd Cluster : DEMO-FC State : Up Name : Internal2 Ipv6Addresses : {} Ipv6PrefixLengths : {} Ipv4Addresses : {192.168.102.0} Ipv4PrefixLengths : {24} Address : 192.168.102.0 AddressMask : 255.255.255.0 Description : Role : 3 AutoMetric : True Metric : 70241 Id : 528c89bc-8704-4d1a-aa80-65bd5c25e3e5 Cluster : DEMO-FC State : Up Name : Internal3 Ipv6Addresses : {} Ipv6PrefixLengths : {}

(27)

Ipv4Addresses : {192.168.103.0} Ipv4PrefixLengths : {24} Address : 192.168.103.0 AddressMask : 255.255.255.0 Description : Role : 3 AutoMetric : True Metric : 70243 Id : 0f59076d-5536-4d69-af43-271cc4f76723

8.4.GUI. Using Server Manager

 In Failover Cluster Manager, expand the nodes until you find the “Networks” node.

 For each network, right-click the name and click “Properties”.

 Enter the name Internal1, Internal2, Internal3 or External, according to their IP addresses.

 For the External network, make sure “Allow cluster…” is selected and “Allow clients…” is *not* checked.

 For all Internal networks, select “Allow cluster…” and check the “Allow clients…” checkbox.

8.5. Add data disks to Cluster Shared Volumes (CSV)

 Add the disks to the list of Cluster Shared Volumes. 8.5.PS. Using PowerShell (From VM2, DEMO-F1)

Get-ClusterResource | ? OwnerGroup -like Available* | Add-ClusterSharedVolume 8.5.GUI. Sample Output

PS C:\> Get-ClusterResource

Name State OwnerGroup ResourceType ---- --- --- --- Cluster Disk 3 Online Cluster Group Physical Disk Cluster IP Address Online Cluster Group IP Address Cluster IP Address 2001:48... Online Cluster Group IPv6 Address Cluster Name Online Cluster Group Network Name

PS C:\> Get-ClusterSharedVolume Name State Node ---- --- ---- Cluster Disk 1 Online DEMO-F1 Cluster Disk 2 Online DEMO-F2

8.5.GUI. Using Server Manager

 In Failover Cluster Manager, expand the nodes until you find the “Storage” node.

 Select the two disks currently assigned to “Available Storage”.

(28)

8.6. Create the Scale-Out File Server

 Create a Scale-Out File Server.

8.6.PS. Using PowerShell (From VM2, DEMO-F1)

Add-ClusterScaleOutFileServerRole -Name DEMO-FS 8.6.OUT. Sample Output

PS C:\> Get-ClusterGroup DEMO-FS Name OwnerNode State ---- --- --- DEMO-FS DEMO-F1 Online

PS C:\> Get-ClusterGroup DEMO-FS | Get-ClusterResource

Name State OwnerGroup ResourceType ---- --- --- ---

DEMO-FS Online DEMO-FS Distributed Network Name Scale-Out File Server (\\D... Online DEMO-FS Scale Out File Server

8.6.GUI. Using Server Manager

 On the Failover Cluster Manager, select the main node on the tree (with the cluster name)

 On the actions menu on the right, select “Configure Role…”

 The “High Availability Wizard” will start. Click “Next”

 On the “Select Role” page, select “File Server” and click “Next”

 On the “File Server Type” page, select “File Server for scale-out application data” and click “Next”

 On the “Client Access Point” page, specify the name of the service as DEMO-FS

 On the “Confirmation” page, click “Next”.

(29)

8.7. Create the folders and shares

 In this step, you will create two shares: one for database files and one for log files 8.7.PS. Using PowerShell (From VM2, DEMO-F1)

MD C:\ClusterStorage\Volume1\DATA

New-SmbShare -Name DATA -Path C:\ClusterStorage\Volume1\DATA -FullAccess DEMO.TEST\Administrator, DEMO.TEST\SQLService

(Get-SmbShare DATA).PresetPathAcl | Set-Acl MD C:\ClusterStorage\Volume2\LOG

New-SmbShare -Name LOG -Path C:\ClusterStorage\Volume2\LOG -FullAccess DEMO.TEST\Administrator, DEMO.TEST\SQLService

(Get-SmbShare LOG).PresetPathAcl | Set-Acl 8.7.OUT. Sample Output

PS C:\> Get-SmbShare Data, Log

Name ScopeName Path Description ---- --- ---- --- DATA DEMO-FS C:\ClusterStorage\Volume1\...

LOG DEMO-FS C:\ClusterStorage\Volume2\LOG PS C:\> Get-SmbShare Data, Log | Select *

PresetPathAcl : System.Security.AccessControl.DirectorySecurity ShareState : Online AvailabilityType : ScaleOut ShareType : FileSystemDirectory FolderEnumerationMode : Unrestricted CachingMode : Manual CATimeout : 0 ConcurrentUserLimit : 0 ContinuouslyAvailable : True CurrentUsers : 0 Description : EncryptData : False Name : DATA Path : C:\ClusterStorage\Volume1\DATA Scoped : True ScopeName : DEMO-FS SecurityDescriptor : O:BAG:DUD:(A;;FA;;;S-1-5-21-3876617879-1076079722-1647216889-500)(A;;FA;;;S-1-5-21-3876617879-1 076079722-1647216889-1107) ShadowCopy : False Special : False Temporary : False Volume : \\?\Volume{4789973e-1f33-4d27-9bf1-2e9ec6da13a0}\ PSComputerName : CimClass : ROOT/Microsoft/Windows/SMB:MSFT_SmbShare

CimInstanceProperties : {AvailabilityType, CachingMode, CATimeout, ConcurrentUserLimit...} CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties PresetPathAcl : System.Security.AccessControl.DirectorySecurity ShareState : Online AvailabilityType : ScaleOut ShareType : FileSystemDirectory FolderEnumerationMode : Unrestricted CachingMode : Manual CATimeout : 0 ConcurrentUserLimit : 0 ContinuouslyAvailable : True CurrentUsers : 0 Description : EncryptData : False Name : LOG Path : C:\ClusterStorage\Volume2\LOG Scoped : True ScopeName : DEMO-FS SecurityDescriptor : O:BAG:DUD:(A;;FA;;;S-1-5-21-3876617879-1076079722-1647216889-500)(A;;FA;;;S-1-5-21-3876617879-1

(30)

076079722-1647216889-1107) ShadowCopy : False Special : False Temporary : False Volume : \\?\Volume{888f5e8c-c91c-4bcf-b4b2-cc4e427ee54c}\ PSComputerName : CimClass : ROOT/Microsoft/Windows/SMB:MSFT_SmbShare

CimInstanceProperties : {AvailabilityType, CachingMode, CATimeout, ConcurrentUserLimit...} CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties

8.7.GUI. Using Server Manager

 On the Failover Cluster Manager, select the Roles node on the tree on the left.

 Click on the DEMO-FS role and then click on “Add Shared Folder” on the actions menu on the right.

 The “New Share Wizard” will start.

 On the “Select Profile” page, select “SMB Share – Server Application” and click “Next”

 On the “Share Location” page, select “C:\ClusterStorage\Volume1” as the location. Click “Next”.

 On the “Share Name” page, enter “Data” as the share name, click “Next”.

 On the “Other Settings” page, just click “Next”

 On the “Permissions” page, click on “Customize permissions…”

 Click on “Add”, then click on “Select a Principal”.

 Enter “DEMO\Administrator”, click on “Check Names” and then click “OK”.

 Click “Full Control” and click “OK”.

 Click on “Add”, then click on “Select a Principal”.

 Enter “DEMO\SQLService”, click on “Check Names” and then click “OK”.

 Click “Full Control” and click “OK”.

 Click “OK”, then click on “Next”, then click on “Create”

 Click on “Close” after the wizard finishes creating the share.

(31)

9. Configure the SQL Server

9.1. Mount the SQL Serve ISO file

 Copy the SQL Server 2012 ISO file to the C:\ISO folder.

 Mount that in the DVD for VM4, DEMO-DB. 9.1.PS. Using PowerShell

Set-VMDvdDrive –VMName VM4 -Path C:\ISO\SQLFULL_ENU.iso 9.1.GUI. Using Hyper-V Manager

 In Server Manager, click on “Tools” in the upper left and select “Hyper-V Manager”

 In Hyper-V Manager, click on the server name on the pane on the left

 Right-click VM4 and click on “Connect…”

 In the “Media” menu, select “DVD Drive” and then “Insert Disk…”

 Point to the SQL Server 2012 ISO file under the C:\ISO folder.

9.2. Run SQL Server Setup

 From VM4 (DEMO-DB), run SQL Server 2012 setup from the DVD.

 In the “SQL Server Installation Center”, click on “Installation”, then select “New SQL Server stand-alone…”

 Let it verify the SQL Server Setup Support Rules pass and click “OK”

 Select “Evaluation” under “Specify a free edition” and click “Next”

 Review the licensing terms and click “Next”

 “SQL Server 2012 Setup” will start. Let it verify Setup Support Rules pass and click “Next”.

 In the “Setup Role” page, select “SQL Server Feature Installation” and click “Next”.

 In the “Feature selection” page, select only the “Database Engine Services” and the “Management Tools”.

 Use the default directories. Click “Next”.

 In the “Installation Rules” page, click “Next”.

 In the “Instance Configuration” page, click “Next”

 In the “Disk Space Requirements” page, click “Next”.

 In the “Server Configuration” page, enter “DEMO.TEST\SQLService” as the account name for the SQL Server Database Engine and the SQL Server Agent, set them both to start automatically. Click “Next”

 In the “Database Engine Configuration” page, click on “Add Current User”.

(32)

 Fix the two path for Log directories to use “\\DEMO-FS\LOG” instead of the data folder.

 You will be prompted to confirm the right permissions are assigned on the share. Click “Yes”.

 On the “Error reporting” page, click “Next”

 On the “Installation Configuration Rules” page, click “Next”

 On the “Ready to Install” page, click “Install”

(33)

9.3. Create a database using the clustered file share

 On the SQL Server VM, open SQL Server Management Studio.

 On the “Connect to Server” window, accept the default server name and authentication. Click “Connect”.

 Right click the main node, select Properties and click on the “Database Settings”.

 Verify that that the “Database default locations” point to the file shares entered earlier.

 Click “OK” to close the “Server Properties”.

 Expand the tree on the left to find the Databases node.

 Right-click “Databases” and select “New Database…”

 Enter “Orders” as the database name and note the path pointing to the clustered file share.

 Scroll the bar to the right to see the Path column:

(34)

10. Verify SMB features

10.1. Verify that SMB Multichannel is working

 Use PowerShell to verify that SMB is indeed using multiple interfaces. 10.1.PS. Using PowerShell (from VM4, DEMO-DB)

Get-SmbConnection

Get-SmbMultichannelConnection 10.1.OUT. Sample output

PS C:\> Get-SmbConnection

ServerName ShareName UserName Credential Dialect NumOpens --- --- --- --- --- --- DEMO-FS Data DEMO\SQLService DEMO.TEST\SQLSer... 3.00 11 DEMO-FS Log DEMO\SQLService DEMO.TEST\SQLSer... 3.00 2 PS C:\> Get-SmbMultichannelConnection

Server Name Selected Client IP Server IP Client Server Client RSS Client RDMA Interface Interface Capable Capable Index Index

--- --- --- --- --- --- --- --- DEMO-FS True 192.168.103.4 192.168.103.3 23 22 True False

DEMO-FS True 192.168.101.4 192.168.101.3 19 18 True False DEMO-FS True 192.168.102.4 192.168.102.3 21 16 True False

10.2. Query the SMB Sessions and Open Files

 Use PowerShell to verify sessions and open files.

10.2.PS. Using PowerShell (from VM2, DEMO-F1 or VM3, DEMO-F2)

Get-SmbSession

Get-SmbOpenFile | Sort Path

Get-SmbOpenFile | Sort Path | FT Path 10.2.OUT. Sample output

PS C:\> Get-SmbSession

SessionId ClientComputerName ClientUserName NumOpens --- --- --- --- 154618822685 [fe80::a08a:1e3d:8e27:3288] DEMO\DEMO-F2$ 0 154618822681 [fe80::407e:dd35:3c1c:bec5] DEMO\DEMO-F1$ 0 8813272891477 192.168.101.4 DEMO\SQLService 13 PS C:\> Get-SmbOpenFile | Sort Path

FileId SessionId Path ShareRelativePath ClientComputerName ClientUserName --- --- ---- --- --- --- 8813272893453 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893465 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893577 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893589 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893545 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893557 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893993 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893665 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893417 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService 8813272893505 8813272891477 C:\ClusterStorag... MSSQL11.MSSQLSER... 192.168.101.4 DEMO\SQLService

Figure

Updating...

Related subjects :