查看存储空间直通硬件要求并浏览本文档,熟悉总体方法以及与某些步骤相关的重要说明。
收集以下信息:
部署选项。 存储空间直通支持两种部署选项:超融合和融合也称为解聚)。 熟悉每种选项的优势,以确定哪种选项适合自己。 下面的步骤 1-3 适用于这两个部署选项。 只有融合部署才需要步骤 4。
服务器名称。 熟悉你的组织的计算机、文件、路径和其他资源的命名策略。 需要预配多个服务器,并且每个服务器具有唯一名称。
域名。 熟悉你的组织用于域命名和域加入的策略。 你需要将服务器加入域,且需指定域名。
RDMA 网络。 有两种 RDMA 协议:iWarp 和 RoCE。 请记下你的网络适配器使用哪一种。如果是 RoCE,还请记下版本(v1 或 v2)。 对于 RoCE,还请记下架顶式交换机的型号。
VLAN ID。 请记下用于服务器上的管理 OS 网络适配器的 VLAN ID(如果有)。 应该能够从网络管理员处获取此信息。
第一步是在将添加到群集中的每个服务器上安装 Windows Server。 存储空间直通需要 Windows Server Datacenter Edition。 可以使用“服务器核心”安装选项或“带桌面体验的服务器”。
使用安装向导安装 Windows Server 时,可以在 Windows Server(指服务器核心)和 Windows Server(带桌面体验的服务器)之间进行选择,这等效于 Windows Server 2012 R2 中提供的完全安装选项。 如果不选择,将获得“服务器核心”安装选项。 有关详细信息,请参阅安装服务器核心。
本指南重点介绍“服务器核心”安装选项,以及从单独的管理系统远程部署/管理,该系统必须符合以下条件:
在管理系统上安装故障转移群集和 Hyper-V 管理工具。 这可以通过使用“添加角色和功能”向导的服务器管理器来完成。 在“功能”页上,选择“远程服务器管理工具”,然后选择要安装的工具。
输入 PS 会话并使用服务器名称或想要连接到的节点的 IP 地址。 执行此命令后,系统将提示输入密码,输入在设置 Windows 时指定的管理员密码。
Enter-PSSession -ComputerName <myComputerName> -Credential LocalHost\Administrator
下面的示例以在脚本中更有用的方式执行相同的操作,以防需要多次执行此操作:
$myServer1 = "myServer-1"
$user = "$myServer1\Administrator"
Enter-PSSession -ComputerName $myServer1 -Credential $user
提示
如果从管理系统进行远程部署,可能会收到类似“WinRM 无法处理请求”的错误。若要解决此问题,请使用 Windows PowerShell 将每个服务器添加到管理计算机的“受信任的主机”列表中:
Set-Item WSMAN:\Localhost\Client\TrustedHosts -Value Server01 -Force
注意:受信任的主机列表支持通配符,例如 Server*
。
若要查看受信任的主机列表,请键入 Get-Item WSMAN:\Localhost\Client\TrustedHosts
。
若要清空该列表,请键入 Clear-Item WSMAN:\Localhost\Client\TrustedHost
。
到目前为止,你已使用本地管理员帐户 <ComputerName>\Administrator
配置了各个服务器。
若要管理存储空间直通,需要将服务器加入域,并使用每个服务器上管理员组中的 Active Directory 域服务域帐户。
在管理系统中,使用管理员权限打开 PowerShell 控制台。 使用 Enter-PSSession
连接到每个服务器并运行以下 cmdlet,替换你自己的计算机名称、域名和域凭据:
Add-Computer -NewName "Server01" -DomainName "contoso.com" -Credential "CONTOSO\User" -Restart -Force
如果你的存储管理员帐户不是域管理员组的成员,则请将你的存储管理员帐户添加到每个节点上的本地管理员组中,或者更好的是,添加用于存储管理员的组。 可以使用以下命令(也可以编写 Windows PowerShell 函数来执行此操作 - 有关详细信息,请参阅使用 PowerShell 将域用户添加到本地组):
Net localgroup Administrators <Domain\Account> /add
下一步是在每个服务器上安装服务器角色。 可以使用 Windows Admin Center、服务器管理器或 PowerShell 来执行此操作。 下面是要安装的角色:
若要通过 PowerShell 进行安装,请使用 Install-WindowsFeature cmdlet。 可以在单个服务器上使用它,如下所示:
Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
若要同时在群集中的所有服务器上运行该命令,请使用这一小段脚本,修改脚本开头的变量列表以适应你的环境。
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
$FeatureList = "Hyper-V", "Failover-Clustering", "Data-Center-Bridging", "RSAT-Clustering-PowerShell", "Hyper-V-PowerShell", "FS-FileServer"
# This part runs the Install-WindowsFeature cmdlet on all servers in $ServerList, passing the list of features into the scriptblock with the "Using" scope modifier so you don't have to hard-code them here.
Invoke-Command ($ServerList) {
Install-WindowsFeature -Name $Using:Featurelist
}
如果要在虚拟机中部署存储空间直通,请跳过此部分。
存储空间直通需要在群集中的服务器之间建立高带宽、低延迟的网络。 至少需要 10 GbE 网络,建议进行远程直接内存访问 (RDMA)。 只要 iWARP 或 RoCE 具有与操作系统版本匹配的 Windows Server 徽标,就可以使用 iWARP 或 RoCE,但 iWARP 通常更易于设置。
重要
根据网络设备,尤其是使用 RoCE v2 时,可能需要对架顶式交换机进行某些配置。 正确地配置交换机对于确保存储空间直通的可靠性和性能非常重要。
Windows Server 2016 在 Hyper-V 虚拟交换机中引入了交换机嵌入式组合 (SET)。 这样,在使用 RDMA 时,可以将相同的物理 NIC 端口用于所有网络流量,从而减少所需的物理 NIC 端口数。 建议将交换机嵌入式组合用于存储空间直通。
交换机或无交换机节点互连
有关为存储空间直通设置网络的说明,请参阅 Windows Server 2016 和 2019 RDMA 部署指南。
以下步骤将在一个与配置的服务器版本相同的管理系统上完成。 以下步骤不应使用 PowerShell 会话远程运行,而应在具有管理权限的管理系统上在本地 PowerShell 会话中运行。
启用存储空间直通之前,请确保驱动器为空:没有旧分区或其他数据。 运行以下脚本,替换你的计算机名称,以删除所有旧分区或其他数据。
警告
此脚本将永久删除操作系统启动驱动器以外的任何驱动器上的所有数据!
# Fill in these variables with your values
$ServerList = "Server01", "Server02", "Server03", "Server04"
Invoke-Command ($ServerList) {
Update-StorageProviderCache
Get-StoragePool | ? IsPrimordial -eq $false | Set-StoragePool -IsReadOnly:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Get-VirtualDisk | Remove-VirtualDisk -Confirm:$false -ErrorAction SilentlyContinue
Get-StoragePool | ? IsPrimordial -eq $false | Remove-StoragePool -Confirm:$false -ErrorAction SilentlyContinue
Get-PhysicalDisk | Reset-PhysicalDisk -ErrorAction SilentlyContinue
Get-Disk | ? Number -ne $null | ? IsBoot -ne $true | ? IsSystem -ne $true | ? PartitionStyle -ne RAW | % {
$_ | Set-Disk -isoffline:$false
$_ | Set-Disk -isreadonly:$false
$_ | Clear-Disk -RemoveData -RemoveOEM -Confirm:$false
$_ | Set-Disk -isreadonly:$true
$_ | Set-Disk -isoffline:$true
}
Get-Disk | Where Number -Ne $Null | Where IsBoot -Ne $True | Where IsSystem -Ne $True | Where PartitionStyle -Eq RAW | Group -NoElement -Property FriendlyName
} | Sort -Property PsComputerName, Count
输出将如下所示,其中 Count 是每个服务器中每个模型的驱动器数:
Count Name PSComputerName
----- ---- --------------
4 ATA SSDSC2BA800G4n Server01
10 ATA ST4000NM0033 Server01
4 ATA SSDSC2BA800G4n Server02
10 ATA ST4000NM0033 Server02
4 ATA SSDSC2BA800G4n Server03
10 ATA ST4000NM0033 Server03
4 ATA SSDSC2BA800G4n Server04
10 ATA ST4000NM0033 Server04
在此步骤中,将运行群集验证工具,确保正确配置服务器节点,以便使用存储空间直通来创建群集。 当群集验证 (Test-Cluster
) 在创建群集之前运行时,它会运行测试,验证配置是否适合成功充当故障转移群集。 以下示例直接使用 -Include
参数,然后指定了特定类别的测试。 这样可以确保验证中包含存储空间直通特定的测试。
使用以下 PowerShell 命令验证一组用作存储空间直通群集的服务器。
Test-Cluster -Node <MachineName1, MachineName2, MachineName3, MachineName4> -Include "Storage Spaces Direct", "Inventory", "Network", "System Configuration"
在此步骤中,将使用以下 PowerShell cmdlet,通过在前面步骤中已经验证可用于创建群集的节点来创建群集。
创建群集时,将收到此警告:“创建群集角色时出现的问题可能会阻止其启动。 有关详细信息,请查看下面的报告文件。”可以放心地忽略此警告。 出现此警告是因为群集仲裁上没有可用的磁盘。 建议在创建群集后配置文件共享见证或云见证。
备注
如果服务器正在使用静态 IP 地址,通过添加以下参数和指定 IP 地址来修改以下命令以反映静态 IP 地址:-StaticAddress <X.X.X.X>。 在以下命令中,ClusterName 占位符应被唯一的且字符数等于或少于 15 个的 netbios 名称替换。
New-Cluster -Name <ClusterName> -Node <MachineName1,MachineName2,MachineName3,MachineName4> -NoStorage
创建群集后,复制群集名称的 DNS 条目可能要花点时间。 时间取决于环境和 DNS 复制配置。 如果解析群集未成功,在大多数情况下,可以使用节点的计算机名称来完成,它是可用于取代群集名称的群集的活动成员。
建议为群集配置见证,以便具有三个或更多服务器的群集可以承受两个服务器发生故障或处于脱机状态。 双服务器部署需要群集见证,否则进入脱机状态的一个服务器会导致另一个服务器也变得不可用。 通过这些系统,可以使用文件共享作为见证或使用云见证。
有关详细信息,请参阅以下主题:
创建群集后,使用 Enable-ClusterStorageSpacesDirect
PowerShell cmdlet(它会将存储系统置于存储空间直通模式),并自动执行以下操作:
创建池:创建具有类似于“S2D on Cluster1”的名称的单个大型池。
配置存储空间直通缓存:如果存在多个媒体(驱动器)类型可供存储空间直通使用,作为缓存设备可实现最快速度(在大多数情况下读取和写入)
层:创建 2 层作为默认层。 其中一个称为“容量”,另一个称为“性能”。 cmdlet 通过组合设备类型和复原能力来分析设备并配置每个层。
通过管理系统,在以管理员权限打开的 PowerShell 命令窗口中,启动以下命令。 群集名称是在前面的步骤中创建的群集的名称。 如果在其中一个节点上本地运行此命令,-CimSession 参数则不是必需的。
Enable-ClusterStorageSpacesDirect -CimSession <ClusterName>
若要使用以上命令启用存储空间直通,可以使用节点名称而不是群集名称。 使用节点名称可能更可靠,因为新创建的群集名称可能出现 DNS 复制延迟。
此命令完成之后(可能需要几分钟时间),系统将准备好要创建卷。
我们建议使用 New-Volume
cmdlet,因为它可以提供最快且最简单的体验。 此单个 cmdlet 会自动创建虚拟磁盘,对其进行分区和格式化,使用匹配的名称创建卷,并将其添加到群集共享卷 - 这些全都在一个简单的步骤中完成。
有关详细信息,请查看在存储空间直通中创建卷。
可以选择启用群集共享卷 (CSV) 缓存,以将系统内存 (RAM) 用作 Windows 缓存管理器尚未缓存的读取操作的直写块级缓存。 这可以提高 Hyper-V 等应用程序的性能。 CSV 缓存可以提高读取请求的性能,对于横向扩展文件服务器方案也很有用。
启用 CSV 缓存会减少可用于在超融合群集上运行 VM 的内存量,因此必须平衡存储性能与 VHD 可用的内存。
若要设置 CSV 缓存的大小,请使用对存储群集具有管理员权限的帐户在管理系统上打开 PowerShell 会话,然后使用此脚本,根据需要更改 $ClusterName
和 $CSVCacheSize
变量(此示例为每个服务器设置 2 GB 的 CSV 缓存):
$ClusterName = "StorageSpacesDirect1"
$CSVCacheSize = 2048 #Size in MB
Write-Output "Setting the CSV cache..."
(Get-Cluster $ClusterName).BlockCacheSize = $CSVCacheSize
$CSVCurrentCacheSize = (Get-Cluster $ClusterName).BlockCacheSize
Write-Output "$ClusterName CSV cache size: $CSVCurrentCacheSize MB"
有关详细信息,请参阅使用 CSV 内存中读取缓存。
如果要部署超融合群集,最后一步是在存储空间直通群集上预配虚拟机。
虚拟机的文件应存储在系统 CSV 命名空间上(示例:c:\ClusterStorage\Volume1),就像故障转移群集上的群集 VM。
可以使用现成工具或其他工具来管理存储和虚拟机,例如 System Center Virtual Machine Manager。
如果要部署融合解决方案,下一步是创建横向扩展文件服务器实例并设置一些文件共享。 如果要部署超融合群集 - 已完成,不需要此部分。
为文件服务器设置群集服务的下一步是创建群集文件服务器角色,即创建托管持续可用文件共享的横向扩展文件服务器实例。
在故障转移群集管理器中,选择群集,转到“角色”,然后单击“配置角色...”。
此时会显示高可用性向导。
在“选择角色”页上,单击“文件服务器”。
在“文件服务器类型”页上,单击“应用程序数据的横向扩展文件服务器”。
在“客户端访问点”页上,键入横向扩展文件服务器的名称。
转到“角色”并确认创建的群集文件服务器角色旁边的“状态”列是否显示“正在运行”,从而验证角色是否已成功设置,如图 1 所示。
图 1 显示状态为“正在运行”的横向扩展文件服务器的故障转移群集管理器
备注
创建群集角色后,可能会出现一些网络传播延迟,这会使你在几分钟或更长的时间内无法在其上创建文件共享。
在连接到文件服务器群集的 Windows PowerShell 会话中,输入以下命令以创建横向扩展文件服务器角色,更改 FSCLUSTER 以匹配群集的名称,并更改 SOFS 以匹配要为横向扩展文件服务器角色指定的名称:
Add-ClusterScaleOutFileServerRole -Name SOFS -Cluster FSCLUSTER
备注
创建群集角色后,可能会出现一些网络传播延迟,这会使你在几分钟或更长的时间内无法在其上创建文件共享。 如果 SOFS 角色立即失败且无法启动,可能是因为群集的计算机对象无权为 SOFS 角色创建计算机帐户。 有关此方面的帮助,请参阅此博客文章:横向扩展文件服务器角色无法启动,事件 ID 为 1205、1069 和 1194。
创建虚拟磁盘并将其添加到 CSV 后,即可在其上创建文件共享 - 每个 CSV 的每个虚拟磁盘上创建一个文件共享。 System Center Virtual Machine Manager (VMM) 可能是执行此操作的最轻松方法,因为它会为你处理权限,但如果环境中没有 VMM,则可以使用 Windows PowerShell 部分自动执行部署。
使用适用于 Hyper-V 工作负载的 SMB 共享配置脚本中包含的脚本,该脚本可部分自动执行创建组和共享的过程。 它是针对 Hyper-V 工作负载编写的,因此,如果要部署其他工作负载,可能需要在创建共享后修改设置或执行其他步骤。 例如,如果使用的是 Microsoft SQL Server ,则必须向 SQL Server 服务帐户授予对共享和文件系统的完全控制权限。
备注
除非使用 System Center Virtual Machine Manager 创建共享,否则在添加群集节点时必须更新组成员身份。
若要使用 PowerShell 脚本创建文件共享,请执行以下操作:
将适用于 Hyper-V 工作负载的 SMB 共享配置中包含的脚本下载到文件服务器群集的某个节点。
在管理系统上使用域管理员凭据打开 Windows PowerShell 会话,然后使用以下脚本为 Hyper-V 计算机对象创建 Active Directory 组,并根据环境更改变量的值:
# Replace the values of these variables
$HyperVClusterName = "Compute01"
$HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#>
$ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
# Start of script itself
CD $ScriptFolder
.\ADGroupSetup.ps1 -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName -HyperVClusterName $HyperVClusterName
在其中一个存储节点上使用管理员凭据打开 Windows PowerShell 会话,然后使用以下脚本为每个 CSV 创建共享,并将共享的管理权限授予域管理员组和计算群集。
# Replace the values of these variables
$StorageClusterName = "StorageSpacesDirect1"
$HyperVObjectADGroupSamName = "Hyper-VServerComputerAccounts" <#No spaces#>
$SOFSName = "SOFS"
$SharePrefix = "Share"
$ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
# Start of the script itself
CD $ScriptFolder
Get-ClusterSharedVolume -Cluster $StorageClusterName | ForEach-Object {
$ShareName = $SharePrefix + $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume")
Write-host "Creating share $ShareName on "$_.name "on Volume: " $_.SharedVolumeInfo.friendlyvolumename
.\FileShareSetup.ps1 -HyperVClusterName $StorageClusterName -CSVVolumeNumber $_.SharedVolumeInfo.friendlyvolumename.trimstart("C:\ClusterStorage\Volume") -ScaleOutFSName $SOFSName -ShareName $ShareName -HyperVObjectADGroupSamName $HyperVObjectADGroupSamName
}
若要设置 Kerberos 约束委派以进行远程方案管理和提高实时迁移安全性,请从其中一个存储群集节点使用适用于 Hyper-V 工作负载的 SMB 共享配置中包含的 KCDSetup.ps1 脚本。 下面是该脚本的一个小包装器:
$HyperVClusterName = "Compute01"
$ScaleOutFSName = "SOFS"
$ScriptFolder = "C:\Scripts\SetupSMBSharesWithHyperV"
CD $ScriptFolder
.\KCDSetup.ps1 -HyperVClusterName $HyperVClusterName -ScaleOutFSName $ScaleOutFSName -EnableLM
机房名称 | 机房介绍 | 是否推荐 |
---|---|---|
广州较场西路机房 | 中国电信5星级机房,华南骨干出口,广州市中心机房,交通便利,总带宽200G,为华南骨干出口。 | |
广州人民中路机房 | 中国电信3星级机房,超高速的20Gx2主备双线路带宽直接接入ChinaNET骨干层。 | |
广州天河科技园机房 | 天河软件园建中路4号,中国互联网应急中心机房,国家政府机关直属。多线接入骨干BGP线路。 | |
电子商务部广州机房 | 天河软件建业路上(科韵路)的国际电子商务中心大厦甲级写字楼内,机房环境一流。多线接入骨干BGP线路。 | |
广州电信加速器机房 | 位于广州市萝岗区开源大道1号企业加速器B1栋一楼,按照国际T3+及国标B+级标准建造,机房环境一流。多线接入骨干网。 | |
广州移动旗锐机房 | 广州科学城南翔二路1号旗锐数字科技园区内,属于第三方私立机房,现由移动运营,从粤西汇聚节点直连CMNET骨干网。 | |
广州移动南方基地机房 | 中国移动广州南方基地机房位于广州市天河软件园高塘大道333号,用于移动骨干网线路,是移动服务器托管优质机房。 | |
东莞电信道滘机房 | 中国电信4星级机房,总带宽320G,可提供电信和多线BGP线路,华南骨干机房,稳定高速,性价比高。 | |
东莞电信东城机房 | 中国电信4星级机房,总带宽320G,性价比高,可提供电信和多线BGP线路和200G集群硬件防火墙VIP防护。 | |
东莞电信樟木头机房 | 中国电信4星级机房,总带宽320G,可提供电信和多线BGP线路和100G集群硬件防火墙企业级防护。 | |
深圳互联港湾机房 | 深圳南山高新区中区软件大厦四楼,电信3星级机房,20G带宽接入骨干网络。 | |
深圳南山科兴机房 | 位于深圳市南山区科技园科苑路15号科兴科学园,3星级机房,可提供双线接入等业务。 | |
深圳百旺信机房 | 深圳市南山区西丽松白公路百旺信工业区A区(一区)一栋属于第三方机房,可提供双线接入等业务。 | |
佛山电信信息大厦机房 | 佛山市汾江南路35号电信佛山分公司信息大厦8-9层,是中国电信3星级机房,可提供双线接入等业务。 | |
中山电信火炬机房 | 机房位于中山市火炬区康乐大道47号电信3楼,是中国电信3星级机房,可提供双线接入等业务。 | |
江苏徐州电信机房 | 机房位于江苏徐州市新城区镜泊东路4号,徐州市档案馆东侧,是中国电信3星级机房,可提供双线接入等业务。 | |
江苏常州电信机房 | 机房位于江苏省常州市清凉路108号常州信息港,是中国电信4星级机房,可提供双线接入等业务。 | |
香港TKO机房 | 机房靠近香港交易所的数据中心位置和香港商业中心,拥有PCCW、GTT、Cogent、Telia、TATA、CT、CN2、CU线路。 | |
香港将军澳机房 | 机房在香港新界將軍澳工業邨駿昌街22號,与阿里云香港机房同属一栋楼,拥有多种线路接入。 | |
香港新世界机房 | 香港新世界机房的海底电缆系统遍布全球,能直接连接多个国家,免备案,服务器租用、云服务器等业务。 | |
香港NTT机房 | 香港NTT电讯机房,是一座专用数据中心,在香港大埔,免备案,提供服务器租用、VPS云服务器等业务。 | |
美国洛杉矶机房 | 位于美国洛杉矶,直连全球,是全球带宽最集中的地方,是外贸企业首选,该机房只提供服务器租用业务。 | |
美国加州DCS机房 | 位于美国加州,直连全球,是美国的华人机房,是外贸企业首选,该机房只提供服务器租用业务。 | |
美国圣何塞机房 | 位于美国圣何塞,紧邻科技中心-硅谷,直连全球,是外贸企业首选,该机房只提供服务器租用业务。 | |
韩国首尔KT机房 | 韩国首尔的江南区道谷洞数据中心,光纤直连电信(CN2)、移动、PCCW、NTT等网络核心骨干。 | |
台湾中华电信机房 | 台湾中华电信机房位于台湾台北市114内湖区瑞光路68号3楼,是台湾对外最重要的电信枢纽之一。 | |
菲律宾PLDT机房 | 菲律宾PLDT机房拥有PCCW、TATA、CT、CN2等线路接入,优化线路到中国大陆速度快,延迟低,网络稳定。 |
¥99元/年起 网站空间 原价:199元
¥488/月起 物理机 原价:699元
¥580起 企业建站 原价:1999元起
迅恒专注于企业建站,海量精美网站风格模板供您选择!
网络营销推广的第一步就是做一个属于自己的网站
做网站,为什么要选迅恒建站?
专业的设计团队、技术团队,为客户提供专业的技术服务支持
客户查验合格,提供源码交付/FTP信息。网站商业授权,避免产权纠纷
网站能够在CP+平板+手机+小程序 完美响应展示。
所有收费项公开透明,正规签订合同,合同清楚明确
提供网站个性化定制设计,拒绝千篇一律
我司与华为云/腾讯云长期合作,采用安全稳定服务器,保障网站安全稳定运行