我目前使用KVM将CentOS 7服务器设置为VM主机。它有一个4TB (2x2TB镜像) ZFS数组,将用于VM和文件存储。这是在服务器2012 R2之上从头开始重建AD域的过程的一部分(这个老IT人员留下的当前R2域有点混乱,并且运行在一台旧的Core2时代的桌面机器上)。我们需要服务器2012 R2来实现组策略。7/8.1/10的机器混合在一起,但每台机器都可能在几个月内运行Windows 10。用户在作为Z:挂载到他们机器上的服务器上有一个共享,他们也访问服务器上的共享,这些共享保存着各个部门使用的文档。我们还将实现一个新的备份系统(目前最有可能的选项是Crashplan/羰基特/Mozy)。
该网络由主办公室中的大约55台计算机以及办公室外的其他计算机组成,这些计算机稍后将通过OpenVPN连接。总共,我在看大约150台电脑。至少也有很多用户。此外,新域名将有大约一到二十多个安全组。
我正在决定如何最好地为网络处理文件存储和共享。具体来说,我是否应该使用Samba,如果不是,是否应该将文件存储在磁盘映像中,还是在ZFS数组上创建一个数据卷,然后将其作为原始块存储设备传递给Server 2012 VM。
将文件存储在磁盘映像中供VM使用对我来说一直是一个糟糕的解决方案。它很简单,而且会起作用,但我并不特别喜欢它。如果我需要将这些文件传输到Windows服务器,我必须挂载映像,或者启动VM。将所有文件保存在一个图像中是方便的,但如果传输被中断,则是一个问题。这可以通过使用rsync之类的方法来解决,但这意味着我只能传输到另一个Linux机器上。使用磁盘映像的另一个问题是,我被限制在VM内部运行备份软件(否则,我将失去文件级访问权限)。尽管我想我可能可以将映像只读地挂载到主机上,或者将映像添加到另一个VM中,专门用于备份软件的只读访问。
我知道ZFS允许您创建数据卷,这些数据卷充当块级设备,然后可以作为物理驱动器传递到VM。这基本上意味着在ZFS数组中有一个NTFS分区。我可以让另一个VM来访问这个卷,它将处理备份软件,或者我可以将卷作为只读安装在裸金属机器上,并可能在Docker容器中运行备份软件。我还可以通过ZFS快照将文件传输到另一个Linux主机。传输到Windows主机仍然意味着挂载卷或启动VM。
最后一个选项是将所有文件直接存储在ZFS数组中,然后运行Samba通过网络共享它们。不过,我希望有一个相当复杂的权限层次结构,我担心通过Samba来管理它(我只在主服务器环境中使用过Samba )。另一方面,我知道我可以有效地管理服务器2012 R2中的层次结构,特别是使用Powershell。另一件需要考虑的事情是,我可以直接在VM主机、VM内部或Docker容器中运行Samba,所以它相当灵活。
从长远来看,这些选项中哪一种会给我带来最大的灵活性,而不会带来不必要的开销或复杂性?我希望尽可能地将我的职责分开,所以我喜欢让Samba在Server 2012 R2处理AD和组策略时共享这些文件(尽管为此目的,我还可以运行单独的Server 2012 R2实例而不是Samba )。然而,正如我所说的,我对在这样规模的网络中使用Samba犹豫不决。如果我使用Samba,我也会担心文件权限故障排除方面的困难(Windows已经够糟糕了,这是本机选项)。
任何其他可能的解决办法也是受欢迎的。
发布于 2016-08-08 12:27:43
我们有一个类似的设置,有一个很大的优势,我们的ZFS存储由Solaris提供。这有什么大不了的?Solaris有一个集成的SMB服务器。只要您的Z池是以一种让您在晚上睡得很好的方式来保护的,我建议您这样做:
好处:
如果您决定采用UNIX方式,我可以给您我的安装文档
https://serverfault.com/questions/794771
复制相似问题