HomeLab后续

买的服务器到了,开始折腾。

首先说一下我实际买到的这台RH2285H V2与我所想的差距(不同的点):

  • 1、没有Riser卡。主板上只有一个用来插Riser卡的非常见插槽(估计是私有协议)和两个PCIE 4X插槽。由于2U高度限制,只能垂直插入半高的拓展卡。
  • 2、没有后置硬盘背板。结果是原本可以直接安装在后面的2.5寸SSD系统盘只好放到了前面,不仅要占用一个前置3.5寸硬盘位,还要购买3.5转2.5的硬盘架。好处是不安装硬盘背板,就只需要安装3个风扇模块,噪音低了不少。
  • 3、显示芯片似乎有问题。这台服务器采用的是Silicon Motion SM750,有16M显存,支持2D图形加速。可是我在网上翻了个遍也没找到这东西在Windows下的驱动(官网也没)。最后只好花了10块钱在某网站下载了同款显卡在RH2288H V3上的驱动。可是我一安装上驱动就卡死了。不过只是本地显示画面的卡死。我可以使用Windows的RDP正常远程操作。而imana显示的画面也是卡死的。重启之后,就直接卡死在了Windows LOGO界面,不过RDP却还是可以正常进系统。最后我又重装试了几遍,都是这样。
  • 4、关机状态下的功耗有些大。有50W,有点超出预料。不过装满7块硬盘开机之后空载功耗只有110W,满载功耗160W。由于主板上有一个8pin的供电输出。所以应该可以加一块显卡。(电源是460W,不过可以换成960W的)

之后就是一些软件上的问题了。我在服务器主机上加了7块硬盘,安装了Jellyfin这个流媒体服务端程序,在虚拟机里安装了DHCP\DNS(用域名管理局域网内的服务)和用来反代Jellyfin、Steam社区、Pixiv、Google等网站的Nginx(Jellyfin默认带了一个端口)。另一台Ubuntu虚拟机用来签发证书。

HomeLab搭建计划

前言:为了让我在读取各个硬盘中的文件时不必连接那么多的线,也为了让我处理一些平常不用但又及其占用空间的专业软件,我决定搭建一台homelab。我之前看过网上许多关于homelab和家庭服务器的文章,但是都和我的需求有一些偏差,所以这次就按照自己的要求写一个简要的计划。

需求分析:

首先说一下我的周边环境,毕竟网络环境什么的达不到弄个Homelab也是白搭。

  • 放置场所:由于刚好我们宿舍只用3个人,空出的一个位置可以放服务器。在家里的话,服务器可以放在客厅电视柜下面。
  • 路由器:宿舍使用的是网件4300v3,全千兆网口。家里使用的是网件7000并且已刷梅林。
  • 交换机:家里和宿舍目前都没有买交换机。我准备买水星的8口千兆交换机(因为最便宜)。如果以后负载多了再升级。
  • 机柜:这个目前还没考虑过,万一以后需要买了,还是放家里吧,目前看中了某宝上一款900多,36U高,1000深的机柜。
  • 局域网设备:宿舍里是4台电脑(1台式2笔记本1二合一),6部手机,1部平板电脑。家里是2台电脑(1笔记本1台式),4部手机,3部平板,1颗监控摄像头。
  • ISP:宿舍目前使用的是移动100M,没有外网IP和IPV6。家里使用的是电信100M,没有外网IP,但是有IPV6。由于我不需要在外面访问服务器,所以这里只是提一下,这一项主要影响我的资源下载速度。

接下来就是硬件需求了。

1、存储:在这之前,我已经有许多块不同品牌,不同容量的硬盘了,共同的是,它们都使用Windows支持的文件系统。由于我腾不出太多钱来买统一规格的硬盘。所以自然会放弃那些基于非NTFS文件系统的存储方案,所以一开始就只有Windows平台可选了。并且要有足够的硬盘位(8个或更多)来放这些硬盘。

2、性能:我准备将自己电脑上安装的部分专业软件及测试平台转移到服务器上,所以性能的要求不能太低,至少要4C8T以上的CPU和8GB起步的内存,并且能扩展5根或更多的DIMM。ATOM和ARM平台(例如树莓派)只好被排除。

3、噪音及功耗:由于使用场景主要是家庭或宿舍等生活场景,所以我对所选平台的噪音及功耗控制有一定要求。噪音方面要求能够隔一堵墙听不出来,或者在同一个屋子里戴耳塞能解决(40db左右)。功耗则要求最大小于200W 。

4、便携性:这其实是一个“不能算需求的需求”。虽然我需要在家和学校件不断往返,但是服务器这种东西是不会轻易去动的。顶多寒暑假搬一下。

针对我的需求,我给出了以下的方案:

硬件部分:

  • 机箱:采用华为RH2285H V2准系统,12个3.5前置硬盘位,2个后置2.5寸硬盘位。2U高度,支持安装到机柜。
  • 主板:采用准系统自带的主板,C602芯片组,支持2个LGA1567接口(E5-24XX/E5-24XX V2),12个DIMM插槽,最大支持384GB DDR3/DDR3L REG ECC内存。5个PCIEx8,1个PCIEx16插槽。支持2/4个千兆网口或2个光网口。支持华为的iMana远程管理系统。
  • CPU:E5-2430L,6C12T,SNB架构的低功耗E5。性能够用还节能,后续可以考虑上V2。
  • 内存:很早以前用在某X79板子上的三星16G DDR3 REG RCC 2R*4 1600。低频无所谓,只要容量够。反正我运行的程序对内存频率要求不高。
  • 硬盘:用我之前淘汰下来的intel 80G SSD来做系统盘(刚好放在机箱后面的2.5硬盘位上)。前面板主要放仓库盘。
  • 显卡:服务器不需要这东西,虽然这台服务器准系统可以通过一些特殊的方法装上,但是没必要。只是管理的话,板载显卡足以应付。
  • 键盘鼠标:淘宝上19.9包邮的键鼠套装。
  • 显示器:之前在某个角落里发现的768P显示器。

接下来就是购买配件并且组装测试了。不过在那之前需要先准备系统和相关软件。

  • 系统软件:Windows Server 2019 Datacenter版,装在80G SSD里。
  • 虚拟机:原本考虑过Hyper-V,但是由于兼容性/推广不够(主要是各个游戏服务端只提供VM的虚拟机),所以只好改用VMware Workstation。
  • 压缩软件:使用7z 64位版,体积小,功能全。
  • 网络服务:像DNS,DHCP,部署服务之类的,可以使用Windows Server自带的服务来解决。不过如果条件允许,我会尽量安装虚拟机来解决。
  • 文件存储及共享:不是非常重要的数据,我不打算使用Windows自带的存储池。使用硬盘直通+SMB共享即可。不过由于部分设备只支持SMB1.0,所以还要将这个功能打开。
  • Web服务:IIS+PHP(CGI方式),把我之前的图片站移到上面去。
  • 证书服务:Windows自带的证书服务相当好用,不过我之前是用Ubuntu+OpenSSL来颁发证书的,所以我还是准备使用OpenSSL,至于基础的Ubuntu OS,扔到虚拟机里就好了,列为可选。
  • 浏览器:服务器一般不需要浏览网页,不过为了保险,装个Chrome吧。
  • 文本编辑:Notpad++,免费又好用。
  • 数据库:我不会安装专用的数据库软件,有必要时会使用临时的绿色程式,可能的话这种容易出错的东西还是尽量用虚拟机,列为可选。
  • 下载软件:迅雷极速版和百度网盘。这似乎听起来很搞笑,但是现在只有这两个软件能正常地下载资源了。提一下,百度网盘要开会员,迅雷极速版要设置禁止升级迅雷X。
  • VPN:这是主要让我方便在外面访问家里资源的,使用windows自带的服务,列为可选。
  • DDNS:配合VPN使用,目前还在思考要不要在阿里云注册个域名来弄这个。不过目前只能用IPV6了,列为可选。

下面如果没有问题,应该就是等待配件到手,进行组装与配置了。

在Windows上安装Chevereto来管理本机图片

最近状态很不好,与我上一次出去做的学校的社会实践有点关系。

正好趁着暑假,整理一下我自己的电脑。之前从P站之类的地方获得了大量的插画和同人CG,当然,也有我自己从一些游戏里面提取的CG。这些图片分散在电脑硬盘的各个角落,很难整理,我索性在本地建立了一个Chevereto站点来存放这些图片。

基本环境是IIS10+PHP7.3+MySQL8.0。其实把Chevereto搭载在Windows平台上不是一个好的选择。下面我来说一下遇到过的障碍。

1、MySQL 8的安装

MySQL在5.7之后在安装过程中都会生成一个随机密码,而这个密码会被记录在data目录下的一个.err文件中。

2、PHP安装MySQL扩展

因为PHP7已经不在自带MySQL扩展插件,当然你可以选择MySQLi。不过这样就要改动网站程序,所以自己从网上下了一个mysql.so放在了ext目录,然后通过修改php.ini让这个扩展生效。

3、PHP7.3″Continue”警告

PHP7.3会对PHP代码中的continue提出warning,最好的方法是用break或continue 2代替。

4、IIS10复写问题

微软推出的复写模块2.0不支持IIS10,需要在注册表里把版本号改成9,安装完再改回来。另外,Chevereto的rewrite默认是Apache格式,需要自行修改。不过我在Chevereto的官方论坛里拿到了web.config里的复写规则。

5、Chevereto上传图片失败问题

我发现,上传BMP格式的图片必然失败,同时也会导致其他同时上传的图片也上传失败。而且这种失败还会引起FastCGI进程占用的内存急剧增大,最多的时候甚至一个进程就占用我2.5G内存,而总共有5个进程。所以我去PHP.ini里延长了最大执行时间和超时时间,同时放宽了内存限制和执行空间大小限制。其他图片就没有出现过上传失败的情况。至于BMP图片,我决定先转换成PNG格式再上传。

当然,还有一些像汉化上的小问题呀就自己修正了。这个翻译,问题还是真的比较多。

最后,是我这几天努力整理的成果

关于Vultr VPS不能访问Pixiv的说明

有不少人私底下问我这个问题。

其实并不是Vultr连不上Pixiv的服务器,而是之前有一段时间,有人拿Vultr的VPS爬虫,而且正好去爬了P站,所以P站就屏蔽了Vultr。至于是根据IP地址屏蔽的还是AS号屏蔽的我不清楚。

离这件事发生已经过了很长的时间,如果是根据IP地址,那么Vultr新的IP段应该已经可以看P站了(避开老的10X和45段)。如果P站是根据AS号屏蔽的,那么无解。就算你修改VPS的hosts也没用。


解决办法:
1、使用其他的VPS搭建扶墙服务来访问Pixiv。
2、在本地使用Nginx搭建反代服务来访问P站。(教程
3、使用在线代理服务来访问P站。(教程)(相当容易被封)
4、修改Hosts来访问P站。(已失效)
5、使用第三方DNS(例如Pure DNS)来访问P站。 (大部分失效或安全得不到保障)