微软超融合私有云测试06-StorageSpaceDirect(S2D)分布式存储配置

Start


1. 创建分布式存储

可故障转移群集创建完毕后,接下来在群集中启用分布式存储(Storage Space Direct),来作为群集存储使用。


1) 在启用分布式存储之前,首先需要处理所有磁盘,使所有磁盘处于可用状态

磁盘要求为:用于存储空间直通的磁盘必须为空且没有分区或其他数据。 如果磁盘有分区或其他数据,那么它不会包含在存储空间直通系统中。

2)下面,通过一个脚本,来清理磁盘,使磁盘处于可用状态

在任意节点上打开PowerShell控制台,然后输入以下命令

icm (Get-Cluster -Name HCI-Cluster | Get-ClusterNode) {

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 |? Number -ne $null |? IsBoot -ne $true |? IsSystem -ne $true |? PartitionStyle -eq RAW | Group -NoElement -Property FriendlyName

} | Sort -Property PsComputerName,Count

3)命令执行完毕后,输出如下

clip_image001[8]

4) 启用存储直通

创建群集后,使用 Enable-ClusterStorageSpacesDirect PowerShell cmdlet(它会将存储系统置于存储空间直通模式),并自动执行以下操作:

创建池:创建具有“S2D on Cluster1”之类的名称的单个大型池。

配置存储空间直通缓存:如果存在多个媒体(驱动器)类型可供存储空间直通使用,作为缓存设备可实现最快速度(在大多数情况下读取和写入)

层:创建 2 层作为默认层。 其中一个称为“容量”,另一个称为“性能”。 cmdlet 通过组合设备类型和复原能力来分析设备并配置每个层。

通过管理系统,在以管理员权限打开的 PowerShell 命令窗口中,启动以下命令。 群集名称是在前面的步骤中创建的群集的名称。

5) 使用域管理员身份登录到任意一台物理机,以管理员身份打开PowerShell控制台,然后输入

Enable-ClusterStorageSpacesDirect

clip_image002[8]

确认操作页,输入Y

clip_image003[8]

clip_image004[8]

6)此命令完成(可能需要几分钟时间)之后,系统将准备好要创建卷

创建完成后,会生成一个报告

clip_image005[8]

7) 打开生成的报告,可以看到自动使用的磁盘状况

clip_image006[8]

8)打开故障转移群集管理器,可以看到创建的存储池信息

clip_image007[8]

9)机箱页,可以看到当前的服务器信息

clip_image008[8]


2.创建存储卷


所谓卷,就是类似于我们传统存储的存储LUN,在传统存储中,底层磁盘全部整合为一个存储池(或组),然后在存储池(或组)中创建存储LUN,再分配给主机使用。

微软存储直通---分布式存储池,在整合完所有服务器的本地磁盘成为一个统一存储池后,在上面划分卷,每个卷以类似于传统共享存储的形式挂载到虚拟化集群,最终转换为微软集群所需的群集共享卷(CSV),整体架构图如下所示。

clip_image009[8]

群集中的所有服务器都可以同时访问所有卷。创建卷后,他们会显示在所有服务器上的C:\ClusterStorage\中

clip_image010[8]

1) 在故障转移群集管理器中,导航到存储->池,在右侧点击“新建虚拟磁盘”

clip_image011[8]

2) 选择存储池并单击确定.

clip_image012[8]

3) 在打开的新建虚拟磁盘向导(存储空间直通)页中,点击“下一步”

clip_image013[8]

4) 命名虚拟磁盘然后点击“下一步”

clip_image014[8]

5) 输入虚拟磁盘大小,然后点击“下一步”

clip_image015[8]

6) 检查虚拟磁盘创建设置,确认无误后,点击“创建”

clip_image016[8]

7) 创建完成,勾选“在此向导关闭时创建卷”,然后点击“关闭”

clip_image017[8]

8) 此时将打开新建卷向导

在起始页,点击“下一步”

clip_image018[8]

9) 在“服务器和磁盘”页,服务器选择群集,磁盘选择刚才创建的磁盘,然后点击“下一步”

clip_image019[8]

10) 指定卷的大小(与虚拟磁盘大小相同),然后点击“下一步”

clip_image020[8]

11) 在“驱动器号或文件夹”页,选择“不分配驱动器号或文件夹”,然后点击“下一步”

Note:因为是给群集做共享卷用,所以不分配驱动器号(此部分设置与传统存储设置一样)

clip_image021[8]

12) 文件系统选择”ReFS”分配单元打啊小选择4096,输入卷标,然后点击“下一步”

clip_image022[8]

13) 查看设置,确认无误后,点击“创建”

clip_image023[8]

14) 卷创建完成后,点击“关闭”

clip_image024[8]

15) 在故障转移群集管理器中,导航到存储->磁盘

选择刚才创建的虚拟磁盘,然后从右侧的“操作”窗格中,选择添加到群集共享卷

clip_image025[8]

clip_image026[8]

16) 卷创建完成后,在服务器的C:\ClusterStorage中即可看到创建的卷目录

clip_image027[8]

17) 操作完成!根据需要重复操作以创建多个卷


3.创建虚拟机测试


1) 在故障转移群集管理器中,导航到角色,在右侧 点击 虚拟机->新建虚拟机

clip_image028[8]

2) 选择承载虚拟机的物理服务器节点

clip_image029[8]

3) 输入虚拟机名称,存储位置选择我们创建的群集共享卷位置

clip_image030[8]

4) 虚拟机代数选择“第二代”

clip_image031[8]

5) 分配内存页,设置内存大小,然后点击“下一步”

clip_image032[8]

6) 在“配置网络”页面,选择之前创建的虚拟交换机,然后点击“下一步”

clip_image033[8]

7) 设置创建虚拟磁盘的大小,然后点击“下一步”

clip_image034[8]

8) 选择安装操作系统的ISO映像,点击“下一步”

clip_image035[8]

9) 确认虚拟机创建配置,确认无误后,点击“完成”

clip_image036[8]

10) 虚拟机创建完成后,会自动配置群集高可用性,点击“完成”

clip_image037[8]

11) 虚拟机创建完成,点击“启动”启动虚拟机,然后开始安装操作系统

clip_image038[8]


4.存储卷扩展


1) 在日常使用中,经常会面临存储卷空间不足的情况,因此有可能会面临需要扩展存储卷的情况。在三向镜像模式下,每扩充1GB需要三倍的底层空间支撑。

2) 在调整卷大小之前,请确保存储池中有足够的容量,以容纳其新的更大占用空间。 例如,将三向镜像卷的大小从 1 TB 调整为 2 TB 时,其占用空间将从 3 TB 增长到 6 TB。 要成功调整大小,存储池中将至少需要 (6 - 3) = 3 TB 的可用容量。

3) 在存储空间直通中,每个卷都由一些堆叠对象组成:群集共享卷 (CSV)(这是一个卷)、分区、磁盘(这是一个虚拟磁盘)以及一个或多个存储层(如果适用)。 若要调整卷的大小,你将需要调整其中一些对象的大小。

clip_image039[8]

4) 在本次测试中,我将测试将一个500GB的LUN扩容到1TB,LUN(在存储空间直通中称之为虚拟磁盘)的名称为Test-Extend

首先检查关联的CSV的状态

clip_image040[8]

5) 在扩展卷之前,需要关闭在该卷上的所有VM,并暂停该卷的IO操作

在任意节点,执行如下命令暂停IO

Get-ClusterSharedVolume "群集虚拟磁盘(Test-Extend)" | Suspend-ClusterResource

clip_image041[8]

6) 输入如下命令,检查该LUN是否有做自动分层,在我的测试环境,由于只有1个Mirror层,因此并未做分层

Get-VirtualDisk Test-Extend | Get-StorageTier

clip_image042[8]

7) 使用如下命令检查虚拟磁盘处于哪个存储层

Get-VirtualDisk -Friendlyname "Test-Extend" | Get-StorageTier | FT Friendlyname, @{Name="Size in GB";Expression={($_.AllocatedSize/1gb)}}

由于我们是直接使用群集自动配置的,并且只有一层,因此会发现每个虚拟磁盘LUN都是一个Tier

clip_image043[8]

8) 使用如下命令同时扩展LUN与Tier层

Get-VirtualDisk "Test-Extend" | Get-StorageTier | ? Friendlyname -eq "Test-Extend_Capacity" | Resize-StorageTier -Size 1024GB

clip_image044[8]

9) 当调整 StorageTier 的大小时,VirtualDisk 和 Disk 也会自动跟着调整大小

clip_image045[8]

clip_image046[8]

10) 接下来扩展分区大小(大小单位为B)

Get-VirtualDisk "Test-Extend"| Get-Disk | Get-Partition | ? Type -eq Basic | Resize-Partition -Size 1099511627776

11) 扩展完毕后,可以看到该卷已经是1 TB了

clip_image047[8]

clip_image048[8]

12) 当调整 Partition 的大小时,Volume 和 ClusterSharedVolume 也会自动跟着调整大小。

clip_image049[8]

clip_image050[8]

13) 扩展完成后,使用如下命令将卷恢复IO操作

Get-ClusterSharedVolume "群集虚拟磁盘(Test-Extend)" | Resume-ClusterResource

clip_image051[8]

14) 在群集管理器看到CSV大小已经是1TB

clip_image052[8]

15) 扩展完成


End

猜你喜欢

转载自blog.51cto.com/superdream/2155457
今日推荐