Bra*_*rad 6 raid iscsi lvm mdadm multipath
我有兴趣使用以下技术在 Linux 上手动运行 SAN 解决方案:
在硬件方面,我正在考虑在目标和启动器上具有多个 gigE NIC 的 2 x gigE(或更好)交换机。
人们对如何在理想情况下在完全 n+1(最小)冗余的假设下进行配置有什么建议?
另外,我是否需要在 iSCSI“结构”中间设置一组聚合器主机?像这样的东西:
目标(使用 mdadm)<-gigE-> 聚合主机(lvm)<-gigE-> 发起者
或者最好做这样的事情:
目标(无镜像) <-gigE-> 聚合器主机 (mdadm) <-gigE-> 启动器 (lvm)
有很多方法可以设计这个,我很想知道其他人在做类似的事情时可能有什么经验?
SAN 将用于 VMware 映像和通用文件服务(以及一些数据库,如果可行)。
这是一个非常主观的问题,很大程度上取决于您想要完成的任务。
此外,您提出了一些相当低级的问题,这让我相信您以前没有在这个领域工作过,这没关系,我们都从零开始,然后从那里升级。
鉴于这两个观察结果,我建议您从小事做起,然后逐步提高。
[1] 首先从位于不同主机上的 iSCSI 启动器(客户端)和 iSCSI 目标(服务器)开始。它们可以是直通电缆,也可以通过交换机,此时这并不重要。玩一会儿这个。添加更多目标,从 clinet 上的 iSCSI 目标创建 mdadm raid(如果现在所有 iSCSI 目标都来自一个轴,请不要担心)。然后开始在客户端上使用 LVM。创建多个PV,将它们添加到VG中,然后创建LV。扩大你的LV。创建 LV 的快照镜像。
真正深入研究 LVM,它将是您所做的其他所有事情的关键。
接下来添加第二个 iSCSI 目标服务器。我还建议此时购买一个支持 LACP 和一些管理的像样的交换机。Procurve 1800 系列交换机是一个很好的底端,Cisco SG-300 也是如此。交换机管理和功能稍后将变得更加重要,但现在投资它们是一个好主意。此时,对于两台 iSCSI 目标服务器,您将需要泡沫冲洗,重复您在拥有一台服务器时所做的操作。如果您确实想获得更多乐趣,请添加第二个启动器,并让它挂载相同的 iSCSI 目标。当您尝试让两个系统写入同一个 EXT3 卷时会发生什么?将您的卷转换为 GFS 之类的东西(涉及更多内容,但这是目前的目标)。现在,当两个主机写入同一卷时会发生什么?
现在让我们为所有客户端添加两个网卡。现在您需要了解网络绑定[2]。有哪些不同的模式,它们有何不同。在连接的每一端运行一些带宽测量工具,用各种绑定模式淹没链路。当混合模式导致两端不匹配时会发生什么?当您使用与 LACP 兼容的模式并且您的交换机配置为执行 LACP[3] 时会发生什么?重复您在上述存储方面所做的操作,然后用泡沫冲洗。
从绑定接口中删除您的接口。为目标服务器上的每个接口分配一个唯一的 IP。确保您的目标服务器将通过每个接口共享其 iSCSI 目标。现在使用两个不同的 IP 地址挂载您的 iSCSI 目标。当你给每个人写信时会发生什么?现在配置多路径 [4],并使用它一段时间。关闭目标服务器的 NIC 之一(如果关闭设备,请移除电缆等),您在日志中看到什么?性能如何提高/降低?
现在添加第二个网络交换机。您可以将网络接口加倍,也可以将它们拆分到交换机上。您应该使用哪种绑定模式?两个交换机之间应该有链接吗?需要启用STP吗?
现在你的学习已经接近尾声,已经接近了师徒的水平。你并不知道一切,但你比大多数人有更好的理解基础。从这里您将更好地了解如何构建存储基础架构。如果您使用光纤通道或 ATAoE,该技术将会发生变化,但主要概念是相同的。
有用的网络资源:
[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
我将把它开放给每个人都可以编辑。