WinSrv2016横向扩展存储(SDS)[无共享存储]

简介:

在Windows Server 2016中引入了一个新存储功能,这个功能非常类似其他的横向扩展存储解决方案,如VMware的VSAN,可以进行存储空间的直连,使用的是存储节点的本地存储,也就是使用每一个存储节点的内部磁盘设备构建HA存储系统连接到单个的存储节点:

clip_image001

所有的节点是利用SMB3来直接与存储空间进行通信:

clip_image002

存储空间无缝集成组成Windows Server的软件定义存储功能,包括横向扩展的文件服务器,群集共享卷,存储空间和故障转移群集。

clip_image003

除此之外按照同样的道理也可以提供给Hyper-V虚拟机进行使用

clip_image004

那么下面我将利用Windows Server 2016 TP4为大家看看微软新服务器操作系统所能带来的类似解决方案是怎样的:

按照微软的要求为简单是至少需要4个第二代的Hyper-V虚拟机完成实验,每个虚拟机至少4个数据磁盘。

(https://technet.microsoft.com/en-us/library/mt126109.aspx)

注意:存储空间直连不支持MPIO哦。

由于测试资源有限,所以这里我准备了3台服务器:1台DC;2台Windows Server 2016的域成员服务器,每台添加了2块10G的磁盘,每台2张网卡,一个对外,一个心跳

下面我们开始为每一个节点安装故障转移群集角色

Install-WindowsFeature –Name File-Services, Failover-Clustering –IncludeManagementTools

clip_image005

下面开始验证群集是否具备创建存储空间直连的先决条件:

clip_image006

选择“仅运行选择的测试”因为我们这里要测试存储空间直连,默认该选项为勾选。

这里我取消勾选了存储,因为我不是测试共享存储,我是要做存储空间直连。

clip_image007

当然也可以用Powershell进行验证,但必须带上-Include参数,带上Storage Spaces Direct值:

Test-Cluster –Node Stor1,Stor2 –Include "Storage Spaces Direct",Inventory,Network,"System Configuration"

验证完成,虽然警告,但还是可以创建的

clip_image008

下面开始创建群集,包含文件服务器

New-Cluster –Name StorCluster –Node Stor1,Stor2 –NoStorage -StaticAddress 192.168.11.153

clip_image009

创建完成后,我们可以查看群集网络

clip_image010

下面启用存储空间直连(Storage Spaces Direct)

这里启用又分为几个类型:

SATA SSD+SATA HDD:Enable-ClusterStorageSpacesDirect

NVMe SSD+ SATA SSD:Enable-ClusterS2D –S2DCacheDevice NVMe

所有的SATA SSD或NVMe SSD来配置SDS:Enable-ClusterS2D -S2DCacheMode Disabled(禁用了S2D缓存)

在SATA SSD+SATA HDD配置中,存储空间使用了SSD的性能+HDD的容量进行分层。

在NVMe SSD+SATA SSD配置中,存储空间使用了NVMe SSD的性能+SATA SSD的容量进行分层。

clip_image011

下面接着创建存储池

创建存储池可以用Powershell进行创建:

New-StoragePool -StorageSubSystemName <FQDN of the subsystem> -FriendlyName <StoragePoolName> -WriteCacheSizeDefault 0 -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem -Name <FQDN of the subsystem> | Get-PhysicalDisk)

示例:

New-StoragePool -StorageSubSystemName StorCluster.contoso.com -FriendlyName StorPool -WriteCacheSizeDefault 0 -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem -Name StorCluster.contoso.com | Get-PhysicalDisk)

clip_image012

当然也可以用图形化来创建:

clip_image013

指定存储池名称

clip_image014

选择存储池的物理磁盘,以及磁盘模式

clip_image015

这里要用多少块就选多少块,可以理解为2台服务器每台2快硬盘被假设看成一台服务器的4块硬盘构建成了群集存储池

clip_image016

开始创建

clip_image017

完成后可以创建虚拟磁盘

clip_image018

可以看见我们的群集存储池:

clip_image019

开始创建虚拟磁盘

clip_image020

这里为什么是33G呢?4块10G加起来应该是40G对吧

clip_image021

原因在创建了存储池以后,每个磁盘都有一小部分为已占用空间:

clip_image022

如果我们有2中类型的磁盘,那么这里可以创建存储层(分层)

clip_image023

下一步就是出现的隐藏技能了:这个机箱感知还是非常有意思的,可惜资源有限,无法测试了

clip_image024

下面就是选择存储数据布局了:类似于RAID0,RAID1,RAID5

clip_image025

clip_image026

clip_image027

根据选择的布局不同实际可用的大小也不一样。

Simple可用大小为32G

Mirror可用大小为14

Parit可用大小为21

然后选择创建的虚拟磁盘大小(不能大于可用空间容量)

clip_image028

开始创建

clip_image029

完成后就可以开始创建卷了

clip_image030

clip_image031

选择虚拟磁盘

clip_image032

创建卷又从虚拟磁盘中消耗一点空间

clip_image033

分配驱动器和文件夹了,如果我要做共享存储卷那么我这是可以选择不分配驱动器和文件夹的

clip_image034

选择卷的格式是ReFS或NTFS,以及单元大小名称等

clip_image035

创建

clip_image036

创建完成以后可以看到改卷了

clip_image037

这是我们可以把该卷转成群集共享卷了

clip_image038

看到这相信大家明白这里是大家熟悉的功能和原来的味道了

clip_image039

最后再说下存储池的优化部分:

随着时间的推移,物理磁盘的添加或移除或数据覆盖或删除会导致该池的物理磁盘数据分配不均。在这个情况下会出现某些磁盘变满,而有些比较空,因此管理员可以进行优化维护任务。

Optimize-StoragePool <PoolName>

示例:

Optimize-StoragePool StorPool

clip_image040

也可以使用如下PS进行监控优化的进度

Get-StorageJob | ? Name –eq Optimize

clip_image041

如果优化意外停止工作可以进行修复:

Get-VirtualDisk | Repair-VirtualDisk

今天就分享到这,内容信息庞大,还请各位慢慢消化,我都还晕乎乎的,也需要消化消化。特别感谢“隔壁老王”对我的指导才能顺利完成,谢谢。










本文转自 ZJUNSEN 51CTO博客,原文链接:http://blog.51cto.com/rdsrv/1734673,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
存储 编解码 Linux
解析高性能、可横向扩展的共享存储文件系统昆腾StorNext
全球的大型传媒机构、工作室和后期制作公司,正在使用StorNext系统构建自身的协同合作式视频工作流程;世界各地的政府机构、科研机构等等,也在通过StorNext系统,存储、保护并归档海量的珍贵研究数据。
308 0
解析高性能、可横向扩展的共享存储文件系统昆腾StorNext
|
11月前
|
存储 Swift 索引
带你读《存储漫谈:Ceph原理与实践》——2.1 数据寻址方案
带你读《存储漫谈:Ceph原理与实践》——2.1 数据寻址方案
|
存储 缓存 固态存储
数据存储方式——KVELL:快速持续键值存储的设计与实现
数据存储方式——KVELL:快速持续键值存储的设计与实现
数据存储方式——KVELL:快速持续键值存储的设计与实现
|
存储 算法 NoSQL
集群-集群储存结构设计|学习笔记
快速学习集群-集群储存结构设计
73 0
集群-集群储存结构设计|学习笔记
|
存储 缓存 固态存储
数据混合存储 | 学习笔记
快速学习数据混合存储
112 0
数据混合存储 | 学习笔记
|
存储 编译器 程序员
C++内存分区模型分析与实例以及扩展
C++程序在执行时,将内存大方向划分为**5个区域** 运行前: - 代码区:存放**函数体的二进制代码**,由操作系统进行管理的 - 全局区(静态区):存放**全局变量和静态变量以及常量** - 常量区:**常量**存储在这里,不允许修改 运行后: - 栈区:由编译器自动分配释放, 存放**函数的参数值**,**局部变量等** - 堆区:**由程序员分配和释放**,若程序员不释放,程序结束时由操作系统回收
171 0
C++内存分区模型分析与实例以及扩展
|
存储 安全 Linux
unraid Nas网络存储的优点及缺点大全
unraid Nas网络存储的优点及缺点大全
|
存储 运维 算法
带你读《存储漫谈Ceph原理与实践》第二章Ceph 架构2.1数据寻址方案
《存储漫谈Ceph原理与实践》第二章Ceph 架构2.1数据寻址方案
|
存储 固态存储 测试技术
揭秘VDI存储测试:4节点SDS模拟12000虚拟桌面
- 如何将VDI存储I/O特征抽象化? - Full Clone和Link Clone桌面在启动和登录中的不同表现、成因分析; - 为什么说全闪存VDI系统,带宽可能成为瓶颈?
2141 0

热门文章

最新文章