Windows 2022
Sponsored Link

Windows Server Failover Clustering : 共有ストレージの設定2022/12/27

 
Windows Server Failover Clustering (WSFC) の設定です。
当例では以下のような環境で設定します。
クラスター構成ノードに 2 台のサーバーを用意し、それらは Active Directory ドメインに参加しています。(AD 参加は必須ではない)
また、クラスター構成ノードは、クラスター用の共有ストレージとして、iSCSI ネットワークストレージをマウントします。
                                   |
+----------------------+           |           +----------------------+
|  [      AD DS     ]  |10.0.0.100 | 10.0.0.110|  [  iSCSI Target  ]  |
|    fd3s.srv.world    +-----------+-----------+    tgt01.srv.world   |
|                      |           |           |                      |
+----------------------+           |           +----------------------+
                                   |
+----------------------+           |           +----------------------+
|  [ Cluster Node#1 ]  |10.0.0.101 | 10.0.0.102|  [ Cluster Node#2 ]  |
|    rx-7.srv.world    +-----------+-----------+    rx-8.srv.world    |
|                      |                       |                      |
+----------------------+                       +----------------------+

 
CUI で 共有ストレージを構成する場合は PowerShell を管理者権限で起動して以下のように設定します。
[1]
[2] iSCSI ターゲットサーバーで、クラスターで使用するクォーラムディスク用の共有ストレージを設定します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# [iSCSITarget01] ターゲット作成
# iSCSI イニシエーター ID はクラスター構成ノードを指定
PS C:\Users\Serverworld> New-IscsiServerTarget -TargetName "iSCSITarget01" -InitiatorId @("IPAddress:10.0.0.101","IPAddress:10.0.0.102") 

ChapUserName                :
ClusterGroupName            :
ComputerName                : tgt01.srv.world
Description                 :
EnableChap                  : False
EnableReverseChap           : False
EnforceIdleTimeoutDetection : True
FirstBurstLength            : 65536
IdleDuration                : 00:00:00
InitiatorIds                : {IPAddress:10.0.0.101, IPAddress:10.0.0.102}
LastLogin                   :
LunMappings                 : {}
MaxBurstLength              : 262144
MaxReceiveDataSegmentLength : 65536
ReceiveBufferCount          : 10
ReverseChapUserName         :
Sessions                    : {}
Status                      : NotConnected
TargetIqn                   : iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target
TargetName                  : iSCSITarget01

# クォーラム用共有ディスク作成 (サイズは通常 512MB あれば必要十分)
PS C:\Users\Serverworld> New-IscsiVirtualDisk -Path "C:\iSCSIDisk\Quorum01.vhdx" -SizeBytes 512MB 

ClusterGroupName   :
ComputerName       : tgt01.srv.world
Description        :
DiskType           : Dynamic
HostVolumeId       : {98785070-01DE-4ED5-A7CD-0DA847762122}
LocalMountDeviceId :
OriginalPath       :
ParentPath         :
Path               : C:\iSCSIDisk\Quorum01.vhdx
SerialNumber       : 6E271242-7011-4F88-A8F9-F7B4F95933A6
Size               : 536870912
SnapshotIds        :
Status             : NotConnected
VirtualDiskIndex   : 282691262

# iSCSI ターゲットに iSCSI 仮想ディスクを割り当てる
PS C:\Users\Serverworld> Add-IscsiVirtualDiskTargetMapping -TargetName "iSCSITarget01" -Path "C:\iSCSIDisk\Quorum01.vhdx" 

# iSCSI ターゲットで CHAP を有効にして任意の認証用のユーザー名とパスワードを設定
# パスワードは 12 文字以上
PS C:\Users\Serverworld> Set-IscsiServerTarget `
-TargetName "iSCSITarget01" `
-EnableChap $True `
-Chap (New-Object PSCredential("username", (ConvertTo-SecureString -AsPlainText "UserP@ssw0rd01" -Force)))`
-PassThru 

ChapUserName                : username
ClusterGroupName            :
ComputerName                : tgt01.srv.world
Description                 :
EnableChap                  : True
EnableReverseChap           : False
EnforceIdleTimeoutDetection : True
FirstBurstLength            : 65536
IdleDuration                : 00:00:00
InitiatorIds                : {IPAddress:10.0.0.101, IPAddress:10.0.0.102}
LastLogin                   : 1/23/2023 8:44:27 PM
LunMappings                 : {TargetName:iSCSITarget01;VHD:"C:\iSCSIDisk\Quorum01.vhdx";LUN:0}
MaxBurstLength              : 262144
MaxReceiveDataSegmentLength : 65536
ReceiveBufferCount          : 10
ReverseChapUserName         :
Sessions                    : {400001370001-0100, 400001370001-0300}
Status                      : Connected
TargetIqn                   : iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target
TargetName                  : iSCSITarget01

# 設定確認
PS C:\Users\Serverworld> Get-IscsiServerTarget -TargetName "iSCSITarget01" 

ChapUserName                : username
ClusterGroupName            :
ComputerName                : tgt01.srv.world
Description                 :
EnableChap                  : True
EnableReverseChap           : False
EnforceIdleTimeoutDetection : True
FirstBurstLength            : 65536
IdleDuration                : 00:00:00
InitiatorIds                : {IPAddress:10.0.0.101, IPAddress:10.0.0.102}
LastLogin                   : 1/23/2023 8:44:27 PM
LunMappings                 : {TargetName:iSCSITarget01;VHD:"C:\iSCSIDisk\Quorum01.vhdx";LUN:0}
MaxBurstLength              : 262144
MaxReceiveDataSegmentLength : 65536
ReceiveBufferCount          : 10
ReverseChapUserName         :
Sessions                    : {400001370001-0100, 400001370001-0300}
Status                      : Connected
TargetIqn                   : iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target
TargetName                  : iSCSITarget01

# サービス再起動
PS C:\Users\Serverworld> Restart-Service -Name WinTarget 
[3] クラスター構成の全ノードで iSCSI イニシエーター を設定し、iSCSI ターゲットサーバーにログインしておきます。
# サービスを起動してターゲットサーバーにログイン
PS C:\Users\Serverworld> Start-Service -Name MSiSCSI 
PS C:\Users\Serverworld> Set-Service -Name MSiSCSI -StartupType Automatic 
PS C:\Users\Serverworld> New-IscsiTargetPortal -TargetPortalAddress "10.0.0.110" 

InitiatorInstanceName  :
InitiatorPortalAddress :
IsDataDigest           : False
IsHeaderDigest         : False
TargetPortalAddress    : 10.0.0.110
TargetPortalPortNumber : 3260
PSComputerName         :

PS C:\Users\Serverworld> Get-IscsiTarget 

IsConnected NodeAddress                                          PSComputerName
----------- -----------                                          --------------
      False iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target

PS C:\Users\Serverworld> Connect-IscsiTarget `
-NodeAddress iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target `
-AuthenticationType ONEWAYCHAP `
-ChapUsername "username" `
-ChapSecret "UserP@ssw0rd01" `
-IsPersistent $True 

AuthenticationType      : ONEWAYCHAP
InitiatorInstanceName   : ROOT\ISCSIPRT\0000_0
InitiatorNodeAddress    : iqn.1991-05.com.microsoft:rx-7.srv.world
InitiatorPortalAddress  : 0.0.0.0
InitiatorSideIdentifier : 400001370000
IsConnected             : True
IsDataDigest            : False
IsDiscovered            : True
IsHeaderDigest          : False
IsPersistent            : True
NumberOfConnections     : 1
SessionIdentifier       : ffff8c8d315f8010-4000013700000004
TargetNodeAddress       : iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target
TargetSideIdentifier    : 0100
PSComputerName          :

PS C:\Users\Serverworld> Get-IscsiConnection 

ConnectionIdentifier : ffff8c8d315f8010-4
InitiatorAddress     : 0.0.0.0
InitiatorPortNumber  : 40695
TargetAddress        : 10.0.0.110
TargetPortNumber     : 3260
PSComputerName       :
[4] クラスター構成の任意の 1 ノードで、認識された iSCSI ディスクを NTFS でフォーマットしておきます。
# ディスク確認
PS C:\Users\Serverworld> Get-Disk | Format-Table -AutoSize -Wrap 

Number Friendly Name            Serial Number                        HealthStatus OperationalStatus Total Size Partition Style
------ -------------            -------------                        ------------ ----------------- ---------- --------
2      MSFT Virtual HD          6E271242-7011-4F88-A8F9-F7B4F95933A6 Healthy      Offline               512 MB RAW
0      VMware Virtual NVMe Disk VMWare NVME_0000                     Healthy      Online                120 GB GPT
1      VMware Virtual NVMe Disk VMWare NVME_0000                     Healthy      Online                 80 GB GPT

# ディスクをオンラインにしてパーティションタイプ GPT で初期化
PS C:\Users\Serverworld> Set-Disk -Number 2 -IsOffline $False 
PS C:\Users\Serverworld> Initialize-Disk -Number 2 -PartitionStyle GPT 

# ドライブレターを割り当ててパーティションを作成
PS C:\Users\Serverworld> New-Partition -DiskNumber 2 -UseMaximumSize -AssignDriveLetter 

   DiskPath: \\?\scsi#disk&ven_msft&prod_virtual_hd#1&1c121344&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber  DriveLetter Offset                                        Size Type
---------------  ----------- ------                                        ---- ----
2                F           16777216                                 495.94 MB Basic

# NTFS でフォーマット
PS C:\Users\Serverworld> Format-Volume -DriveLetter F -FileSystem NTFS -Force 

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
F                        NTFS           Fixed     Healthy      OK                    479.71 MB 495.93 MB
Windows Server Failover Clustering : 共有ストレージの設定 (GUI)
 
GUI で設定する場合は以下のように設定します。
[5]
[6]
iSCSI ターゲット ⇒ [iSCSITarget01]
共有ストレージ ⇒ [C:\iSCSIDisk\Quorum01.vhdx] (512MB)
[7]
こちらを参考に、クラスター構成の全ノードで iSCSIイニシエーター を設定し、iSCSI ターゲットサーバーにログインしておきます。 iSCSI ターゲットサーバーにログイン後、任意の 1 ノードで、認識された iSCSI ディスクを NTFS でフォーマットしておきます。
関連コンテンツ