TP: HA File Server Cluster Using 2 VMs (iSCSI + Cluster Node)
Goal:
Build a highly available file server cluster with only 2 Windows Server VMs:
• One node also acts as the iSCSI Target Server.
• Cluster uses shared storage for the File Server role.
• Includes File Share Witness quorum.
• Tests failover.
Architecture Overview
VM Name Role
Node1 Cluster Node + iSCSI Target
Node2 Cluster Node
Shared storage is created on Node1 and used by both nodes via iSCSI.
Step-by-Step Lab Guide
Step 1: Prepare Both Nodes (Node1 & Node2)
1. Set static IPs and the same workgroup.
2. Enable File and Printer Sharing.
3. Open Firewall rules for clustering:
Enable-NetFirewallRule -DisplayGroup "Failover Clustering"
Step 2: Install Required Roles and Features
On both nodes:
Install-WindowsFeature -Name Failover-Clustering, FS-FileServer -IncludeManagementTools
On Node1 only (iSCSI Target):
Install-WindowsFeature FS-iSCSITarget-Server
Step 3: Create iSCSI Shared Disk on Node1
1. In Server Manager > File and Storage Services > iSCSI:
o Create new iSCSI virtual disk (e.g., ClusterDisk1.vhdx)
o Save it somewhere like D:\iSCSI\
o Create a new target (e.g., CLUSTER-TARGET)
o Add Node2’s IQN as an initiator
2. Find Node2's IQN (on Node2):
Get-InitiatorPort
Step 4: Connect to iSCSI Target (Node2)
On Node2:
• Open iSCSI Initiator
• Discover target from Node1’s IP
• Connect and enable multi-pathing if desired
On Node2, open Disk Management:
• Bring the disk online
• Initialize as GPT
• Create a volume, format as NTFS, assign drive letter (F:)
• Offline the disk after formatting
Step 5: Create the Cluster
On either node:
New-Cluster -Name FileCluster -Node Node1,Node2 -StaticAddress 192.168.x.100 -NoStorage
Add the shared disk:
Get-ClusterAvailableDisk | Add-ClusterDisk
Step 6: Configure Quorum (File Share Witness)
On Node1, create a folder C:\QuorumShare, and share it as \\Node1\Quorum.
Set permissions to allow both nodes' local admin accounts.
On either node:
Set-ClusterQuorum -FileShareWitness "\\Node1\Quorum"
Step 7: Add the File Server Role
1. Open Failover Cluster Manager
2. Go to Roles > Configure Role
3. Choose File Server for general use
4. Name it (e.g., HAFileServer)
5. Assign client access IP (e.g., 192.168.x.150)
6. Select the shared disk
7. Finish setup
Step 8: Create the Shared Folder
On the clustered disk (now F: on active node):
New-Item -ItemType Directory -Path "F:\SharedDocs"
New-SmbShare -Name "SharedDocs" -Path "F:\SharedDocs" -FullAccess "Everyone"
Step 9: Test Failover
1. From any client or Node2:
\\192.168.x.150\SharedDocs
2. On Node1, shut it down or run:
Stop-ClusterNode -Drain
3. The file server role should fail over to Node2, keeping service available.