个人开发者用一台树莓派搭建私有云盘(Nextcloud),有哪些存储方案与避坑经验?
兄弟们,好久没吹水了。今天聊点实在的——树莓派搭私有云盘。你说花几百块买个树莓派,再配个硬盘,就能拥有自己的“小百度网盘”,听着是不是挺带劲?但别急着下单,我先泼盆冷水:这玩意儿要是没弄好,三天两头崩,比隔壁老王还让人头疼。今天我就把这两年踩过的坑、试过的存储方案,摊开来跟你唠唠。
一、存储方案:别把鸡蛋放一个篮子里
先说存储,这是云盘的灵魂。树莓派的存储方案就那么几种,但坑深浅不一。
方案1:SD卡直装(最省钱,但最坑)
很多新手直接插个32G TF卡,系统(Raspberry Pi OS)和Nextcloud都装在上头。刚开始速度还行,一两个月后,恭喜你,喜提“I/O错误”大礼包。为啥?SD卡那读写寿命,真扛不住数据库的频繁写入。就像让一个瘦子干搬砖的活,迟早累趴。我第一台就是这么废的,照片全丢,还好有备份。
方案2:USB外接机械硬盘(性价比之选)
外接一个2.5寸移动硬盘(注意要独立供电,或者用树莓派4的USB3.0口带小电流的盘),把Nextcloud的数据目录挂载到硬盘上。系统还是放SD卡,但数据库和文件存储都挪到硬盘。好处是容量大、便宜,1TB一百多块。坏处是机械硬盘的寻道时间慢,多用户同时写小文件时,你会感觉界面卡到像在等98年的拨号上网。建议搭配一个缓存层,比如把数据库路径放内存卡(用性能好点的A2卡),文件放硬盘。
方案3:SSD + USB转接(一步到位)
树莓派4的USB3.0接口理论速度能到5Gbps,配个SATA SSD(比如1T的普通2.5寸固态),体验直接起飞。我后来换了三星的870 EVO(别问为什么选它,因为当时打折),用绿联的USB3.0转接器。Nextcloud的加载速度从秒级变成毫秒级,同步几百张照片也不卡了。缺点是成本翻倍,但绝对值得。注意:树莓派USB口总电流有限,SSD最好用独立供电的USB hub,否则可能掉盘。
方案4:NAS网络挂载(进阶玩法)
如果家里已经有群晖或者威联通,可以用NFS分一块空间给树莓派。树莓派运行Nextcloud,但数据直接写NAS。好处是数据安全(NAS做RAID备份),坏处是性能受网络影响,局域网千兆勉强够用。别用WIFI,一定得是有线连接,否则延迟感人。
二、避坑经验:那些无数人倒下过的地方
坑1:供电不足
树莓派官方说5V/3A,但很多充电头虚标。接了外接硬盘后突然自动重启,十有八九是供电问题。我血的教训是用小米5V/2A充手机的头子,结果硬盘写入时树莓派直接"休克"。换了个官方27W电源(虽然大材小用)才稳了。建议直接买树莓派原装电源,或者质量好的5V/3A适配器,而且别省那根USB-C线,用带e-mark芯片的。
坑2:散热(别让你的派煎蛋)
树莓派4跑Nextcloud,尤其是php-fpm进程多的时候,CPU可以飙到70℃+。你没看错,热保护降频后,云盘速度比蜗牛还慢。我最早用了个小铝片散热,夏天房间没空调,开机二十分钟就烫手。后来买了带风扇的铝合金外壳(那种带Turbo散热片的),配合主动散热,温度压在45℃以下。提醒一下:如果用风扇,记得买静音的,否则夜里嗡嗡响,老婆会骂你装了个服务器在书房。
坑3:Nextcloud的数据库和缓存优化
默认安装的Nextcloud,用的SQLite数据库,并发一多就崩。一定要换成MySQL/MariaDB,怎么装网上教程一堆。另外,必须装Redis做文件锁定和缓存,否则上传大文件时经常“504 Gateway Timeout”。我当初没装Redis,同步一个500M视频卡到怀疑人生,装了之后立竿见影。
坑4:备份是第一生产力
树莓派的SD卡或硬盘随时可能挂。我养成了每周自动备份Nextcloud的配置文件和数据目录到另一块硬盘(同机) + 远程rsync到另一台机器。用crontab + duplicity脚本,30分钟搞定。不要相信“树莓派很稳不会坏”,我用了半年废掉两张SD卡。重要资料务必异地备份。
三、最后说两句
树莓派搭Nextcloud确实好玩,也真能用——我现在自己手机上用Nextcloud自动备份照片,公司里同事用WebDAV共享图纸。但你要是想当主力网盘给全家用,我劝你三思。如果只是自己折腾,花个三四百(树莓派4B 4G版+二手小SSD)就能得到一个轻量私有云,性价比极高。至于具体用什么方案,看你的钱包和耐心。
对了,最近发现一个网站 itfangan.com,上面汇总了不少类似的折腾方案,从树莓派到低功耗X86都有,懒得一个个扒论坛的兄弟可以直接去翻翻。反正我以后装东西前会先去那儿扫一眼,能省不少时间。
就这样吧,老铁们有啥踩坑经历,欢迎评论区补刀!