如果说硬件是躯干的话,那软件就是灵魂了。继“用三台GEN8打造一个分布式分层存储-硬件篇”(https://www.chiphell.com/thread-1212326-1-1.html)之后,先奉上真正将一堆硬件转化为真正的分布式分层存储。
分布式存储的方案很多,有swift这样的对象存储,也有cinder(https://wiki.openstack.org/wiki/Cinder)这样的块存储。这里我将用新一代Windows Server(codename: Threshold)中内置的分布式存储功能(Shared Nothing Storage)来打造。
下面是软硬件及网络的简单介绍
--------------------------------
硬件部分:三台GEN8,每台配置如下:
CPU: E3-1230V2内存: 16GB系统盘: Seagate Pulsar.2 200GBSSD层:LSI Nytro WrapDrive 400GB PCIe SSD (100GB x 4)HDD层:Seagate 7200转 2TB HDD x 2
网络:Netgear JGS524E 24口简单网管交换机,具备端口聚合能力。
软件部分:Windows Server Threshold Technical Preview
概念和逻辑架构
-----------------
下面是这个分布式存储的概念示意图:
1.jpg (89.08 KB, 下载次数: 7)
上面图中的三个方框就是三台GEN8啦,红框框之上的就是使用这个存储的应用或者虚拟化软件了。示意图中每个节点有两块磁盘但通过个部署Shared Nothing Storage的群集,每个节点的Storge Space的存储池中都能看到这个群集中所有节点上的所有磁盘,从而形成一个软件的共享存储总线(Windws Server 2012 R2或更早的版本都要求硬件共享存储)。然后在这个存储池中可以建立一个或多个虚拟磁盘。这些虚拟磁盘对外提供的服务事实上有很多种,包括SMB文件共享、iSCSI等等。
安装和配置步骤
-----------------
首先当然是在三台GEN8上都安装上Windows Server Threshold的操作系统软件,Windows Server的系统相信傻瓜都会安装。一路下一步就对了。不过作为Windows故障转移群集需要加入域工作,这点不要忘记。
此时查看每台GEN8上的服务器管理器还只能看到本机的4块SSD和2块HDD
2.png (199.4 KB, 下载次数: 5)
接着在每台GEN8上安装文件服务器角色和故障转移群集角色。并按照要求重启服务器。然后就是创建群集了。这里为了方便我用PowerShell命令行描述省得要做很多截屏。
#Create cluster
New-Cluster –Name CLUSTER-MSG8-1 –Node server-msg8-1,server-msg8-2,server-msg8-3 –NoStorage
# Set cluster properties
(Get-Cluster).DASModeEnabled=1复制代码
此时,打开每台GEN8的服务管理器,可以看到三台GEN8上面所有的12块SSD和6块HDD。
3.png (251.75 KB, 下载次数: 9)
接着我们就可以创建存储池了。
#Create storage pool and define storage tiers
New-StoragePool -StorageSubSystemFriendlyName *clustered* -FriendlyName Pool1 -EnclosureAwareDefault $true -AutoWriteCacheSize $true -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-PhysicalDisk | ? CanPool -eq $true)复制代码
然后创建SSD和HDD的分层
New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName SSDTier -MediaType SSD
New-StorageTier -StoragePoolFriendlyName Pool1 -FriendlyName HDDTier -MediaType HDD复制代码
当然你也可以通过图形化界面来创建上面的存储池,如下面的步骤:
4.png (186.02 KB, 下载次数: 8)
5.png (302.79 KB, 下载次数: 7)
不过如果你是通过图形化界面创建的存储池,还需要在PowerShell命令行中运行下面的命令来设置一些界面上没有的属性。
Get-StoragePool -FriendlyName pool1 | Set-StoragePool -EnclosureAwareDefault $true -AutoWriteCacheSize $true -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror复制代码
创建好的存储是长这个样子的
6.png (181.85 KB, 下载次数: 9)
如果看物理磁盘的那页能看到所有的18块磁盘
7.png (246.95 KB, 下载次数: 6)
有了存储池以后就是在上面创建虚拟磁盘了。
#Set ReFS Format Version
invoke-command -ComputerName server-msg8-1,server-msg8-2,server-msg8-3 {REG ADD HKLM\System\CurrentControlSet\Control\FileSystemUtilities /v RefsFormatVersion /t REG_DWORD /d 2 /f}
#Create virtual disks
$ssd = Get-StorageTier -FriendlyName SSDTier
$hdd = Get-StorageTier -FriendlyName HDDTier
New-Volume -StoragePoolFriendlyName Pool1 -FriendlyName VD1 -PhysicalDiskRedundancy 1 -FileSystem CSVFS_REFS -StorageTiers $ssd, $hdd -StorageTierSizes 340GB, 3800GB
#Disable ReFS Integrity Streams
set-fileintegrity C:\ClusterStorage\Volname1 –Enable $false复制代码
程序执行完以后的截图
11.jpg (181.93 KB, 下载次数: 9)
此时看群集管理器中,可以看到新建的虚拟磁盘。从下面的图中我们能够看到这个虚拟磁盘采用的是镜像,Column是2,条带是256KB。
12.jpg (84.9 KB, 下载次数: 8)
更多有关该虚拟磁盘的详细信息可以通过PowerShell命令行看到。
13.jpg (133.41 KB, 下载次数: 8)
我们还能看到这块虚拟磁盘SSD层和HDD层中的空间大小
14.jpg (119.13 KB, 下载次数: 7)
到此为止我们已经有了一部分布式的剧本冷热数据分层的存储。
后续有时间的时候我还会再奉上应用篇及性能测试。不过那个部分同2012和2012 R2上的Storage Space就没有大的分别了。
评论
楼主是什么行业的,IT培训业?
评论
哇塞,chh是不是专业论坛啊?
评论
这个
评论
凶猛
评论
支持这样的帖子
评论
很专业!看不懂英文的!
评论
对楼主的应用环境很感兴趣
评论
lz不只是豪,还是有文化的豪,再次膜拜
评论
好专业啊
评论
如果是企业级的应用,可能会这么用。家用还是太折腾。DS414虽然性能差点,弄个raid 5也足够家用了。
评论
Windows Server(codename: Threshold)这个倒是了解不多。
1 这个实例做了SDD、HDD层,请问SDD能作为HDD层的cache吗?
2 实例中虚拟磁盘是镜像模式,请问是三个集群互为镜像?column2是容错值(两个磁盘)?请说明容错的策略。
3 磁盘的IOPS能负载均衡吗?
4 请问有跟VSAN的性能对比吗?
评论
LZ估计是运维~~~~~
评论
我只能说楼主亮瞎了我的狗眼,够专业,其实普通用户更关心的是实现了哪些直观的功能。不过楼主帖子质量各方面很高。
评论
诶iii
Win Server10 预览版都用上了? 没注意到这功能。
实际上是建立 群集卷吗?
不过,可以不用外部共享 箱体,太爽了。
评论
12块ssd做完阵列只有340G?
评论
# Set cluster properties
(Get-Cluster).DASModeEnabled=1
http://msdn.microsoft.com/en-us/library/aa371422(v=vs.85).aspx
这个命令好像在 技术预览版中是不支持的。。
好像楼用主用到的部分,并不是 新版中的特性呢。。
评论
看着只有膜拜的份了···
评论
非也,只是测试时选了两个数字作为例子而已。
SSD实际容量可用容量应该是92GB X12/2 = 552GB。下面我用550GB SSD层和5400GB HDD层重新建了一个虚拟磁盘。见下面的截图。
14.jpg (122.6 KB, 下载次数: 0)
评论
在预览版中就支持。
评论
群集共享卷是这个分布式存储之上的功能,看你的需求可以启用也可以不用。
评论
请问,这样做的好处是什么?
评论
1 这个实例做了SDD、HDD层,请问SDD能作为HDD层的cache吗?
可以作为写缓存,大小你可以设置,如果不设置就想我这里,默认是1GB。
2 实例中虚拟磁盘是镜像模式,请问是三个集群互为镜像?column2是容错值(两个磁盘)?请说明容错的策略。
三个节点在一个群集中,但数据我选择的只留两个副本,所以数据是散列在三个节点中。但能够保证的是,同一份数据的两个副本一定不会出现在同一个节点。
Column是说一份数据能够散列在几块磁盘上。理论上这个值越大性能越好。详见http://social.technet.microsoft. ... ide_how_many_to_use
3 磁盘的IOPS能负载均衡吗?
能,纯从性能角度,我现在的配置可以设置为Column=6 (取决于数量最少的那层硬盘数量)。相当于同时读写6块磁盘,也就是效果等同于6块磁盘做了RAID0。但那样也就没有容错了。
4 请问有跟VSAN的性能对比吗?
VSAN了解不多,只知道处于某些原因,他的默认column数量是1。
评论
优势在硬件篇开头提过。
https://www.chiphell.com/thread-1212326-1-1.html
评论
谢谢回复!统一存储又多了一个选择方案。
这个真的和VSAN有很多类似特性,但是VSAN结合了DSR和HA两大特性,还有丰富的策略选择。基于linux内核,我还是会选择VSAN方案。
再次感谢,有空再去看看微软的技术白皮书。
评论
第三点的那个,补充一个中文链接
http://social.technet.microsoft. ... ide_how_many_to_use
英文不好勉强翻译的。虽然找了2个校验,但也草草就结束了。
就我看过的资料来说, 系统会自动轮询数据,
确保数据都分散到每个硬盘上,对于这里,开启箱体意识,应该是会按不同机箱进行分类,避免都在同一个机箱里的情况。
评论
我也只是看到文档里说,不支持的。可能是说功能上的吧。。
但不会有错误。。
有没有在 2012 R2中测试过?
测试预览版里写的是增加2个新功能(存储部分),
一个是QOS,服务质量管理,用来针对不同请求,提供处理优先级。
另一个是叫SR的数据复制服务,是一种容灾方案,即将节点A的磁盘内容 复制到 节点B中,也是在群集里,但可以不再一个地理位置。
这两部分都没用上,这个功能可能之前版本就有的吧?
群集共享卷这个东西是我之前看Hyper-V 资料看到的,
记得是2.0 版本中吧,需要CSV,而CSV必须将存储放到外部机箱里,同时链接不同服务器,查了一下,这个方案非常麻烦,首先就机箱非常难弄到,其次,硬盘必须是SAS的,才能同时连接2个不同设备。
所以,预订使用的备用方案是iSCSI。
之后,Hyper-V3.0 中添加新功能,支持SMB3.0 作为存储盘,不需要CSV 了,所以也么这么麻烦了。
这个就是强制直接开启DAS模式来工作吧?不过,这样一来,扩容也比较容易了,可以组多个超低功耗的平台,比如 ATOM 的服务器版子
评论
没接触过这种分布式技术呢。那数据寸到各节点的分配逻辑是怎样的呢?挂掉硬盘或者节点掉了是怎么处理的呢?
评论
数据寸?这个名词我很陌生。它的英文是什么?
简单来说Storage Space对于数据的分布也采用同RAID类似方式,条带,镜像,奇偶校验。不过更加灵活(可以通过不同参数的调整找到适合自己的搭配,还可以将不同容量的盘放在一个池子中,不仅能用还能最大限度利用其容量,扩容也容易,只要是以Column数量的整数倍增加磁盘就可以实现在线扩容,等等还有很多)和可以跨服务器。
至于它的容错能力见下面的链接。
http://social.technet.microsoft. ... Enclosure_Awareness
评论
写错了 是存~
性能如何呢?
性能还没有时间测。我会另外开贴测试它的性能,不过估计要晚些时候了。
评论
是说 列数(NumberOfColumns) 和 交错(Interleave) 这两个参数吧
前一个指的个数,也就是整数
另一个就是大小,默认是256KB。 这个值越大,顺序读取的性能会比较好,相反随机读取的性能会降低。 可以使用Powershell在创建时指定(建立后无法更改)
评论
家里用麻烦,企业的话,为何不上linux平台,xfs之流比这性能强多了
评论
技术壕,只有膜拜的份
评论
请问这个例子是双列双路镜像吗?
虽然是两个副本,但是存放数据(同一个条带)的物理磁盘物理磁盘容错率是一个,对吗?
评论
非常感谢!我估计是通过群集IP来做DNS轮询。
评论
其实这个倒不一定,因为有SSD做缓存,只要命中了就和Column、Interleave参数无关。
评论
群集我也没用过,不是很清楚
不过,有可能会多了一个 仲裁服务器的机器,来管理平衡的。
分层我还没用过,不是很清楚,
唯一知道的是,如果用的不是固定配置,是无法启动分层的。
评论
上面的配置中,任何数据块都确保有两个副本,且这两个副本是出于不同的服务器上。所以保证数据有一个副本可用都不会影响数据的可用性。
这个配置的容错能力在我给的链接中有表述。可以在一块磁盘损坏或者一台服务器损坏的情况下连续工作。这是保守的说法。事实上,如果坏两块磁盘,只要这两块磁盘上面没有相同的数据块,就不会影响可用性。
评论
通常故障转移群集是使用floating IP来在主备节点间切换的。而对于横向扩展的群集,则比较复杂,通常的做法是通过一些规则,比如源地址哈希、目标响应服务的能力等选择是否将访问重定向到别的可用的群集节点,从而来实现高可用的同时具备负载均衡能力。这种横向扩展群集并不需要一个floating IP来提供服务。
评论
分级存储不是简单的把SSD作为缓存,缓存中的数据不是持久的,也就是迟早 是要写入到最终位置(比如HDD),但分级存储中,SSD是一个持久化数据存储层。也就是说,对于热数据来说SSD就是其最终位置,而没有再次将缓存回写入持久化层的过程。我上面提到在Storage Space中你可以手工配置写缓存的大小,这个写缓存就是利用了SSD层中的一部分空间来提高第一次数据写入时的速度。这个缓存完全可以设置为0,但依然是分层存储,系统会每天晚上根据权重将热数据搬移到SSD层中。所以SSD层和HDD层有一样的Column和Interleave。
事实上从2012 R2中计算Column数量的公式就可见一般。
Max number of columns = Floor[(Number of disks in smallest tier - 1) / 2)]
*When Enclosure Awareness was enabled, then had to factor the maximum number of disks in smallest tier per JBOD enclosure.
评论
再次感谢。
评论
太高大上了
评论
我是进来看壕的
评论
自动识别热点数据?
评论
我用单机一块ssd一层, 3块hdd一层,simple模式,然后在上面创建虚拟机,测试磁盘性能,感觉性能很差,write back cache感觉没启用似的,热点数据这个不好测试
评论
感谢楼主分享教程,楼主发帖辛苦了。
评论
是,采用的是WSL的算法。
评论
在2012 R2或以前的版本上你这样性能肯定不好,虽然HDD有三块,但Column的数量是由那个磁盘数量最少的那层决定的。所以你这里Column只会是1。
至于写缓存,默认只有1GB,你可以尝试设置更多的缓存,比如将SS一般甚至接近全盘作为写缓存。
评论
单台网件的交换机会不会成为整套san系统的性能瓶颈
还影响到可靠性和高可用性
因为这不是三层交换机吧
评论
话说这种方案IOPS有限制不?
还是无限制?
评论
这这这,是典型的IPTV应用案例啊。 规模有点小,换成26盘位的 RACK SERVER就可以直接上线的节奏。
评论
JGS524Ev2有48Gb的带宽,交换机本身不会成为性能瓶颈。要说这是千兆是瓶颈的话,GEN8本身的两个千兆网口也是瓶颈。理想的话当然是用万兆,那就不是用GEN8可以解决的了。
至于高可用性,两台交换机当然比较好,不过交换机故障率还是很低的。自己瞎玩对这一块不太在乎。
评论
有限制。目前限制是12个节点和240块磁盘。未来可能会扩大到64个节点,但节点越多,需要维护的元数据就元多,对于节点的硬件要求会变高,相应时间(延迟)也会变大。还是要看你的应用类型和需求,并不是IOPS越高越好,有的应用对于延时更加敏感。
评论
这么高档 干嘛用
评论
技术贴!
评论
看了楼主的帖子,感觉自己和文盲一个级别……
评论
生产环境全部是moosefs的路过
评论
话说用混合硬盘来搭的话。。是不是没那么麻烦。。。人家自动把热数据给加速了。。
评论
专不专业不知道,壕是真的mark,本来是准备在家里随便搭个nas,看了一圈最后决定研究一下vsan和openstack了
贵坛水好深
评论
mark,本来是准备在家里随便搭个nas,看了一圈最后决定研究一下vsan和openstack了
贵坛水好深
评论
围观技术帝
另外想知道什么家庭应用?
评论
好像很牛逼的样子
评论
期待性能测试。据说windows的存储和vsphere的兼容性不太好导致性能低下,实测过其iscsi性能感人。。。
评论
楼主有空看一下这篇,虽然有枪文的嫌疑,但数据还是有点用的。其中windows的存储性能似乎不是很理想,期待你的测试和优化。
http://blogs.serioustek.net/post ... t-iscsi-part-1-aspx
评论
完全就是企业级解决方案,楼主的分享真的是太强大了。IP-SAN在企业级的应用里实际还是非常有用的。
评论
只有壕才有资格讨论cluster
评论
好强啊,技术贴,值得学习。
评论
PS C:\Windows\system32> (Get-Cluster).DASModeEnable=1
在此对象上找不到属性“DASModeEnable”。请确认该属性存在并且可
所在位置 行:1 字符: 1
+ (Get-Cluster).DASModeEnable=1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [],Run
+ FullyQualifiedErrorId : PropertyAssignmentException
评论
新的版本改了,用这条命令Enable-ClusterS2D
详细的步骤可以看
http://blogs.technet.com/b/larry ... -private-cloud.aspx
评论
不是新的2016,具体环境如下:
Windows Server 2012 R2上安装vmware workstation。在vmware workstation上建立四台机器,分别是win01、win02、win03和DNS。DNS机器做建立域test.com,win01、win02、win03加入域后起故障转移集群、文件服务器和文件角色管理工具,使用静态IP(192.168.205.101、192.168.205.102、192.168.205.103)。执行你主贴中New-Cluster开头的这行命令建立集群并加上-StaticAddress 192.168.205.100没有问题。下一步执行(Get-Cluster).DASModeEnable=1的时候出现上述问题,在图形界面建立存储池在右下方的磁盘列表中只能看到本机的,正上方的磁盘列表中出现三个电脑的磁盘,但是以每个电脑为单位,而不是整个集群为单位认到所有硬盘。
求指点。
评论
Storage Space Direct是2016的新功能,之前的版本不支持。
评论
我拜读了那个帖子,里面的内容不敢苟同。我实测,Windows Server 2012 R2的iSCSI Target达到1670MB/s吞吐和23,000 IOPS(在网络和存储都不是瓶颈的情况下)。
当然Windows自带的iSCSI Target和高端的IP-SAN还是有很大差距的,比如那种IP-SAN通常是直接访问快存储,而不是用一个文件来模拟一个LUN,服务器端的缓存也是也是微软的iSCSI没有的,且只能支持故障转移群集,不能够很好的横向扩展。
不过现在微软主推的是SMB Direct存储,上面的这些问题都能够很好的解决。关于SMB和iSCSI的比较,我今天稍稍总结了一下,供你参考。
http://blogs.technet.com/b/larry ... -one-is-better.aspx
评论
有个问题啊,节点之间的IO会是瓶颈吧。
估计要上10G,但是你G8上了PCIE的SDD后没地方给你上10G卡了
评论
GEN8已经只剩一台了,我用的是实验室的机器测的,那组机器有56Gb的网卡,所以网络在这里不是瓶颈。
评论
我的意思是Gen8这机器,56Gb网卡和你的PCIESSD是只能二选一的
评论
LZ的三台GEN8是用什么网络组起来的?
现在随着SSD的普及,网络的性能和成本才是瓶颈了
评论
我的回复是针对网友brunolee提到StarWind对于Windows iSCSI Target软件本身性能的质疑。和GEN8无关。
评论
这样的配置,如果存储软件足够成熟给力,稳定性不谈,接近中高端存储的性能了吧?
印象中,3Par的部分存储和IBM XIV的架构和这个有点类似
LZ真会玩啊
评论
我已经看了3遍了,先进的1B,不要骂我灌水。
评论
楼主好威猛啊~膜拜中,,,,
评论
这个太牛了!
评论
首先是土豪,再是技术帝。
不过楼主的3台gen8已经开始卖了,
评论
依稀看见一个it
评论
这样的帖子才三页 唉
楼主 那个画图软件是什么。。。
评论
神帖… smb direct 那篇真是开了眼界 有空也玩一玩
评论
这个是测试版的系统吧,等正式版出了打算铲了重来?
评论
你好楼主,我查看了微软的文档,没有找到你一楼倒数第二张图里面那个 |fl 的管道相关的信息
https://technet.microsoft.com/en-us/library/hh848644(v=wps.630).aspx
请问这个管道相关的技术资料哪里可以查看?
评论
还真有人玩家用分布式存储,而且还是纯ssd ,有米啊。可惜网络恐怕是个大瓶颈我擦 身为搞 IT的我竟然看的非常吃力。。。。
评论
太专业了。
可是这个是用来干嘛的呢
评论
支持楼主一下...向楼主学习
评论
对楼主的应用环境很感兴趣 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收
·日本中文新闻 唐田绘里香为新剧《极恶女王》剃光头 展现演员决心
·日本中文新闻 真子小室夫妇新居引发隐私担忧
·日本中文新闻 前AKB48成员柏木由纪与搞笑艺人交往曝光
·日本学校 {日本国际学校}梅田インターナショナルスクール
·日本学校 LINE:sm287 陳雨菲、20歳、台湾からの留学生、東京に来たばかり
·日本留学生活 出售平成22年走行48000km 代步小车
·日本华人网络交流 円相場 一時1ドル=140円台まで上昇?
·日本华人网络交流 问日本华人一个问题
·日本旅游代购 富山接机
·生活百科 英国转澳大利亚转换插头
·汽车 【求助】修车遇到困难怎么办?