Windows 2025
Sponsored Link

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

 

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       : {95471308-8C32-4533-A343-B2338BD6D05F}
LocalMountDeviceId :
OriginalPath       :
ParentPath         :
Path               : C:\iSCSIDisk\Quorum01.vhdx
SerialNumber       : 67D31FBD-27F5-4FE5-A609-0496236D39EA
Size               : 536870912
SnapshotIds        :
Status             : NotConnected
VirtualDiskIndex   : 2007973245

# 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:01:33
InitiatorIds                : {IPAddress:10.0.0.101, IPAddress:10.0.0.102}
LastLogin                   :
LunMappings                 : {TargetName:iSCSITarget01;VHD:"C:\iSCSIDisk\Quorum01.vhdx";LUN:0}
MaxBurstLength              : 262144
MaxReceiveDataSegmentLength : 65536
ReceiveBufferCount          : 10
ReverseChapUserName         :
Sessions                    : {}
Status                      : NotConnected
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:02:03
InitiatorIds                : {IPAddress:10.0.0.101, IPAddress:10.0.0.102}
LastLogin                   :
LunMappings                 : {TargetName:iSCSITarget01;VHD:"C:\iSCSIDisk\Quorum01.vhdx";LUN:0}
MaxBurstLength              : 262144
MaxReceiveDataSegmentLength : 65536
ReceiveBufferCount          : 10
ReverseChapUserName         :
Sessions                    : {}
Status                      : NotConnected
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       : ffffd5868ecfd010-4000013700000002
TargetNodeAddress       : iqn.1991-05.com.microsoft:tgt01-iscsitarget01-target
TargetSideIdentifier    : 0100
PSComputerName          :

PS C:\Users\Serverworld> Get-IscsiConnection 

ConnectionIdentifier : ffffd5868ecfd010-1
InitiatorAddress     : 0.0.0.0
InitiatorPortNumber  : 30661
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
------ -------------   -------------                        ------------ ----------------- ---------- ---------------
1      MSFT Virtual HD 67D31FBD-27F5-4FE5-A609-0496236D39EA Healthy      Offline               512 MB RAW
0      QEMU HARDDISK   QM00001                              Healthy      Online                 80 GB GPT

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

# ドライブレターを割り当ててパーティションを作成
PS C:\Users\Serverworld> New-Partition -DiskNumber 1 -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                D           16777216                                     495.94 MB Basic

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

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining      Size
----------- ------------ -------------- --------- ------------ ----------------- -------------      ----
D                        NTFS           Fixed     Healthy      OK                    479.71 MB 495.93 MB
Windows Server Failover Clustering : 共有ストレージの設定 (GUI)
 

GUI で設定する場合は以下のように設定します。

[5]

こちらを参考に、共有ストレージを設定するノードで iSCSI ターゲットサーバーをインストールしておきます

[6]

こちらを参考に、iSCSI ターゲットサーバーを構成し、クラスターで使用するクォーラムディスク用の共有ストレージを設定します
当例では、以下のような設定で進めます。

iSCSI ターゲット ⇒ [iSCSITarget01]
共有ストレージ ⇒ [C:\iSCSIDisk\Quorum01.vhdx] (512MB)

[7]

こちらを参考に、クラスター構成の全ノードで iSCSIイニシエーター を設定し、iSCSI ターゲットサーバーにログインしておきます
iSCSI ターゲットサーバーにログイン後、任意の 1 ノードで、認識された iSCSI ディスクを NTFS でフォーマットしておきます。

関連コンテンツ