Total Pageviews

Thursday, 13 June 2024

使用Proxmox搭建家用NAS服务器


一、先说说我对该NAS服务器的需求:

  • 大容量、稳定可靠、体积小巧、不能太耗电
  • 有wifi模块,可以安装软路由代替路由器
  • 可以很方便地远程访问、包括远程下载等等
  • 能将网站放上去
  • 放一些24小时跑的程序。如爬虫、frp、ddns、内网纯净DNS、透明代理网关等等
  • 有于还有其他乱七八糟的需求,所以还要能做宿主机

综上,说是NAS,不如说是一台超大容量的家用私有云服务器

二、再谈谈硬件:

经过一番比较考量,最终选择了如下配置(说实话1W+软妹币还是有点儿肉痛的):

配件 型号 价格
主板 华擎Z370M-ITX/ac 859
CPU qn8j(i7 8700T es) 890
硬盘(仓库盘) 酷狼8T*6 1556*6
机箱 某宝不知名机箱(六盘位的蜗牛星际?) 365.7
电源 台达1U 400W 全模组 233.5
内存 DDR4骇客神条8G*2 光威悍将16G*2 410 398
固态(系统盘、虚拟机盘) Flashwar SSD W300 240GB 光威骁将1TB 拆机 726

主板带有千兆双网卡、由于成本和需求原因,并没有上万兆网卡。
注意:这上面有几个坑,首先是主板带双频无线模块,但是用的是Intel AC 3168模块,这货,啊,5G频段被锁,开不了5G热点,只能用2.4频段,当路由器开热点最高带宽只有72Mbps,连起别的5G热点来倒是不成问题(要你何用!)。其次是我组的NAS机运行一星期左右就会hang死一次(2020年以来好像消停了,不清楚是不是内核的bug),主板和主流消费级Intel CPU都不支持ECC内存,因此也不清楚到底是哪里的问题,毕竟CPU、内存、固态都有可能是元凶,等有机会了再升级排除一下。

三、接下来说说系统和raid的选择

raid的选择: raid嘛,想了解的自行百度,这里不再解释,只是有几点儿需要注意:

  • 最常见的raid5在非NAS专用(如希捷的酷狼、西数的红盘)的消费级硬盘上使用非常危险,一旦坏了一块儿盘,换盘重建raid的过程有很大概率失败导致数据丢失
  • raidz,扩容比较折腾,其他的方面都算是比较优秀的。raidz扩容方案:整套更换升级/再建一组/销毁重建,而这三种方式都很扯淡。比如发现5块盘不够用想要加一块硬盘在线扩容,对不起,不行。

本来我是购买了5块硬盘的,考虑到上面问题后最终选择了再买一块儿组raidz,raidz属于软raid的一种,依赖于操作系统的支持,Linux上也有其实现——ZFS on Linux(非内核实现)

系统选择:既然选择当宿主机使用,那么可选择的系统就没那么多了,无非也就ESXi、Proxmox VE、Hyper-V…… 因为之前实习的公司用的是Proxmox VE,加上这货既支持KVM全虚拟化,又支持LXC容器(轻量级内核虚拟化技术、没有虚拟内核的开销,性能和效率要比KVM好很多很多,我实际用的时候只有LXC容器无法满足运行环境的东西,我才会放到虚拟机里跑,比如软路由、Win10等)。遂选定了Proxmox VE作为基础系统。

然后再说NAS系统,既然选择了Proxmox作为基础系统,那么就可以为NAS选一个更专业的系统,最初选择了虚拟一个freenas虚拟机,硬盘直通给虚拟机使用,搭建成功后建立了raidz1(raidz1允许坏一个盘)并移入了几个T的数据、但是在一次系统hang死强行断电后,freenas里面存储池损坏,刚好有两块盘状态为UNAVAIL(天要亡我!),两个盘的分区表损坏掉了,花了几天时间各种尝试去恢复都失败了,最终丢失5.5TB的数据,有了这次教训后估计我这辈子都不会在虚拟机里面折腾软raid了吧。最终删掉了freenas虚拟机,在宿主机上用Proxmox自带的zfs功能再次创建了存储池,至此再未出过问题。

四、开始注入灵魂:


 

红色虚线括起来的指的是物理硬件设备,绿色虚线括起来的指的是虚拟机,打了10000要了公网IP,做好映射美滋滋,说一说我都在NAS服务器上跑了哪些服务和虚拟机吧:

  • 先说说宿主机,文件共享暂时只使用了smb(cifs)和http,六块机械硬盘还是很费电的,硬盘用不着的时候手动休眠;虚拟机是在LVM-thin分区,定期trim整理碎片,虚拟机只占用实际用掉的空间,240GB的SSD挤一挤还是够用的;系统盘和仓库盘完全是分开的,可以方便地将系统盘整个dd备份到仓库盘的文件中,日常备份用的是快照+文件备份结合;开热点用的是宿主机上的hostapd(没尝试PCI直通给LEDE),设置下无线网卡MAC地址还可以实现钉钉打卡;再配置下WOL远程唤醒台式电脑,可以说只要NAS不挂掉,在哪都能远程访问到家里的所有设备了
  • LEDE软路由(主路由),用的是KoolShare上带有软件中心的LEDE固件,固件还是有很多问题的,QOS限速功能烂到没法用,当然也可以选择高恪、iKuai、RouterOS、pfSense等等。端口映射、KMS、网络唤醒啥的交给它就完事儿了,从此路由器光荣下岗。
  • Win10虚拟机,在没必要开台式电脑的情况下远程,毕竟实体机更费电不是,除此之外就是挂下载了,主板的USB接口PCI直通给了虚拟机里的Win10,NAS上的U盘啥的可以在虚拟机里面直接识别。这里也有一个坑,PCI直通核显能成功,但是试了许多方法,接HDMI、DP都无输出(没有VGA和显示器,没试),如果显示器也能通该多好啊,UHD 630核显打个LOL还是没啥问题的,最重要的是,我现在的台式电脑是不是可以闲鱼出掉了?
    2020年6月8日更新:因主板A1内存槽损坏,被迫将NAS迁移到自己的台式电脑上,为了正常使用虚拟机玩游戏学习,实现了GTX 1060 6GB显卡的虚拟机直通并成功点亮了显示器。
    2020年2月13日更新新玩法:腾讯xx游戏极速下载器能够免费提升部分地区电信/联通宽带最高到500Mbps下行(我这边最终测试只能提到100Mbps下行),遂在上面跑了一个下载器并将其限速1kbps/s以实现单纯的提速效果,下载完成一个LOL要4个多月……(PS:抓包也可以拿到提速接口的调用方法,之后就可以在各种平台上进行提速,但是可能会失效需要更新,我比较懒,直接用的懒人方法)
  • WEB:上面跑了nginx、php-fpm、mariadb、leanote、mongodb、frpc、frps、ddns等,ddns我用的是Dynu和DuckDNS(Dynu的TTL最低30秒,DuckDNS的TTL最低60秒,两者均可通过crontab+curl/wget实现每分钟自动更新IP)
  • Gateway(旁路由,说是旁,但是大部分时间连的都是这个,汗):开了三个LXC小鸡,分别跑了ss-redir、v2ray、l2tp透明代理网关,全部都是依赖于CN地址段进行的代理。还有一个Overture纯净DNS
  • Spider:跑一些合规的爬虫,谁说爬虫就违法了,你敢一棒子打死说百度违法?
  • Anyconnect:这个是主要是给国外用苹果的朋友回国和偶尔自己需要用到家里局域网环境时用的
其他的,好像也没啥了吧.

No comments:

Post a Comment