amano512 发表于 2020-1-1 15:42:21

我的家庭freenas存储和服务器3 不用交换机实现5台机器万兆...

上不上万兆我也考虑了好久,确实一般家庭应用诸如照片/视频存储播放,文件读写,游戏串流,千兆基本够用了,而且千兆交换机即使是傻瓜式几十块钱的批量小包转发性能也足够了。像我现在用的主路由器新路由3,才100多一点,刷了openwrt,基本功能够用,配合一个铁壳杂牌网管型8口千兆交换机,连接7,8台电脑同时千兆小包转发性能完全能胜任。

一段时间内我都觉得也许万兆没必要,不过当我在升级到freenas需要转移数据的时候发现,千兆转移几十个t的数据得好几天,而且中途还不能出现意外情况,如果要是万兆的话,哪怕只能保持半万兆的速度,也可以节省将近5倍的时间,比如原来需要拷贝转移5天的时间,1天就可以完成,需要1天的,可能5/6个小时就可以搞定,这对我来说还是很有吸引力的,将来随着4k视频拍摄越来越多,一旦发生数据需要转移的时候,千兆就不够了,再加上实现万兆的话,还可以折腾其他的比如无盘系统,游戏串流等好玩有意思的东西,于是定下来搞个万兆局域网。

首先面临的第一个问题就是,万兆网卡很贵,万兆交换机就更贵,选原厂全新的就不在预算范围内了(我最开始设计的是5台机器万兆局域网,总成本不超过5000),而万兆方案又分光口和电口,现在家庭宽带已经升级到千兆了,光纤直接入户,好像是家庭也要往光方向发展,于是乎最开始我的方案是倾向于光口,但是逛了几圈某宝和某鱼后,得到以下信息:
便宜的光口网卡在前一段时间已经抢购一空了,比如百元的Mellanox,现在的至少200起步,而芯片的电口网卡只稍微再贵100左右,光口的还需要配光模块或者直连线,这又是一笔开支,算上这些和电口网卡价格就差不多了,选电口的话家里已有的6类线可以直接用,而且走线方便。

便宜的光口万兆交换机确实有不少,找到一个达创24口全万兆交换机,只要1100,可以刷dell的系统,还有4个10gb电口,这个看起来也很不错,但是查了下型号和生产日期,设备老旧,芯片制程很低,发热量和功耗感人,虽然不再强调绝对静音,但是在家里放个飞机场还是受不了,当然我也可以考虑进行散热改造,但是我想了下那个散热的成本估计得上千,这个钱不如直接上电口万兆交换机。

电口交换机适合我的有网件的x505m和x508m,一个5口一个8口,8口价格只比5口贵一点,但是国行太贵了要近7000,海淘的话3000不到但是不好保修,某鱼上有一个m4300 24口卖6000,但这个制程有点老噪音特别大。一时间方案很难敲定下来。

总结下来,我的需求大概是这样的
1.使用电口,光口虽然便宜,但是家用的趋势应该还是电口,以前千兆也是这样发展过来的,而且intel等现在开始推2.5g民用电口网卡,逐步过渡到5g,10g
2.交换机要尽量低功耗静音,按照目前的芯片工艺,估计8口以上的都会很吵,自己改装散热到是可以,但费用很高,而且很可能拆机后无保修。
3.8口看起来可以满足需求,但我选方案一般都会留点余地,最好16口,价格就太感人了,不提了。

这样看下来好像上光口交换机费用可以接受,但是噪音无法接受,上电口交换机费用无法接受,而且噪音不一定控制得好,家里空间小,放个飞机场家人邻居肯定要发飙的。

那我只好把眼光投向我们最开始玩电脑联网打红警的方案了,直连,对,就是两台电脑直接用网线连起来,不用交换机。以前做网线的时候还分直连线和交换线,这个搞网络的朋友们应该知道,现在都可以通用了,而且我买的都是成品线,应该没问题的。
但是直连只能两台电脑连接,我想实现5台电脑之间万兆直连怎么办?

我想到了这么几个办法:

1.每台电脑需要连接4台电脑,那么每台电脑得有4个万兆网口,也就是双口网卡配两个,那么一共要买10块双口网卡,这个方案怎么一看起来就很傻,哪有这样玩得,虽然理论上是行的,但是首先万兆网卡一般都是pcie2.0 x8,也有pcie3.0x4的,一般主板和cpu没有那么多pcie槽,有的话pcie通道也不够,再次就是网络怎么配置,想想就很复杂,而且问题肯定很多,所以直接就否了。

2.一台主电脑(这里叫做S)做网络中转,其他四台(这里叫做A/B/C/D)连到这台电脑上,这样可以把保证A/B/C/D和S之间互访肯定没有问题,那么A/B/C/D之间互联怎么办?这里我又想到了有两种办法
a.S-A,S-B,S-C,S-D,这四个连接之间每个连接设置为一个网段,然后再电脑S上配置静态路由,保证A的包经过S可以跳转到B/C/D去,同理B/C/D经过设置之后也可以分别跳到其他电脑。

b.利用网桥功能,再S主机上将四个网口绑定成一个网桥,这个网桥就是一个早期二级交换机的原型,具有mac地址自学习功能,这样我们不用做静态路由,也可以实现A/B/C/D/S之间两两互联了,当然数据交换性能和专用交换机还是没得比,但是能满足我当前的需求。

最终方案如下:
一共5台机器,homeserver,pc机,freenasA/B/C,A为主力存储,配置性能和稳定性最好,也是24小时开机,机器插槽充足,可以满足作为网桥宿主机。不论是交换机方案还是直连方案,每台机器至少配一块万兆网卡,由于万兆电口都是双口起步,所以再买一张给A,这样A就有4个口,只需要再增加约350块就可以实现简单的交换机功能,还是挺划算的。

配置如下:
freenasA:超微X540-t2 2块,无风扇静音版
freenasB/C:BCM 57840 各1块
homeserver:silicom x540-t2 1块
pc:BCM 57810 1块

配置方案:
由于网桥配置不属于freenas系统必要的需求,所以再web界面是无法配置的,只能登陆命令行解决,流程是这样的:
1.首先检查网卡信息
# ifconfig
   命令用途:可以列出所有网络设备信息
   我这里列出的4个电口设别分别叫做:ix0,ix1,ix2,ix3

2.创建网桥
#ifconfig bridge
命令用途:创建一个虚拟网桥设备
我这里创建完毕了会显示一个叫做bridge0的虚拟网桥设备
bridge0

3.将待绑定的网卡设备添加到网桥设备
#ifconfig bridge0 addm ix0 addm ix1 addm ix2 addm ix3 up
这里解释一下,bridge0就是待添加设备的网桥,addm是添加网卡的命令,ix0是网卡名称,最后一个up是激活网络设备并生效
注意每个单词之间要有一个空格
如果命令成功不会有任何提示,直接进行下一步激活每个网卡

4.分别激活每个绑定后的电口网卡,一共4个
#ifconfig ix0 up
#ifconfig ix1 up
#ifconfig ix2 up
#ifconfig ix3 up
很简单,每个命令对应一个网卡,然后通过up命令激活设备并立即生效

5.最后给网桥指定一个固定ip地址
#ifconfig bridge0 inet 192.168.98.10/24
inet是指internet ipv4地址格式,后面是ip地址和子网掩码,可以根据每个人的实际情况指定
一切生效之后可以通过ifconfig bridge0查看网桥信息

6.查看网桥信息
#ifconfig bridge0
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    ether 02:f2:b5:70:29:00
    inet 192.168.98.10 netmask 0xffffff00 broadcast 192.168.98.255
    nd6 options=9<PERFORMNUD,IFDISABLED>
    groups: bridge
    id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
    maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
    root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
    member: ix3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 4 priority 128 path cost 2000
    member: ix2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 3 priority 128 path cost 2000
    member: ix1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 2 priority 128 path cost 2000
    member: ix0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
            ifmaxaddr 0 port 1 priority 128 path cost 2000

这是我配置好的网桥信息,一切都已经准备就绪。

之后就是配置其他4台机器的IP地址了,这里就不叙述了,可以按照各自的实际情况配置,我可以给出我的配置

freenasA:192.168.98.10
freenasB: 192.168.98.20
freenasC: 192.168.98.30
homeserver:192.168.98.50
pc:192.168.98.100

最后利用iperf3测试,每台机器都可以点对点通信,并且测速能跑到9Gb/s,拷贝大文件4块 ssd raid0情况下在800MB/S,5块酷狼4T raidz情况下400-500MB/S,完全满足我的要求了。

总结一下,我主要是用来进行大块数据拷贝时使用万兆网络,如果应用场景时小包大量并发我会直接走千兆网络,千兆交换机完全能胜任,大量小包走这种x86系列网桥交换估计性能会很垃圾的,等到万兆电口有成熟家用产品时我再考虑替换。
这是我的网络拓扑图
http://www.gebi1.com/forum.php?mod=image&aid=109782&size=300x300&key=5880c892d4bb14f9&nocache=yes&type=fixnone


zipoff 发表于 2020-1-1 19:29:17

兄弟,可以考虑一下这种直观简洁的方案!


amano512 发表于 2020-1-1 20:42:37

zipoff 发表于 2020-1-1 19:29
兄弟,可以考虑一下这种直观简洁的方案!

交换机当然简单啊,我现在不想上交换机

xfc913 发表于 2020-1-2 02:43:16

都是大佬,我还在折腾千兆,感觉够用了

nokia5310 发表于 2020-1-5 20:58:51

楼主是需要万兆时在启用万兆网卡(激活或者插网线平时拔线),平时使用千兆网络么?

ffeng 发表于 2020-1-6 11:21:54

才一年不到,我还在为千兆奋斗时,兄弟们已经开始万兆了,看来生活不学习,不折腾是不行的了。

amano512 发表于 2020-1-8 09:01:08

nokia5310 发表于 2020-1-5 20:58
楼主是需要万兆时在启用万兆网卡(激活或者插网线平时拔线),平时使用千兆网络么? ...

不是啊,万兆千兆一直都处于活动状态,需要拷贝大文件时走万兆网段,平常上网走千兆网段

watter 发表于 2020-3-22 18:20:11

兄弟,搞个软路由啊,装个四口万兆网卡直通软路由,相当于路由加交换机功能了
页: [1]
查看完整版本: 我的家庭freenas存储和服务器3 不用交换机实现5台机器万兆...