本土的SAN – 拓扑结构的想法?

我有兴趣使用以下技术在Linux上手动运行SAN解决scheme:

  • iSCSI的
  • mdadm袭击
  • LVM
  • XFS / GFS / ???
  • 组合的NIC

硬件方面,我正考虑在目标和启动器上使用多个gigE网卡的2台gigE(或更好的)交换机。

人们对于如何configuration这个方面有什么build议,理想情况下是推定完全n + 1(min)冗余?

另外,在iSCSI“结构”中间是否需要一组聚合器主机? 像这样的东西:

目标(使用mdadm)<-gigE->聚合器主机(lvm)<-gigE->启动器

还是这样做更好:

目标(不镜像)<-gig->聚合器主机(mdadm)<-gigE->启动器(lvm)

有很多方法来devise这个,我会对其他人在做类似的事情上有什么经验感兴趣?

SAN将用于VMware映像和通用文件服务(如果可行的话还会加上一些数据库)。

这是一个非常主观的问题,非常依赖于你正在努力完成的事情。

另外,你还问了一些比较低级的问题,这让我相信你之前没有在这个领域工作过,没关系,我们都是从零开始,然后从那里开始。

鉴于这两个意见,我build议你从小处着手,努力工作。

首先从不同主机上的iSCSI启动器(客户端)和iSCSI目标(服务器)开始。 他们可以是直通电缆或可以通过开关,在这一点上并不重要。 有一段时间玩aorund。 添加更多的目标,在你的clinet上创build一个mdadm raid你的iSCSI目标(不要担心,如果你所有的iSCSI目标现在从一个主轴脱离)。 然后开始在客户端上使用LVM。 创build多个PV,将它们添加到VG,然后创build一个LV。 扩大你的LV。 创build你的LV的快照镜像。

真正挖掘LVM,这将是你做其他事情的关键。

接下来添加第二个iSCSI目标服务器。 我也build议在这一点上得到一个体面的交换机,支持LACP和一些pipe理。 Procurve 1800系列交换机是一个很好的底端,Cisco SG-300也是如此。 交换机pipe理和function将在以后变得更加重要,但现在投资它们是一个好主意。 在这种情况下,如果有两台iSCSI目标服务器,您需要重新启动您的服务器。 如果您真的想获得更多乐趣,请添加第二个启动器,然后安装相同的iSCSI目标。 当您尝试让两个系统写入相同的EXT3卷时会发生什么? 把你的卷转换成像GFS这样的东西(这里有更多的参与,但这是目标)。 现在当两个主机写入相同的卷时会发生什么?

现在让我们给我们所有的客户添加两个nic。 现在您需要了解networking绑定[2]。 有什么不同的模式,它们有什么不同。 获取连接两端运行的一些带宽测量工具,用各种绑定模式填充链路。 当你混合模式,以便每个端点不匹配时会发生什么? 当您使用与LACP兼容的模式并且您的交换机configuration为执行LACP [3]时会发生什么? 泡沫冲洗重复你所做的关于上面的存储。

从绑定的接口中删除您的接口。 为目标服务器上的每个接口分配一个唯一的IP。 确保您的目标服务器将通过每个接口共享它的iSCSI目标。 现在使用两个不同的IP地址安装您的iSCSI目标。 当你写每一个会发生什么? 现在configuration多path[4],并玩一段时间。 放下你的目标服务器的网卡之一(删除电缆ifdown的设备等)你在日志中看到什么? 性能如何提高/降低?

现在添加第二个networking交换机。 您可以将networking接口加倍,也可以在交换机之间进行分割。 你应该使用什么样的键合模式? 你应该有两个交换机之间的链接? 你需要启用STP吗?

现在你已经接近了学习的最后阶段,你已经接近了主要的学徒水平。 你不知道这一切,但你比大多数人有更好的理解基础。 从这里您将更好地了解如何构build存储基础架构。 如果您使用光纤通道或ATAoE,技术将会改变,但主要概念将是相同的。

有用的networking资源:
[1] http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-iscsi-howto.html
[2] http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding
[3] http://en.wikipedia.org/wiki/Link_aggregation
[4] http://sources.redhat.com/lvm2/wiki/MultipathUsageGuide

我将打开这个每个人都可以编辑。