选择困难症患者的纠结网络部署记录

WechatIMG207最近快要搬家了,也开始准备一些新家用的东西,装修什么的都是千篇一律,好像能自己全权决定的也就是全屋网络部分了。

起先一直想干脆上全万兆网络吧,然而,一估价就劝退了。虽然可能短期内万兆网普及不了,那做好准备至少是可以的吧。。。买了一卷华为的Cat6A工程线埋在了屋子里,至少以后升级时候不会为了换线而发愁了(事实也证明可能是因为有些过梁的地方用了黄腊管的关系,埋进去的线以后也几乎不可能再抽动了)。

接下来的东西似乎就很复杂了,简单归纳一下

接入网络选择、门口-机柜端选择、机柜内架构选择、无线网络选择

接入网络方面,以100Mbps接入为参照。发现除了移动电信外还可以接入本地传统运营商品牌珠江宽频,似乎也能弥补没有联通资源的劣势,不过同轴线网络的串扰似乎会产生高ping值的问题,值得考虑,珠江宽频价格约为1600/2年,包括电视接入,折合每年的价格大概是800元/年;电信方面,似乎是因为位处老旧城区的原因,经查询可以办理99/月的高流失地区优惠套餐,折合每年的价格大概是1188元/年;移动方面,因为原本用的不是移动的电话卡,没法直接升级0元送宽带的活动,要办理的话按照融合套餐计算大概是68元/月,折合约828元/年。(这样对于一个选择困难症来说就很纠结了(啊,真是全都想要

门口到机柜的这一段现在一共是埋了两条光纤一条网线三条线路(似乎正好可以满足三种网络接入方式全都要的条件,我真是个小机灵鬼),电信、移动都是光纤入户,珠江宽频可以在门口由cable猫由同轴转为网线进入储藏间机柜。那么这样一来就很尴尬了,都可以实现,最后的决定就需要我来做了。

机柜内部的选择其实之前已经有一个大体的架构,首先是从咸鱼120块+90运费捡来的垃圾42U两米60*60网络机柜,从全屋各处接来的网线(客厅电视墙3吊顶AP2+主卧2+次卧(书房)2+门口走廊吊顶AP1+门口入户1+门口入户2光纤)共11根Cat6A和2根光纤SC汇聚到机柜上方16位配线架处,之前已经购买了矿难讯的 FS3526x 24口1G + 2口SFP+10G交换机并且受不了噪音换了Nidec的静音风扇。辗转买了HP Prodesk 400 G1 SFF(主板不支持VT-d所以后来拿来做台式机用了) 和 Lenovo ThinkStation P300 SFF(除了硬盘位少了点只有一个3.5以外还真是一台不错的可以用来做Server的小机器,现暂时闲置,待以后看情况再起用为另一台Homelab使用)之后还是买了台机房下架的机架式Dell PoeweEdge R210 II服务器来装ESXi,从光猫(或cable猫)过来的网线连入两个RJ45口直通给RouterOS当网络接入层的软路由使用、爱国服务和Homelab的其他东西通过内部的vSwitch接入网络后vSwitch通过一根10G光纤直通线连接到交换机的SFP+端口,这台可以放进网络机柜的小机器还是蛮惹人爱的,自带两个3.5寸硬盘位也可以简单的做成一个2盘位Nas做些简单的数据服务。

无线方面,选择了ubnt全家桶:Unifi US-8-60W PoE交换机 + Unifi UC-CK 混合云设备管理器 + Unifi UAP-AC-nanoHD + Unifi UAP-AC-PRO 组成了覆盖全屋的5G(平常设备使用)和2.4G(智能家庭设备使用)无线网络。

关于R210还可以多说点

这台机器虽然已经算是服务器中比较安静的类型了,但是平常的待机风扇转速也依然在5000rpm,在还没搬家前放在出租屋里的情况下1米外还有40+db还是有些吵的,经过在网上多方查找发现可以通过IPMI控制到主机的硬件,于是在ESXi里的Debian上使用网上抄来的脚本加上自己的修改用cron任务实现了半自动化的风扇控制。因为这台机好像无法通过IPMI读到CPU温度,只好通过板载的环境温度传感器温度来进行判断。

命令方面

首先使用

ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD raw 0x30 0x30 0x01 0x00

开启手动设定风扇转速功能,

然后再用

ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD raw 0x30 0x30 0x02 0xff $STATICSPEEDBASE16

调整风扇转速百分比(从0%~100% 共 101 档对应 16 进制 0x00~0x64)

R210 II 原装风扇最高转速 18000rpm 对应 16 进制 0x64;最低允许转速 1800(最接近 2000 rpm) 对应 0x0b

再用cron任务每2~5分钟执行脚本就可以傻瓜式实现风扇调速啦(如果温度超过设定的阈值就会关闭手动设定速度让机器自己决定风扇转速以实现快速降温)

脚本如下。

Dell_ipmi_silent_fan_speed_control.sh

#!/bin/bash
#
# crontab -l > mycron
# echo "#" >> mycron
# echo "# At every 2nd minute" >> mycron
# echo "*/2 * * * * /bin/bash /scripts/dell_ipmi_fan_control.sh >> /tmp/cron.log" >> mycron
# crontab mycron
# rm mycron
# chmod +x /scripts/dell_ipmi_fan_control.sh
#
DATE=$(date +%Y-%m-%d--%H:%M:%S)
echo "" && echo ""
echo "$DATE"
#
IDRACIP="<iDRAC-IP>"
IDRACUSER="<iDRAC-USER>"
IDRACPASSWORD="<iDRAC-PASSWORD>"
STATICSPEEDBASE16="0x0f"
SENSORNAME="Ambient"
TEMPTHRESHOLD="29"
#
#T=$(ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD sdr type temperature | grep $SENSORNAME | cut -d"|" -f5 | cut -d" " -f2)
T=$(ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD sdr type temperature | grep $SENSORNAME | cut -d"|" -f5 | cut -d" " -f2 | grep -v "Disabled")
echo "-- server current ambient temperature --"
echo " $T℃" && echo ""
#
if [[ $T > $TEMPTHRESHOLD ]]
then
echo "--> enabling dynamic fan control..." && echo ""
ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD raw 0x30 0x30 0x01 0x01
echo "" && echo " Done." && echo ""
else
echo "--> disabling dynamic fan control..."
ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD raw 0x30 0x30 0x01 0x00
echo "--> setting static fan speed @ 2000RPM..." && echo ""
ipmitool -I lanplus -H $IDRACIP -U $IDRACUSER -P $IDRACPASSWORD raw 0x30 0x30 0x02 0xff $STATICSPEEDBASE16
echo "" && echo " Done." && echo ""
fi

现在计划中的网络状况就是这样了,未来搬家以后也许还会有些根据实际情况进行的改变,就等到时候再发文吧~