WSFC里面的文件服务器群集,文件始终是一份,数据始终存放在群集磁盘中,经过群集来维持文件服务器这项服务始终持续可用,在2012以前同一时间WSFC只能有一台节点对外提供文件服务,2012开始群集引入SOFS,同一时间多个节点均可以对外提供服务,可是注意,数据仍然是一份,2012是根据服务器链接随机决定访问到的节点,2012R2开始根据share目录来决定随机访问到的节点,便是说,数据仍是一份,只不事后来多个节点同时对外提供服务,但都是访问的不一样节点。算法
相比较而言,WSFC文件服务器群集是一种高可用架构,DFSR则是一种复制架构,同一份数据会被复制到多个成员服务器上,而后用户经过DFSN的一个逻辑名称去访问复制目标,后台由DFSR机制去驱动数据复制数据库
每种方案都有本身的利弊,用户在实际环境使用时能够根据须要选择适用于本身的方案windows
DFS:适用于存放文件,应用,图片,等小文件,DFS复制不适用于复制打开后不会关闭的文件,例如VM,SQL文件,DFS复制最好是结果集文件,不建议频繁增删改的目录进行DFS复制,DFS复制经过DFS特有机制实现,管理员须要熟悉DFS复制原理,经过DFS能够针对复制时间进行控制,能够和AD集成控制不一样站点子网客户端定位不一样DFSR服务器,当侦测到一台DFSR成员服务器宕机,DFS能够自动完成切换,复制期间全部DFSR成员服务器均可以读写。缓存
WSFC 传统文件服务器群集:简称TFSC(Traditional file server cluster),不一样于DFS,若是将文件共享部署为TFSC架构,那么同一时间将只有一台节点对外提供服务,另外节点待命,当对外提供服务节点宕机,其它节点完成故障转移,TFSC支持和BranchCache整合,利用缓存提升用户对文件的访问速度,若是用户比较熟悉WSFC,那么能够考虑使用WSFC架构来为运营文件服务器群集,文件集中存放在共享存储,若有必要能够针对共享存储进行统一备份,不须要再单独学习其它功能。理论上来讲传统文件服务器群集支持存放文件,应用,图片,大文件,数据库文件,虚拟机磁盘文件,ISO等,可是针对于数据库文件,虚拟机磁盘文件最佳仍是建议存放至SOFS目录,由于能够结合SMB witness,DNS轮询等技术实现全部节点的AA架构,再配合SMB多通道,RDMA技术,性能更好,故障转移时间更短,TFSC只能作到AP架构。服务器
WSFC 横向扩展文件服务器群集:简称SOFS(Scale-Out File Server),它最大的优点就是能够实现全部节点的AA模式,同一时间全部节点均可以对外提供服务,这样带来的好处就是故障转移时间更短,仅是一个重定向服务器的过程,对于存放虚拟机,数据库文件,性能更好,它的劣势就是对于信息工做者的文件,例如文档,图片等小文件并不适用于,这类文件在SOFS上面性能会缓慢,有时还会出现问题,由于SOFS不支持文件服务器的任何缓存,SOFS目前为止仍是专门为虚拟机,数据库文件设计。网络
从归档的角度来讲不管是SOFS仍是TFSC均可以存放虚拟机磁盘文件,数据库文件,可是从正在使用的角度来讲,假如是正在使用的虚拟机或数据库,则仍是SOFS更加实用,由于SOFS底层是CSV,TFSC底层直接是群集磁盘,当发生故障转移时TFSC须要通过卸载挂载磁盘过程,SOFS底层是CSV,所以故障时间要短不少。架构
存储复制:Windows Server 2016新增技术,DFS复制是文件目录级别,存储复制是分区级别,DFS只支持复制关闭的文件,存储复制无此限制,DFS是分布式的,各个节点均可以读取,存储复制备站点暂时不能够读取,DFS能够提供统一对外名称,名称访问与复制功能分离,存储复制不提供统一对外名称,DFS主要用于复制关闭的文件,信息工做者文件,存储复制主要用于Hyper-V,SQL,文件服务器,大文件,私有云场景,存储复制能够在单机场景下帮咱们保证分区级别的数据复制,也能够在群集场景下和WSFC整合,帮助咱们跨站点的复制群集磁盘,保证计算+存储的双重高可用。分布式
具体你们能够根据自身的场景选择合适的方案ide
上面咱们说了一下WSFC和DFS以及最新的存储复制,所适用的不一样场景,接下来咱们再看WSFC和DFS的契合点工具
WSFC和DFS有关系的地方有三点
DFS独立根命名空间群集角色
DFS复制群集,经过DFS群集向外面成员服务器复制
文件共享见证
以前老王曾经有篇文章和你们提到过DFS的一些基础知识,故再也不作过多赘述,简单来讲DFS命名空间有两种,一种是域命名空间,这种架构,当用户访问的时候会经过域控制器查询命名空间服务器,根据算法挑选一台节点进行访问,当一台域命名空间服务器宕机,自动切换至其它节点,另一种是独立根命名空间,这种架构就是咱们不把命名空间数据写入域数据库中,能够选择单机或群集,用户每次查询DFS路径时,由单机或群集来提供服务器路径,单机就是仅一台机器提供空间服务,群集就是咱们在群集中建立一个独立根命名空间的角色,而后经过AP架构,同一时间只有一台节点提供命名空间查询,该节点宕机后切换至其它节点,因为根保留在群集中所以它具备高可用性。此外,存储在群集上的文件共享上的任何数据也是高度可用的,在此实现中使用DFS的价值在于名称空间和连接高度可用,但缺点在于故障转移切换时间对比域命名空间架构略长。
除了直接在群集中部署共享和DFS独立根命名空间角色外,咱们也能够部署域命名空间架构,可是添加已经部署在群集里面的文件共享做为目标,这样既保证了文件共享的高可用,也利用域命名空间提供的快速切换。
DFS复制群集,国内比较冷门的一个场景,从Server 2008R2开始引入,其大概意思是在群集节点上面配置DFS复制目标,让群集做为复制组成员,将TFSC里面的共享复制到远程的单机DFS,或远程DFS群集,远程单机不知道我这面是单机或是群集,只知道来自这个群集计算机给我发送复制 或 我须要向它提供复制,但其实背后是通过群集引擎协调,当其中一个群集节点宕机,远程DFS依然能够和群集计算机复制,只不过已经切换到另一个节点提供复制服务。
操做步骤以下
为每一个群集节点安装文件服务器,DFS管理工具
为群集配置TFSC角色,向导将自动配置DFS复制服务以实现高可用性
输入客户端访问点,远程DFS将经过此名称链接群集DFS,
选择群集DFS要使用的群集共享磁盘
在TFSC主节点开启DFS管理工具
建立DFS复制组,选择复制模型,来源目标,复制策略
应用场景
中心收集:各个分支机构汇总数据复制到总部,总部目标是群集架构,数据存放总部共享磁盘统一备份
灾难恢复:核心业务除了在总部机构经过群集实现高可用,将文件服务器设计成群集DFS目标,而且复制一份数据到远程DFS
文件共享见证,老王以前看到一些国内博客在WSFC上面使用DFS复制来提供文件共享见证,看起来高可用,但其实这不是被推荐的作法
弊病体如今跨站点群集最明显,如下图为例,当前SiteA SiteB两个站点各自两个节点,站点间经过Server 2016存储复制实现存储HA,每一个站点内部有两台DFS复制服务器,两个站点DFS目标服务器组成复制组进行复制,提供的复制路径做为群集文件共享见证。
这样运做看起来没问题,但一旦发生网络分区的状况,就会赶上脑裂,个人意思是指SiteA与SiteB站点网络上失去连接,两个站点各自都拥有到各自站点DFS目标见证的资格,所以两站点内的群集分区都会觉得本身是可用的,每一个站点都将正常执行SQL客户端链接和编写/更新数据库,当网络恢复正常,存储开始复制的时候,一个很是可能的结果是,一方写的全部内容如今都消失了,强制仲裁启动后,被强制启动的一方所更新的内容将彻底盖过另一方。
所以对于文件共享见证来讲,在多站点的状况下,在每一个站点放置DFS复制服务器是很危险的事情,极有可能会致使群集脑裂,到时候就很差玩了,所以群集文件共享见证,DFS很是有讲究,为了不脑裂,能够选择仅部署DFSN不配置DFS复制,或在一个第三方站点部署DFS复制,当两个站点发生灾难的时候,谁能联系上第三个站点的DFS复制路径谁就能得到启动群集。
即使是在单站点数据中心内,若是要使用DFS复制做为群集文件共享见证,也必定要确保不会发生网络分区的状况,不会出现网络不通了但部分群集节点能够联系到一台DFS节点,部分节点能够联系到另一台DFS节点的状况,不然在这段时间内其中一方产生的数据,会在下次网络恢复时被消失。
在WSFC 2008R2 - 2016中咱们能够为群集指定通过复制或未通过复制的DFS路径做为文件共享见证,WSFC 2019开始配置文件共享见证时将进行IsAlive检测,一旦检测到是DFS路径,则直接报错,DFS路径在WSFC 2019中被直接禁止做为见证,WSFC 2019中能够选的见证架构:TSFC共享,单机共享,磁盘见证,云见证,具体你们能够根据自身环境,以及须要见证来完成的事情来选择合适的见证架构。
在WSFC2019以前,只要设计得当,仍然可使用DFS路径做为文件共享见证,WSFC 2019以前微软只是说不推荐这样作,很大程度上会发生脑裂,但老王认为设计得当还是可行的,由于文件共享见证里面仅用于存放群集数据库配置log,记载着当前那个节点的群集数据库paxos标记为最新,这个数据WSFC 2008以后是能够实时从各个节点捞的,节点更新群集数据以后会自动更新log至文件共享见证,即使共享里面log不是最新,也能够随时从节点上获取最新的配置数据 。